基础图形管线

概述

灰色的部分就是完整的pipeline

image

Modeling是在pipeline之前,在CPU中对图形做预处理

  1. 规定vertices和attributes
  2. 对顶点做预剔除

在Vertex Processing中,最基础的就是做model-view-projection,如果需要就要做lighting computation或者计算texture coordinates

以下是第一和第二阶段的详细过程
image

Clipping

在pipeline第二阶段,需要做clipping,也就是把在视锥体view volumn外的物体砍掉,节省渲染资源
image

分为line clipping 和 polygon clipping

line clipping

line clipping就是把直线砍掉。我们避免求交,因为求交需要用除法,比较昂贵
在2D情况下,Cohen-Sutherland的算法做了分类讨论
分为四种

  1. 线两端两个点都在范围内,则保留
  2. 一点在volumn内,另一点不在,需要求交一次
  3. 两点都在同一条边外面,舍弃
  4. 两点在不同的边外面,需要求交一次

image
image

对每个点可以做一个参数化,用一串二进制数来表示,方便讨论,对不同情况做不同处理
image

三维同理
image

polygon clipping

对于polygon clipping
二维基本思想如下,三维的就加上两个面
image

可以用AABB来预处理一下

Back-face Culling

back-face culling就是把眼睛看不到的部分除去
image

posted @ 2022-07-14 11:58  wcvanvan  阅读(68)  评论(0)    收藏  举报