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
		
	
| 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"
 | |
| } |