unity shader 固定管线实例(四) 渲染不一样的背面

shader中可以通过Cull ,决定渲染前面,后面。例如


演示如下:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值