본문으로 바로가기

Unity Bilboard shader

category Technical Report/R&D test 2017. 7. 13. 17:04
반응형


   Properties {


      _MainTex ("Texture Image", 2D) = "white" {}
      _ScaleX ("Scale X", Float) = 1.0
      _ScaleY ("Scale Y", Float) = 1.0


   }


   SubShader {
      Pass {  
         CGPROGRAM
 
         #pragma vertex vert 
         #pragma fragment frag

         // User-specified uniforms           
         uniform sampler2D _MainTex;       
         uniform float _ScaleX;
         uniform float _ScaleY;

         struct vertexInput {
            float4 vertex : POSITION;
            float4 tex : TEXCOORD0;
         };


         struct vertexOutput {
            float4 pos : SV_POSITION;
            float4 tex : TEXCOORD0;
         };
 
         vertexOutput vert(vertexInput input)
         {
            vertexOutput output;

            output.pos = mul(UNITY_MATRIX_P, mul(UNITY_MATRIX_MV, float4(0.0, 0.0, 0.0, 1.0))
              + float4(input.vertex.x, input.vertex.y, 0.0, 0.0)
              * float4(_ScaleX, _ScaleY, 1.0, 1.0));

 
            output.tex = input.tex;

            return output;
         }


 
         float4 frag(vertexOutput input) : COLOR
         {
            return tex2D(_MainTex, float2(input.tex.xy));  
         }
 
         ENDCG
      }
   }
}

반응형

'Technical Report > R&D test' 카테고리의 다른 글

Unity fragment shader 구조 분석 정리  (0) 2017.09.26
GLSL Rotate image shader  (0) 2017.07.21
approximate oren-nayar shader  (0) 2017.06.19
Texture Array  (0) 2016.08.02
Ai Standard Material Library  (0) 2016.01.22