顶点、片段着色器

当使用顶点和片段程序时,显卡的不部分硬编码功能(固定功能管线)关闭。例如使用一个顶点程序完全可以做到关闭标准的3D变换,灯光和纹理坐标的功能。使用一个片段程序可以替换任何纹理混合模式

编写顶点和片段程序需要对3D变换,照明和坐标空间有透彻的了解

一般情况下,CG片段放在通道中

pass

{

CGPROGRAM

#pragma  vertex  vert

#pragma fragment  frag


;

'

ENDCG

}

完整例子

Shader“Normal”

SubShader

{

Pass

{

CGPROGRAM

#pragma  vertex  vert

#pragma fragment  frag

#include"UnityCG.cginc"

struct v2f

{

float4 pos:SV_POSITION;

float3 color :COLOR;

};

v2f vert(appdata_base v)

{

v2f o;

o.pos=mul(UNITY_MATRIX_MVP,v.vertex);

c.color=v.normal*0.5+0.5;

return o;

}

}

half 4 frag (v2f i):COLOR

{

return half4(i.color,1);

}

ENDCG

}

FallBack "VertexLit"

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值