ShaderLab基础(阴影面剔除)
来源:互联网 发布:linux的java环境变量 编辑:程序博客网 时间:2024/05/02 17:14
在上二节学习了subshader的Tags,这一节将会对CommonState进行学习Commonstate包含许多命令,在后面的课程里主要是针对阴影面剔除,Ztest,alpha test,alphalblend命令进行学习,这节将会对阴影面剔除经行学习。
打开场景1.scene,在这个场景里有一个cube物体,这个cube物体是六面体。一共有6个面,每个面有2个三角形,一共12个三角形。然后运行场景如下图所示:
从上面图应该知道,其实在渲染时候只需要渲染这个面就可以了,其他面没必要进行渲染,这样就可以提高渲染效率。如何实现呢?
1.可以通过命令Cull Back | Front| Off来实现。物体是由三角面组成的,这些三角面要么正面要么朝向摄像机。要么背对摄像机。场景中的立方体,有5个面背对摄像机,1个面面对摄像机。Back这个参数是默认参数,表示渲染的时候剔除背对摄像机的三角面,front表示剔除面对摄像机的三角面,off是关掉剔除,面对摄像机的三角面和背对摄像机的三角面都渲染。接下来修改shader,代码如下:
运行程序,运行效果如下:
发现物体的渲染效果没什么改变,那是因为Back这个参数是默认参数。
,接下来将代码中的back改为front,运行程序效果如下:
背对摄像机的5个面都渲染处理了。如果是cull off这六个面都会渲染。
上一节 ShaderLab基础(RenderType标签)
下一节ShaderLab基础(深度测试)
Unity 开发交流QQ群:528152133
0 0
- ShaderLab基础(阴影面剔除)
- shaderlab 基础
- [UnityShader2]ShaderLab基础
- ShaderLab基础一
- ShaderLab基础(属性)
- ShaderLab基础(SubShader)
- ShaderLab基础(渲染管线)
- ShaderLab基础(Queue标签)
- ShaderLab基础(RenderType标签)
- ShaderLab基础(深度测试)
- ShaderLab基础(Pass定义)
- ShaderLab基础语法
- 面剔除 Face Culling
- ShaderLab基础(Hello world 程序)
- OpenGL核心技术之面剔除
- [Unity3D]Shader学习笔记之ShaderLab基础
- 计算用于阴影剔除的包围体(shadow culling volume)
- [未完成]对于渲染阴影场景的unitcube剔除方法
- java获取时间的格式
- ajax跨域解决方案以及spring mvc中的支持
- 基于MVC,实现简单的书籍信息管理,其中,模型 (M) 采用一般的JavaBean、视图 (V)采用JSP、控制 (C) 采用Servlet实现。另外,对于视图部分的JSP中,需要提供两种版本,即一般
- 【Android】Android.mk与Application.mk官网讲解
- 链表排序--冒泡法
- ShaderLab基础(阴影面剔除)
- JVM内存管理及GC机制
- sparksql 过滤出null值
- error: src refspec origin does not match any.问题解决
- list管理对象
- 欢迎使用CSDN-markdown编辑器
- 判断这是一年的第几天
- Android内存管理优化建议
- UML中关联和依赖的区别收集大全