You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
|
2 years ago
|
Shader "FluidDynamics/MatRenderer"
|
||
|
|
{
|
||
|
|
Properties
|
||
|
|
{
|
||
|
|
_MainTex ("MainTexture", 2D) = "white" {}
|
||
|
|
}
|
||
|
|
SubShader
|
||
|
|
{
|
||
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
||
|
|
ZWrite Off
|
||
|
|
Tags {"Queue" = "Transparent" }
|
||
|
|
Pass
|
||
|
|
{
|
||
|
|
ZTest LEqual
|
||
|
|
CGPROGRAM
|
||
|
|
#include "UnityCG.cginc"
|
||
|
|
#pragma target 4.5
|
||
|
|
#pragma vertex vert
|
||
|
|
#pragma fragment frag
|
||
|
|
|
||
|
|
StructuredBuffer<float> _Particles;
|
||
|
|
StructuredBuffer<float4> _ColourRamp;
|
||
|
|
float2 _Size;
|
||
|
|
struct v2f
|
||
|
|
{
|
||
|
|
float4 pos : SV_POSITION;
|
||
|
|
float2 uv : TEXCOORD0;
|
||
|
|
};
|
||
|
|
v2f vert(appdata_base v)
|
||
|
|
{
|
||
|
|
v2f OUT;
|
||
|
|
OUT.pos = UnityObjectToClipPos(v.vertex);
|
||
|
|
OUT.uv = v.texcoord.xy;
|
||
|
|
return OUT;
|
||
|
|
}
|
||
|
|
float4 frag(v2f IN) : COLOR
|
||
|
|
{
|
||
|
|
int x = (int)(IN.uv.x*_Size.x);
|
||
|
|
int y = (int)(IN.uv.y*_Size.y);
|
||
|
|
return _ColourRamp[clamp(_Particles[y*_Size.x + x], 0.0, 255.0)];
|
||
|
|
}
|
||
|
|
ENDCG
|
||
|
|
}
|
||
|
|
}
|
||
|
|
Fallback "Diffuse"
|
||
|
|
}
|