基础图形管线
概述
灰色的部分就是完整的pipeline

Modeling是在pipeline之前,在CPU中对图形做预处理
- 规定vertices和attributes
- 对顶点做预剔除
在Vertex Processing中,最基础的就是做model-view-projection,如果需要就要做lighting computation或者计算texture coordinates
以下是第一和第二阶段的详细过程

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

分为line clipping 和 polygon clipping
line clipping
line clipping就是把直线砍掉。我们避免求交,因为求交需要用除法,比较昂贵
在2D情况下,Cohen-Sutherland的算法做了分类讨论
分为四种
- 线两端两个点都在范围内,则保留
- 一点在volumn内,另一点不在,需要求交一次
- 两点都在同一条边外面,舍弃
- 两点在不同的边外面,需要求交一次


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

三维同理

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

可以用AABB来预处理一下
Back-face Culling
back-face culling就是把眼睛看不到的部分除去


浙公网安备 33010602011771号