码迷,mamicode.com
首页 > 其他好文 > 详细

【图形学】图形管道

时间:2014-07-29 11:13:06      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   os   io   for   代码   

  多数渲染系统有极大的共性,图形管道伪代码可以说明带有光照的单个图象的渲染过程,这样会对渲染过程有一个整体认识。

图形管道伪代码  

 1 //设置场景:渲染的出发点——视点,输出——视图,设置光照和雾化
 2 //设置观察场景的方式——摄像机
 3 setupTheCamera();
 4 //清除深度缓冲
 5 clearZBuffer();
 6 //设置光源和雾化
 7 setGlobalLightingAndFog();
 8 //得到可见物体列表
 9 visibleObjList = visibleDetermination(scene);
10 //开始渲染
11 for (obj in visibleObjList) {
12     //使用包围体执行VSD检测
13     if (!obj.isBoundingVisible()) continue;
14     trimesh = obj.getGeometry();
15     for (triangle in trimesh){
16         //变换顶点到裁剪空间,执行顶点级别光照
17         clipSpaceTriangle = transformAndLighting(triangle);
18         //背面剔除
19         if (clipSpaceTriangle.isBackFacing()) continue;
20         //视锥体裁剪
21         clippedTriangle = clipToViewVolume(clipSpaceTriangle);
22         if (clippedTriangle.isEmpty()) continue;
23         //三角形投影至屏幕坐标,并且光栅化
24         clippedTriangle.projectToScreenSpace();
25         for (pixel in triangle) {
26             //插值颜色,z-Buffer和纹理纹理映射坐标
27             //执行z-Buffer和alpha检测
28             if (!zbufferTest()) continue;
29             if (!alphaTest()) continue;
30             //像素着色
31             color = shadePixel();
32             //写内容到帧缓冲区
33             writePixel(color, interpolatedZ);
34         }
35     }    
36 }

 

【图形学】图形管道,布布扣,bubuko.com

【图形学】图形管道

标签:style   blog   color   使用   os   io   for   代码   

原文地址:http://www.cnblogs.com/liustdelphi/p/3874026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!