图形从存储到显示, 需要经过表示, 编码和渲染.
所谓渲染, 说白了就是用平面真实的表现客观实体. 主要涉及投影, 透视, 光照, 底纹等技术.
1. 投影:
从对象到投影中心点 (观察者或称视点) 所有连线 (投影线) 与投影平面的交点集合构成了对象的投影.
1) 平行投影:
由于在工程制图和技术图纸中, 需要保持投影 (制图) 精确再现对象的各种参数, 比例, 位置, 故而多用平行投影 (尤其是正交投影).
2) 透视投影:
平行投影所反映的信息是忠于原对象的, 却缺乏真实感. 透视投影通过增强对象的远近, 大小, 明暗对比, 提高真实性.
灭点 (vanishing point): 用于确定对象的相对大小. 按灭点数目的不同将透视分为: 一点透视, 两点透视, 三点透视. 灭点的数目取决于对象的放置.
在直观上得到一个对象是几点透视的结论是简单的, 问题在于我们应该如何通过计算机实现透视投影. 如同对图形进行平移, 缩放, 旋转一样, 通过矩阵运算同样可以实现透视投影.
2. 渲染过程:
渲染过程也就是实现从现实空间到屏幕空间的转换的过程. 为了增强真实感, 对建立的几何模型除进行透视投影变换外, 通常还需要经过以下渲染: 背面消隐, 图形裁剪, 光照底纹.
1) 背面消隐: 当多边形几何法线与视点连线夹角超过90时, 表明该多边形远离视点, 可以剔除.
2) 图形裁剪: 将落在视口 (屏幕空间) 之外的对象 (整体或部分) 地区消除.
3) 光照: 光照在某种程度上决定渲染效果, 它是使对象呈现立体感和真实感的有效方法. 同时光照渲染也是计算量最大的操作之一. 因此在实际中往往要在速度和质量之间寻求平衡.
a) 光照类型: 直接 (接受发射光), 间接 (接受反射光).
b) 光源类型: 点光源 (太阳), 线光源 (日光灯), 面光源 (无影灯).
c) 反射类型: 漫反射 (非光滑表面), 镜面反射 (点光源, 抛光表面).
注意: 反射高光颜色和入射光颜色相同, 而非材质颜色. 对象表面越光滑, 能获得反射光的范围越小.
d) Phong光照模型 (1975, Phong Bui-Toung): 反射强度 . 为反射指数, 与对象表面光滑度成正比. Phong光照模型简单实用, 但也有一些缺陷: 光源仅假定为点光源且位于无限远处, 高光仅渲染为白色, 无生成阴影, 渲染精度不够高.
4) 底纹: 反射模型在对象表面的应用. 通常针对组成对象的多边形操作.
a) 平面底纹: 使用一个光照模型确定入射光强度值, 从而确定多边形颜色. 对于只有环境光或存在大量多边形的时候, 效果明显.
b) Gouraud内插底纹: 在各多边形依据扫描线算法使用多个底纹. 多边形内部各处颜色值由两个边界点内插决定.
c) Phong内插底纹: 利用多边形点的近似法向量确定像素亮度.