
Shader "Unlit/ObjNORMAL"
{
Properties
{
}
SubShader
{
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" }
Pass
{
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
struct appdata
{
float4 vertex : POSITION;
half3 normalOS:NORMAL;
};
struct v2f
{
float4 vertex : SV_POSITION;
half3 normalWS:TEXCOORD;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = TransformObjectToHClip(v.vertex);
o.normalWS = TransformObjectToWorldNormal(v.normalOS);
return o;
}
half4 frag (v2f i) : SV_Target
{
half3 N=i.normalWS;
return half4(N,1);
}
ENDHLSL
}
}
}
这篇博客详细介绍了如何在Unity中使用Universal Render Pipeline创建一个基本的无光照Shader,着重于理解ShaderGraphFunctions.hlsl库的使用以及在Shader中处理顶点和片段数据的过程。

3229

被折叠的 条评论
为什么被折叠?



