码迷,mamicode.com
首页 > 其他好文 > 详细

ShaderLab和CG/HLSL的一些数据类型归纳(转)

时间:2020-07-04 01:01:17      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:sam   article   观察   orm   归一化   detail   pos   base   关系   

1、ShaderLab和CG变量的匹配关系
 
ShaderLab属性类型     CG变量类型
Color, Vector       float4, half4, fixed4
Range, Float       float, half, fixed
2D                       sampler2D
Cube                   samplerCube
3D                       sampler3D

2、UnityCG的一些常用结构体
 
名称           描述        包含变量
appdata_base  顶点着色器的输入   顶点位置、顶点法线、第一组纹理坐标
appdata_tan   顶点着色器的输入     顶点位置、顶点切线、顶点法线、第一组纹理坐标
appdata_full  顶点着色器的输入    顶点位置、顶点切线、顶点法线、四组(或更多)纹理坐标
appdata_img  顶点着色器的输入   顶点位置、第一组纹理坐标
v2f_img  顶点着色器的输出 裁剪空间中的位置、纹理坐标
 
3、UnityCG的一些常用工具函数
 
函数名         描述
float3 WorldSpaceViewDir(float4 v)      输入一个模型空间中的顶点位置,返回世界空间中从该点到摄像机的观察方向
float3 ObjSpaceViewDir(float4 v)         输入一个模型空间中的顶点位置,返回模型空间中从该点到摄像机的观察方向
float3 WorldSpaceLightDir(float4 v)     输入一个模型空间中的顶点位置,返回世界空间中从该点到光源的光照方向,没有被归一化。仅可用于前向渲染中。
float3 ObjSpaceLightDir(float4 v)         输入一个模型空间中的顶点位置,返回世界空间中从该点到光源的光照方向,没有被归一化。仅可用于前向渲染中。
float3 UnityObjectToWorldNormal(float3 norm)     把法线方向从模型空间转换到世界空间中。
float3 UnityObjectToWorldDir(in float3 dir)            把方向矢量从模型空间变换到世界空间中。
float3 UnityWorldToObjectDir(float3 dir)                把方向矢量从世界空间变换到模型空间中。
 
4、顶点着色器输入数据的语义(Unity所支持的)
 
语义  描述
POSITION          模型空间中的顶点位置,通常是float4类型
NORMAL            顶点法线,通常是float3类型
TANGENT          顶点切线,通常是float4类型
TEXCOORDn     该顶点的纹理坐标,TEXCOORD0表示第一组纹理坐标,以此类推。通常是float2或者float4类型
COLOR              顶点颜色,通常是fixed4或者float4类型
 
5、顶点着色器的输出数据的语义(Unity所支持的)
 
语义   描述
SV_POSITION   裁剪空间中的顶点坐标,结构体中必须包含一个用该语义修饰的变量。等同于DX9中的POSITION,但最好使用SV_POSITION
COLOR0            通常用于输出第一组顶点颜色,但不是必需的
COLOR1            通常用于输出第二组顶点颜色,但不是必需的
TEXCOORD0~TEXCOORD7      通常用于输出纹理坐标,但不是必需的
 
 
原文:https://blog.csdn.net/u012689623/article/details/73249904?utm_source=blogxgwz8

ShaderLab和CG/HLSL的一些数据类型归纳(转)

标签:sam   article   观察   orm   归一化   detail   pos   base   关系   

原文地址:https://www.cnblogs.com/Roz-001/p/13233299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!