Vertex Shader
Unity3D/Shader 2020. 12. 21. 15:23반응형
Shader "Custom/VertexShader"
{
//http://suyeongpark.me/archives/2173
//https://docs.unity3d.com/kr/530/Manual/SL-Pass.html
//https://docs.unity3d.com/kr/2018.4/Manual/SL-BuiltinFunctions.html
//https://docs.unity3d.com/Manual/SL-VertexProgramInputs.html
//https://docs.unity3d.com/kr/current/Manual/SL-VertexProgramInputs.html
//https://docs.unity3d.com/kr/530/Manual/SL-ShaderPrograms.html
//https://docs.unity3d.com/kr/530/Manual/SL-BuiltinIncludes.html
//https://m.blog.naver.com/PostView.nhn?blogId=ateliersera&logNo=220405036320&proxyReferer=https:%2F%2Fwww.google.com%2F
//https://docs.microsoft.com/ko-kr/windows/win32/direct3dhlsl/dx-graphics-hlsl-semantics?redirectedfrom=MSDN
//https://funfunhanblog.tistory.com/46
SubShader
{
//Pass 블록은 오브젝트 지오메트리를 한 번만 렌더링하도록 합니다.
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct v2f {
float4 pos : SV_POSITION;
fixed4 color : COLOR;
};
v2f vert(appdata_base v){
v2f o;
//https://chulin28ho.tistory.com/539
o.pos = UnityObjectToClipPos(v.vertex); //오브젝트 공간의 한 점을 동질적인 좌표에 있는 카메라의 클립 공간으로 변환합니다. mul(UNITY_MATRIX_MVP, float4(pos, 1.0))과 같으며, 이를 대신하여 사용해야 합니다
o.color.xyz = v.normal * 0.5 + 0.5;
o.color.w = 1.0;
return o;
}
fixed4 frag (v2f i): SV_Target{
return i.color;
}
ENDCG
}
}
}
반응형
'Unity3D > Shader' 카테고리의 다른 글
Diffuse Warping (0) | 2020.12.21 |
---|---|
끊어지는 음영 (0) | 2020.12.21 |
Introduction to Shaders in Unity (0) | 2020.06.16 |
Unity Shader 기초강좌 링크 (0) | 2020.05.26 |
게임용 텍스쳐 포맷 이론 (0) | 2020.05.26 |