unity shader 固定管线实例(四) 渲染不一样的背面
2016-02-18 09:32
507 查看
shader中可以通过Cull ,决定渲染前面,后面。例如
演示如下:
第一个pass,正常渲染,第二个pass,在基于前面的pass基础之上继续渲染,(注意这里没有剔除front的数据,并且添加了back的蓝色数据,和之前的pass数据相加)
参考 摘录
http://blog.csdn.net/poem_qianmo/article/details/41923661
演示如下:
Shader "基础/渲染不一样的背面" { //-------------------------------【属性】--------------------------------------- Properties { _Color ("主颜色", Color) = (1,1,1,0) _SpecColor ("高光颜色", Color) = (1,1,1,1) _Emission ("光泽颜色", Color) = (0,0,0,0) _Shininess ("光泽度", Range (0.01, 1)) = 0.7 _MainTex ("基础纹理 (RGB)-透明度(A)", 2D) = "white" {} } //--------------------------------【子着色器】-------------------------------- SubShader { //---------------------------【通道一】------------------------------ // 说明:绘制对象的前面部分,使用简单的白色材质,并应用主纹理 //---------------------------------------------------------------------- Pass { //【1】设置顶点光照 Material { Diffuse [_Color] Ambient [_Color] Shininess [_Shininess] Specular [_SpecColor] Emission [_Emission] } //【2】开启光照 Lighting On // 【3】将顶点颜色混合上纹理 SetTexture [_MainTex] { Combine Primary * Texture } } //--------------------------【通道二】------------------------------- // 说明:采用亮蓝色来渲染背面 //---------------------------------------------------------------------- Pass { Color (0,0,1,1) Cull Front } } }
第一个pass,正常渲染,第二个pass,在基于前面的pass基础之上继续渲染,(注意这里没有剔除front的数据,并且添加了back的蓝色数据,和之前的pass数据相加)
参考 摘录
http://blog.csdn.net/poem_qianmo/article/details/41923661
相关文章推荐
- unity shader 固定管线实例(三) 光照 自发光混合 纹理混合
- [Unity3D]C# 调用C++ DLL
- unity, standard shader消耗两个draw call
- Unity知识二:显示和隐藏游戏对象
- 使用MonoBehaviour创建xml文件
- Unity知识一:简单的点击事件
- unity3D中使用Socket进行数据通信
- unity3D中使用Socket进行数据通信(二)
- 初识Unity
- Unity全景项目经验Q&A
- Unity中预览lua脚本
- Unity3d 纠正上一篇协程讲解的错误
- Unity_UGUI判断鼠标或者手指是否点击在UI上(三)
- Unity_UGUI研究院之UI的深度学习(二)
- Unity3d中语音识别遇到的哪些事
- Unity 相关经典博客资源总结(持续更新)
- Unity是怎样实现Bloom Image Effect的
- Unity_UGUI学习图集与使用(一)
- 【Unity】怎么强制指定父节点
- 关于unity3d分享功能之ShareSDK的研究续二