sampler2D、sampler3D与samplerCUBE
纹理,默认情况下在移动平台纹理会被自动转换成低精度的纹理类型,如果你需要中精度的或者高精度的需要用以下方式来声明:
sampler2D_half(中精度2D纹理)
sampler2D_float(高精度2D纹理)
sampler3D_half(中精度3D纹理)
sampler3D_float(高精度3D纹理)
samplerCUBE_halft(中精度立方体纹理)
samplerCUBE_float(高精度立方体纹理)
语义的作用:当应用阶段的数据传过来时,计算机根据语义标识的变量来传递数据
语义:
(顶点着色器)
float4 vertex : POSITION; //顶点
float4 tangent : TANGENT; //切线
float3 normal : NORMAL; //法线
float4 texcoord : TEXCOORD0; //UV1
float4 texcoord1 : TEXCOORD1; //UV2
float4 texcoord2 : TEXCOORD2; //UV3
float4 texcoord3 : TEXCOORD3; //UV4
fixed4 color : COLOR; //顶点色
(顶点着色器到片段着色器)
float4 pos:SV_POSITION;
TEXCOORD0~N系列:TEXCOORD0、TEXCOORD1、TEXCOORD2…等等,主要用于高精度数据。
COLOR0~N系列:COLOR0、COLOR1、COLOR2…等等,主要用于低精度数据。
虽然这两种语义我们可以根据需要自由定义,但是,它并不是可以无限定义的,不同的GPU硬件
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交