三维渲染

三维图形渲染管线

三维图形渲染管线就是将三维场景转化为一幅二维图像的过程。

图像中物体所处位置及外形由其几何数据和摄像机的位置共同决定,物体外表是受到其材质属性、光源、纹理及着色模型所影响。

三维图形渲染管线

管线过程由3个大的阶段组成:
三维图形渲染管线

Application(应用程序阶段):运行在CPU上,能被开发者完全控制,该过程所做操作包括:

① 准备场景数据
a. 加载模型:Mesh、Material、Shader、Texture(硬盘 --> 内存 --> 显存)
b. 摄像机(位置、朝向、视锥体)

三维渲染中的裁剪总汇

裁剪是个很大的概念,裁剪包括了视锥体裁剪(应用程序阶段)、视口裁剪(图元装配——几何阶段的最后一步)、背面剔除(光栅化阶段)、遮挡剔除(光栅化阶段)。

小结:OpenGL提供了对三维物体的绘制方式有哪些?

• 网格线绘图方式(wireframe)
这种方式仅绘制三维物体的网格轮廓线。

• 深度优先网格线绘图方式(depth_cued)
用网格线方式绘图,增加模拟人眼看物体一样,远处的物体比近处的物体要暗些。

• 反走样网格线绘图方式(antialiased)
用网格线方式绘图,绘图时采用反走样技术以减少图形线条的参差不齐。

• 平面消隐绘图方式(flat_shade)
对模型的隐藏面进行消隐,对模型的平面单元按光照程度进行着色但不进行光滑处理。

• 光滑消隐绘图方式(smooth_shade)
对模型进行消隐按光照渲染着色的过程中再进行光滑处理,这种方式更接近于现实。

• 加阴影和纹理的绘图方式(shadows、textures)
在模型表面贴上纹理甚至于加上光照阴影,使得三维景观象照片一样。

(OpenGL ES)俗人解读三维渲染的工作过程

三维渲染:
1、先有几何体坐标传入 GPU;
2、再有贴图加载;
3、同时提供纹理坐标;
4、按纹理坐标,从贴图上截剪一部分,贴到几何体特定位置;
5、贴好图之后,按预定的视角,渲染成图片返回给 CPU;

糊灯笼:
1、先扎灯笼骨架;
2、再找来彩纸;
3、比量好尺寸;
4、从彩纸上,按比量好的尺寸剪下来需要的大小,糊到灯笼架的特定位置;
5、全糊好后,摆个角度,拍张照片,贴到网上,开始卖灯笼喽

-----------------------
续:
灯笼扎的再好看,还是得摆在仓库里,太占地方啦,门店再大,也架不住这个摆。
所以,没办法,只能拍照片,然后把照片挂在店里,供顾客选择,最多多拍几个角度的。
随需要,随拍,随往上补充。

三维渲染,最终也是形成二维图像,为啥?
电视不都有 3D 功能了吗?......!

这里得澄清一下, 3D功能使用的还是 2D 的图像,只不过是两个角度的图像进行重叠显示,这样就模拟人的两只眼是从不同角度看一个物体,交叉后确定一点这个道理。最终还是二维图像。

确实,没看到,谁家的电视是立体的凸凹不平的,那样才是纯正的 3D吧!

结果,是一样一样的,因为实体是立体的,人眼所看到的也永远是左右眼的两个平面图像的组合。

同步内容
--电子创新网--
粤ICP备12070055号