在Unity3D中的渲染优化-优化Shader
来源:互联网 发布:全知叙述视角范文 编辑:程序博客网 时间:2024/05/02 01:16
1.使用Shader中的LOD技术
Shader的LOD技术可以控制使用的Shader等级,原理是,只有Shader的值小于某个设定的值,这个Shader才会被使用,而使用了那些超过设定值的Shader的物体将不会被渲染执行。
例如,我们通常会在SubShader中使用类似下面的语句来指明该Shader的LOD值:
SubShader{
Tags{"RenderType" = "Opaque"}
LOD 200
}
我们也可以在Unity Shader的导入面板上看到该Shader的LOD值。在默认情况下,允许的LOD等级是无限大的。这意味着,任何被当前显卡支持的Shader都可以被使用。但是,在某些情况下需要去掉一些有复杂计算的Shade渲染。这时可以使用Shader.maximumLOD或Shader.globalMaximumLOD来设置允许的最大LOD值。
Unity内置的Shader使用了不同的LOD值(Diffuse使用的LOD为200,Bumped Specular的LOD为400)。
2.优化shader的代码
(1)如果可以,尽可能将一些计算放到顶点着色器中进行
(2)在片元着色器中尽可能使用低精度的浮点值进行计算
(3)在使用插值寄存器把数据从顶点着色器传递给下一阶段时,避免使用过多的插值寄存器。
(4)尽可能不要使用分支语句和循环语句
(5)尽可能不要使用discard操作,因为这会影响硬件的某些优化
(6)对于全屏的屏幕后期处理效果来说,尽量把多个特效合并到一个Shader中。例如,哦我们可以把颜色校正和添加噪声等屏幕特效在Bloom特效的最后一个Pass中进行合成。
阅读全文
0 0
- 在Unity3D中的渲染优化-优化Shader
- 在Unity3D中的渲染优化-批处理技术
- 在Unity3D中的渲染优化-优化贴图纹理
- 在Unity3D中的渲染优化-Drawcall的概念
- unity shader:渲染优化
- Unity3D渲染优化技巧
- 在Unity3D中的渲染优化-减少需要处理的顶点数目
- 在Unity3D中的渲染优化-减少需要处理的片元数目
- [Unity3D]图形渲染优化、渲染管线优化、图形性能优化
- [Unity3D]图形渲染优化、渲染管线优化、图形性能优化
- Unity3D:图形渲染优化、渲染管线优化、图形性能优化
- [Unity3D]图形渲染优化、渲染管线优化、图形性能优化
- [Unity3D]图形渲染优化、渲染管线优化、图形性能优化
- [Unity3D]图形渲染优化、渲染管线优化、图形性能优化
- Unity3D中的shader渲染通道基础知识
- 【优化】Unity3D图形渲染优化、渲染管线优化、图形性能优化
- Unity3D - 图形性能优化:渲染统计窗口
- Unity3D - 图形性能优化:渲染统计窗口
- 在Unity3D中的渲染优化-批处理技术
- 在Unity3D中的渲染优化-减少需要处理的顶点数目
- Wdf框架:FxDriverEntry----驱动程序的入口函数
- 在Unity3D中的渲染优化-减少需要处理的片元数目
- 在Unity3D中的渲染优化-优化贴图纹理
- 在Unity3D中的渲染优化-优化Shader
- GAN眼中的图像翻译(附神奇歌单)
- LeetCode.735 Asteriod Collision
- Unity3D中的深度纹理和法线纹理
- CNN调参笔记
- C++primer[习题][第三章][31-45]
- 优化
- Ajax
- “深度学习”和“多层神经网络”的区别