ShaderLab和CG/HLSL的一些数据类型归纳
来源:互联网 发布:国内英文域名 编辑:程序博客网 时间:2024/05/29 09:37
1、ShaderLab和CG变量的匹配关系
ShaderLab属性类型CG变量类型Color, Vectorfloat4, half4, fixed4Range, Floatfloat, half, fixed2Dsampler2DCubesamplerCube3Dsampler3D2、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_POSITIONCOLOR0通常用于输出第一组顶点颜色,但不是必需的COLOR1通常用于输出第二组顶点颜色,但不是必需的TEXCOORD0~TEXCOORD7通常用于输出纹理坐标,但不是必需的阅读全文
1 0
- ShaderLab和CG/HLSL的一些数据类型归纳
- Unity Shader 学习笔记(2)Shader、ShaderLab、Cg/HLSL/GLSL
- HLSL/CG里的Mul参数顺序
- Unity Shader - 属性定义 ShaderLab : Properties 和 CG 属性
- HLSL的一些见解
- HLSL/GLSL/Cg
- 【Unity Shader】Unity提供的CG/HLSL语义
- 数据类型的归纳
- JNI的数据类型归纳
- GLSL vs HLSL vs Cg
- cg数据类型
- CG 数据类型
- CG数据类型
- Cg入门2:profile和基本数据类型
- Cg入门3:数据类型和swizzle操作
- log4j 的 一些归纳
- Visual Studio 2008/2010的一个GLSL, HLSL, Cg语法加亮插件-NShader
- HLSL GLSL CG着色语言比较
- 什么是H.265编解码器和H.265优于H.264的优势?
- Python中文乱码问题原理解释
- JAVA JDK1.5-1.9新特性
- [python爬虫]--爬取豆瓣音乐topX
- MySQL 5.5 Command Line Client 打开出现闪退(错误)的解决办法
- ShaderLab和CG/HLSL的一些数据类型归纳
- 字符串转ASC
- 精卫之家
- AngularJS——ui-router详解
- poj 2750 Potted Flower(线段树)
- Android WebView 参数设置明细!
- Git之集中式vs分布式
- Git 工作区和缓存区
- JS函数式编程