栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity渲染管线详解

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity渲染管线详解

1.UnityBuild-in渲染管线

当双摄像机的时候,注意Camera中的Clear Flags 和 Depth。

其中Clear Flags在摄像机在渲染时,会进行清屏的操作。选择skybox是除了天空盒都会被清除。

Depth数值越小越先被渲染。

层级剔除:culing mask选择被剔除的层级

2.渲染队列

RenderQueue 越小越先被渲染。

不透明队列(RenderQueue < 2500) RenderQueue相同,按摄像机从前到后渲染。

半透明队列(RenderQueue > 2500) RenderQueue相同,按摄像机从后到前渲染。

3.CPU打包数据传GPU

SetPass Call:设置渲染状态(让GPU知道使用哪个shader,混合模式,背面剔除等)

Draw Call:让GPU知道使用哪个模型数据

顶点shader最基本要完成:将顶点坐标转换到裁剪空间(2x2x1的长方体cvv),投影成像。

片段shader:输出颜色值

GPU阶段:

背面剔除阶段:三角形的索引顺序是顺时针就是背面。逆时针是正面。

4.片元shader

纹理技术:

  1.纹理采样,纹理在计算机中就是数组的形式。eg:(纹理坐标u,v) = (0.5,0.5),那对应32x32的纹理就是:x = 32 * 0.5,y = 32*0.5(真实不是这样,简单这样理解)。纹理坐标是在建模软件中展uv得到。

当x = 0.4*32时就是12.8 如果采用4舍5入就可能会产生失真(明显锯齿状)解决看下方纹理过滤机制。

  2.纹理过滤机制:在Unity中Point就是4舍5入的方式,双线性插值,三线性插值。

    3.Mipmap:勾选即可Generate Mip Maps就可。

   4.纹理寻址模式

   5.纹理压缩格式

光照计算

光照分析:直接光漫反射(eg:phong光照模型)+直接光镜面反射(eg:GGX高光方程)+间接光漫反射(eg:球谐SH)+间接光镜面反射(eg:反射球,ibl技术)+More(更多的光照技术eg:环境遮挡AO,SSR屏幕空间反射,SSS次表面散射)。

 

5.输出合并

处理遮挡关系,处理半透明混合。Unity中有Z-Buffer和color-Buffer,Zwrite关闭了深度写入的物体不会被写入到Z-buffer中,但会被写入到color-Buffer中。

提前深度测试:Early-Z,在顶点着色器后发生。(是否支持与硬件有关)

混合:从后到前,关闭Zwrite。控制公式:

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900357.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号