分享到:

郑州中视觉科技有限公司地产三维动画制作,三维影视,地产宣传片,以国际水准严格要求自己,以引领行业潮流为目标,以客户需求为创

联系资料

郑州中视觉科技有限公司
所在地区:
河南省 郑州市
公司主页:
暂无
电话号码:
0371*******
传真号码:
暂无
联 系 人:
程金锁
移动电话:
暂无
电子邮箱:
暂无

地产宣传片制作|三维图形渲染管线

发布于 2018年07月12日

[摘要]地产宣传片制作|三维图形渲染管线 三维图形渲染管线就是将三维场景转化为一幅二维图像的过程。 图像中物体所处位置及外形由其几何数据和摄像机的位置共同决定,物体外表是受到其材质属性、光源、纹理及着色模型所影响。
地产宣传片制作|三维图形渲染管线
三维图形渲染管线就是将三维场景转化为一幅二维图像的过程。

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

① 准备场景数据

  1. 加载模型:Mesh、Material、Shader、Texture(硬盘 --> 内存 --> 显存)

  2. 摄像机(位置、朝向、视锥体)

  3. 光源(位置、类型等参数信息)

② 裁剪和剔除 :视锥裁剪、背面剔除、遮挡剔除 (Occlusion Culling)

③ 计算模型视图矩阵

④ 设置渲染状态(RenderState)

渲染管线内部维护着一些状态值。在我们调用渲染API函数进行绘制之前我们需要设置这些状态值。

这些状态值指导GPU如何渲染我们传递到显存的模型和纹理数据。我们称这些状态值为“渲染状态(Render States) ”。

渲染状态包括Shader、Texture、Material、Light内部定义的各种状态等

最后,发起DrawCall调用

Geometry(几何阶段):负责与每个渲染图元打交道,进行逐顶点、逐多边形的操作。

其重要任务是把顶点坐标变换到带有深度的屏幕空间中,再交给光栅器进行处理。

可进一步分割成:模型视图变换,顶点着色,[曲面细分],[几何着色],投影,裁剪及屏幕映射

模型变换:将模型从模型空间变换到世界空间

视图变换:将各个模型从世界空间变换到眼空间(摄像机处于原点)

通常会把这两个变换矩阵结合成modelview矩阵,并将这个过程称之为模型视图变换

顶点着色器:主要功能是修改顶点属性。如:通过传入模型视图矩阵(MVP)进行顶点空间变换(位置属性)、逐顶点光照(颜色属性)、纹理坐标变换(uv属性)等

顶点着色器的处理单元是顶点,也就是说,输入进来的每个顶点都会调用一次顶点着色器。

顶点着色器只能对输入顶点的相关属性进行修改、创建和忽略,不可以创建或销毁任何顶点,而且无法得到顶点与顶点间的关系。

输入一般是一个变换矩阵和一个相对坐标;输出为眼空间中的坐标及每个顶点所附带的其他属性,如颜色、纹理坐标

曲面细分着色器:用于细分图元,分为3个阶段。

  1. Control Shader,负责把控后续阶段的初始化操作,例如细化程度(可编程)

  2. 处理Control阶段的输出,细化Patch数据(不可编程)

  3. Evaluation Shader的输入为Patch数据;输出数据为顶点着色器所应输出的数据,但是是批量的(可编程)

几何着色器:输入是1个图元,输出是N个图元(N>=0)

通过Shader程序可以指定Geometry Shader对顶点信息进行增减。还有,因为实际增减的是图元顶点,所以对各种的线段、多边形、粒子等图元也可以进行增减。

利用Geometry Shader的各种方法被创造出来,因为可以自由的生成多边形,那么就可以在地面上生长出草的多边形,或者让3D角色生长出毛发等是最基本的使用方法。

在游戏中,还可以把不需要做逻辑交互处理的例如火花等特效的表现,使用Geometry Shader来生成。

注:Geometry Shader通常是在display driver中实现的,也就是说其实是由CPU负责计算,当重新返回GPU的VS时,对流水线的影响很大,所以Geometry Shader的实际效能并不高,甚至是非常低

投影:分为透视投影与正交投影;在眼空间将模型从三维空间投影到二维平面(D3D投影平面为z=1.0,OpenGL为z=-1.0;为了便于理解,可将其定义为视景体近裁截面)

就找中视觉