Action disabled: source

Accessing shader properties in Cg

쉐이더는 그것의 속성을 Properties 블럭에 선언합니다. 사용자가 Cg shader program에서 그러한 속성들에 접근하기를 원한다면 사용자는 같은 이름과 매칭 타입으로 Cg 변수들을 선언할 필요가 있습니다. 하나의 예가 Shader Tutorial: Vertex and Fragment Programs에서 제공됩니다.

예를 들어 이러한 쉐이더 속성들:

_MyColor ("Some Color", Color) = (1,1,1,1) 
_MyVector ("Some Vector", Vector) = (0,0,0,0) 
_MyFloat ("My float", Float) = 0.5 
_MyTexture ("Texture", 2D) = "white" {} 
_MyCubemap ("Cubemap", CUBE) = "" {} 

Cg에서 다음처럼 접근을 위해 선언될 것입니다:

float4 _MyColor;
float4 _MyVector;
float _MyFloat; 
sampler2D _MyTexture;
samplerCUBE _MyCubemap;

Cg는 또한 uniform 키워드를 허용할 수 있으나 반드시 필요하지는 않습니다:

uniform float4 _MyColor;

ShaderLab에서의 속성 타입은 Cg 변수 타입으로 이런 방법으로 매핑됩니다:

  • 색과 벡터 속성은 float4 변수들로 매핑됩니다.
  • 범위와 Float 속성은 float 변수들로 매핑됩니다.
  • 텍스쳐 속성들은 보통의(2D) 텍스쳐를 위해서 sampler2D 변수들로 매핑합니다. CUBE 와 RECT 텍스쳐는 samplerCUBEsamplerRECT 변수들로 각각 매핑됩니다.

역링크