56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
// Crest Water System
|
|
// Copyright © 2024 Wave Harmonic. All rights reserved.
|
|
|
|
// Renders a specific slice of a 2D Texture Array
|
|
// https://docs.unity3d.com/Manual/SL-TextureArrays.html
|
|
Shader "Hidden/Crest/Debug/TextureArray"
|
|
{
|
|
SubShader
|
|
{
|
|
Tags { "RenderType"="Opaque" }
|
|
Cull Off
|
|
ZWrite Off
|
|
|
|
Pass
|
|
{
|
|
CGPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma require 2darray
|
|
|
|
#include "UnityCG.cginc"
|
|
|
|
struct Attributes
|
|
{
|
|
float4 positionOS : POSITION;
|
|
float2 uv : TEXCOORD0;
|
|
};
|
|
|
|
struct Varyings
|
|
{
|
|
float4 positionCS : SV_POSITION;
|
|
float3 uv : TEXCOORD0;
|
|
};
|
|
|
|
UNITY_DECLARE_TEX2DARRAY(_MainTex);
|
|
uint _Depth;
|
|
float _Scale;
|
|
float _Bias;
|
|
|
|
Varyings Vert(Attributes input)
|
|
{
|
|
Varyings o;
|
|
o.positionCS = UnityObjectToClipPos(input.positionOS);
|
|
o.uv = float3(input.uv.xy, _Depth);
|
|
return o;
|
|
}
|
|
|
|
half4 Frag(Varyings input) : SV_TARGET
|
|
{
|
|
return _Scale * UNITY_SAMPLE_TEX2DARRAY(_MainTex, input.uv) + _Bias;
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
}
|