2015-09-14 37 views
0

我写了多个fixed function Shaders。我注意到,只要着色器包含超过3个2D纹理,着色器就会中断并统一报告Material doesn't have a ... property对于每个属性...材质。例如:使用超过3个2D贴图时,“材质没有......属性”

Shader "Custom/JustAnotherShader" { 
    Properties{ 
     _MainTex("Base (RGB)", 2D) = "white" { } 
     _TexA("Another Texture", 2D) = "black" { } 
     _TexB("Yet Another Texture", 2D) = "" { } 
     _TexC("One More Another Texture", 2D) = "" { } 
    } 

    SubShader { 
     Pass { 
      SetTexture[_MainTex] { combine texture } 
      SetTexture[_TexA] { combine texture * previous } 
      SetTexture[_TexB] { combine texture + previous } 
      SetTexture[_TexC] { combine texture - previous } 
     } 
    } 

    Fallback Off 
} 

该代码会为_MainTex_TexA_TexB_TexC报告此错误。这似乎是一个错误。如何解决这个问题呢?

回答

0

完成了一些研究后,我现在可以得出结论,我正在使用的着色器编译目标不支持三个以上的纹理。 (不幸的是,我遗失了描述此限制的文档的链接。)

相关问题