You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.1 KiB
51 lines
2.1 KiB
#ifndef UNIVERSAL_SIMPLE_LIT_INPUT_INCLUDED
|
|
#define UNIVERSAL_SIMPLE_LIT_INPUT_INCLUDED
|
|
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"
|
|
|
|
CBUFFER_START(UnityPerMaterial)
|
|
float4 _BaseMap_ST;
|
|
float4 _LightMap_ST;
|
|
half4 _BaseColor;
|
|
half4 _EmissionColor;
|
|
half _Cutoff;
|
|
half _Surface;
|
|
CBUFFER_END
|
|
|
|
#ifdef UNITY_DOTS_INSTANCING_ENABLED
|
|
UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)
|
|
UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor)
|
|
UNITY_DOTS_INSTANCED_PROP(float4, _EmissionColor)
|
|
UNITY_DOTS_INSTANCED_PROP(float , _Cutoff)
|
|
UNITY_DOTS_INSTANCED_PROP(float , _Surface)
|
|
UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)
|
|
|
|
#define _BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__BaseColor)
|
|
#define _EmissionColor UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float4 , Metadata__EmissionColor)
|
|
#define _Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Cutoff)
|
|
#define _Surface UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__Surface)
|
|
#endif
|
|
|
|
SAMPLER(point_repeat_sampler);
|
|
TEXTURE2D(_LightMap); SAMPLER(sampler_LightMap);
|
|
|
|
inline void InitializeSimpleLitSurfaceData(float2 uv, out SurfaceData outSurfaceData)
|
|
{
|
|
outSurfaceData = (SurfaceData)0;
|
|
|
|
half4 albedoAlpha = SampleAlbedoAlpha(uv, TEXTURE2D_ARGS(_BaseMap, sampler_BaseMap));
|
|
outSurfaceData.alpha = albedoAlpha.a * _BaseColor.a;
|
|
AlphaDiscard(outSurfaceData.alpha, _Cutoff);
|
|
|
|
outSurfaceData.albedo = albedoAlpha.rgb * _BaseColor.rgb;
|
|
|
|
outSurfaceData.metallic = 0.0; // unused
|
|
outSurfaceData.specular = 0.0; // unused
|
|
outSurfaceData.smoothness = 0.0; // unused
|
|
//outSurfaceData.normalTS = SampleNormal(uv, TEXTURE2D_ARGS(_BumpMap, sampler_BumpMap));
|
|
outSurfaceData.occlusion = 1.0; // unused
|
|
outSurfaceData.emission = SampleEmission(uv, _EmissionColor.rgb, TEXTURE2D_ARGS(_EmissionMap, sampler_EmissionMap));
|
|
}
|
|
|
|
#endif
|