Nul*_*ess 8 shader cg unity-game-engine unity5
我是着色器的新手,并一直在寻找Unity着色器属性的完整列表.我还没有找到任何此类文件.我发现的是SL-Properties.我在哪里可以找到完整的属性列表及其功能?
UPDATE
一个例子中给出SL-属性示出用于水着色即,属性的列表_WaveScale
,_Fresnel
,_BumpMap
等.了解这些特定属性可以更容易地找到解决方案.在我发现以下属性之前,我最近尝试编写类似于笔画的东西.
fixed _Stroke;
half4 _StrokeColor;
Run Code Online (Sandbox Code Playgroud)
Unity 有自己的着色器语法,称为ShaderLab。
\n\n有关它的所有必要信息都可以在此网站上找到。\n
至于属性,请查看此链接。
由于 nvidia不再支持CG,因此最新的 Unity 版本实际上使用HLSL编译器编译着色器,并将生成的字节码转换为 GLSL。\nCG 着色器代码继续工作,基本保持不变。现在,您可以使用 HLSL 语法来利用 CG 不支持的现代着色器功能,例如计算着色器和曲面细分。
\n\n例如这些着色器属性:
\n\n_MyColor ("Some Color", Color) = (1,1,1,1) \n_MyVector ("Some Vector", Vector) = (0,0,0,0)\n_MyRange ("My Range", Range (0, 1)) = 1\n_MyFloat ("My float", Float) = 0.5 \n_MyInt ("My Int", int) = 1 \n_MyTexture2D ("Texture2D", 2D) = "white" {} \n_MyTexture3D ("Texture3D", 3D) = "white" {}\n_MyCubemap ("Cubemap", CUBE) = "" {}\n
Run Code Online (Sandbox Code Playgroud)\n\n将在 Cg/HLSL 代码中声明为访问:
\n\nfixed4 _MyColor;\nfloat4 _MyVector;\nfloat _MyRange;\nfloat _MyFloat; \nint _MyInt;\nsampler2D _MyTexture2D;\nsampler3D _MyTexture3D;\nsamplerCUBE _MyCubemap;\n
Run Code Online (Sandbox Code Playgroud)\n\n
ShaderLab 中的属性类型以这种方式映射到 Cg/HLSL 变量类型:
\xe2\x80\xa2 Color 和 Vector 属性映射到float4、half4或fixed4变量。\n
\xe2\x80\xa2 Range 和 Float 属性映射到float、half或fixed变量。\n
\xe2\x80\xa2 纹理属性映射到常规(2D)纹理的sampler2D
变量。\n \xe2\x80\xa2 立方体贴图映射到samplerCUBE。\n
\xe2\x80\xa2 3D纹理映射到sampler3D。
归档时间: |
|
查看次数: |
6015 次 |
最近记录: |