URP Shader Training #1-1

Unity3D/Shader 2021. 7. 27. 15:39
반응형

https://youtu.be/mlNWoROvavY

https://docs.google.com/document/d/1UX0319CXa29fCFAgg0qa5vnH-U6875jt0KLKUk5mke8/edit

 

URP Shader Basic

URP Shader Basic term 2 Shader란? 2 Basic simple basic code 2 Shader “shader folder name / shader name” 3 Properties에서 변수 설정하고 매터리얼에서 확인 3 SubShader 4 Shader Tag 5 Rendering Order - Queue Tag 5 Render type 5 Pass 5 HLSL

docs.google.com

 

 

https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@10.2/manual/writing-shaders-urp-basic-unlit-structure.html

 

URP unlit basic shader | Universal RP | 10.2.2

URP unlit basic shader This example shows a basic URP-compatible shader. This shader fills the mesh shape with a color predefined in the shader code. To see the shader in action, copy and paste the following ShaderLab code into the Shader asset. // This sh

docs.unity3d.com

 

// Shader 시작. 셰이더의 폴더와 이름을 여기서 결정합니다.
Shader "Basic01"
{
   
   Properties
   {   
        // Properties Block : 셰이더에서 사용할 변수를 선언하고 이를 material inspector에 노출시킵니다     
   }  

    SubShader
    {  

	    Tags 
        {
            //Render type과 Render Queue를 여기서 결정합니다.
	        "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" 
        }
        
    	Pass
    	{  		
     	    Name "Universal Forward"
            Tags { "LightMode" = "UniversalForward" }

       	    HLSLPROGRAM

        	#pragma prefer_hlslcc gles
        	#pragma exclude_renderers d3d11_9x
        	#pragma vertex vert
        	#pragma fragment frag

            //cg shader는 .cginc를 hlsl shader는 .hlsl을 include하게 됩니다.
       	    #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"        	
  
            //vertex buffer에서 읽어올 정보를 선언합니다. 	
         	struct VertexInput
         	{
            	float4 vertex : POSITION;
          	};

            //보간기를 통해 버텍스 셰이더에서 픽셀 셰이더로 전달할 정보를 선언합니다.
        	struct VertexOutput
          	{
           	    float4 vertex  	: SV_POSITION;
      	    };

            //버텍스 셰이더
      	    VertexOutput vert(VertexInput v)
            {
          	    VertexOutput o;      
          	    o.vertex = TransformObjectToHClip(v.vertex.xyz);
         	    return o;
            }

            //픽셀 셰이더
            half4 frag(VertexOutput i) : SV_Target
            { 
          	    return half4(0.5 , 0.5, 0.5, 1);  
            }

            ENDHLSL  
        }//Pass
   }
}

반응형

'Unity3D > Shader' 카테고리의 다른 글

URP Shader Training #1-3  (0) 2021.07.27
URP Shader Training #1-2  (0) 2021.07.27
Dev Weeks: URP 셰이더 뜯어보기  (0) 2021.07.27
water  (0) 2020.12.23
Refraction  (0) 2020.12.23
: