Cg学习记录006 之变换

来源:互联网 发布:4glte是什么网络制式 编辑:程序博客网 时间:2024/06/05 07:52

 (以下内容纯属于个人在学习中为加深印象和以备以后复习之用的副产品)
引言
一、图形流水线棘手表示物体或场景的几何数据(通常在三维中),并从它生成一个二维图像。所谓几何数据是由应用程序提供的组成多边形、线段和点的一组顶点。
二、当几何数据流经流水线时,图形处理器的顶点处理器根据Cg顶点程序变换这些顶点到一个或多个不同的坐标系统。
三、顶点程序的主要任务是变换顶点位置。其他任务如光照及动画。

下图表现用于顶点处理的坐标系统和变换的过程

 

为上图中的各个概念一一备注如下:
物体空间:各个独立物体的物体空间是没有任何关系的。换句话说每个物体在各自独立的坐标系统中。
建模变换:通过旋转、平移和缩放将一个在物体空间中指定的物体放置到世界空间中。
世界空间:为场景中各个独立的物体提供一个绝对的参考。
视变换:从世界空间位置到眼空间位置的变换。
眼空间:在眼空间中通常眼睛位于坐标的原点,朝上是y轴的正方向,眼睛朝z轴负方向看。
投影变换:从眼空间到剪裁空间坐标的变换称为投影变换;它提供了从眼空间的可视区域(视线平截体)到包含剪裁空间的可视区域的剪裁空间轴对称立方体的映射。
剪裁空间:剪裁空间决定什么位置是在你最终要渲染得图像中可见的。
透视除法:用四元位置齐次坐标的w除x,y,z可完成。
标准设备空间:由透视除法得到的归一化的坐标位置空间即位标准设备空间。
视图变换:取每个顶点的标准化的设备坐标,把它们转换为使用像素度量x和y的最后的坐标系统。
深度范围变换:将定点的z值缩放到深度缓存的范围内以备使用。(scales the z value of the vertices into the range of the depth buffer for use in depth buffering.)

原创粉丝点击