112 lines
6.4 KiB
Text
112 lines
6.4 KiB
Text
|
Shader "Alpha Blend Interactive/Value Display"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_Value("Value", Float) = 0
|
||
|
_BackgroundColor("Background Color", Color) = (0,0,0,0)
|
||
|
_Cutoff( "Mask Clip Value", Float ) = 0
|
||
|
_DigitSheet("Digit Sheet", 2D) = "black" {}
|
||
|
DigitSigns("Digit Signs", 2D) = "black" {}
|
||
|
_DigitColor("Digit Color", Color) = (0,0,0,0)
|
||
|
_EmissionMultiplier("Emission Multiplier", Range( 0 , 50)) = 0
|
||
|
_Metallic("Metallic", Range( 0 , 1)) = 0
|
||
|
_Roughness("Roughness", Range( 0 , 1)) = 0
|
||
|
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
||
|
[HideInInspector] __dirty( "", Int ) = 1
|
||
|
}
|
||
|
|
||
|
SubShader
|
||
|
{
|
||
|
Tags{ "RenderType" = "TransparentCutout" "Queue" = "Geometry+0" "IsEmissive" = "true" }
|
||
|
Cull Back
|
||
|
CGPROGRAM
|
||
|
#pragma target 3.0
|
||
|
#pragma surface surf Standard keepalpha addshadow fullforwardshadows
|
||
|
struct Input
|
||
|
{
|
||
|
float2 uv_texcoord;
|
||
|
};
|
||
|
|
||
|
uniform float4 _BackgroundColor;
|
||
|
uniform float4 _DigitColor;
|
||
|
uniform sampler2D DigitSigns;
|
||
|
uniform float _Value;
|
||
|
uniform sampler2D _DigitSheet;
|
||
|
uniform float _EmissionMultiplier;
|
||
|
uniform float _Metallic;
|
||
|
uniform float _Roughness;
|
||
|
uniform float _Cutoff = 0;
|
||
|
|
||
|
void surf( Input i , inout SurfaceOutputStandard o )
|
||
|
{
|
||
|
float2 uv_TexCoord79 = i.uv_texcoord * float2( 5,1 );
|
||
|
float temp_output_4_0_g14 = 2.0;
|
||
|
float temp_output_5_0_g14 = 1.0;
|
||
|
float2 appendResult7_g14 = (float2(temp_output_4_0_g14 , temp_output_5_0_g14));
|
||
|
float totalFrames39_g14 = ( temp_output_4_0_g14 * temp_output_5_0_g14 );
|
||
|
float2 appendResult8_g14 = (float2(totalFrames39_g14 , temp_output_5_0_g14));
|
||
|
float clampResult3 = clamp( _Value , -9999.0 , 9999.0 );
|
||
|
float clampResult42_g14 = clamp( 0.0 , 0.0001 , ( totalFrames39_g14 - 1.0 ) );
|
||
|
float temp_output_35_0_g14 = frac( ( ( (( clampResult3 > 0.0 ) ? 0.0 : 1.0 ) + clampResult42_g14 ) / totalFrames39_g14 ) );
|
||
|
float2 appendResult29_g14 = (float2(temp_output_35_0_g14 , ( 1.0 - temp_output_35_0_g14 )));
|
||
|
float2 temp_output_15_0_g14 = ( ( uv_TexCoord79 / appendResult7_g14 ) + ( floor( ( appendResult8_g14 * appendResult29_g14 ) ) / appendResult7_g14 ) );
|
||
|
float2 uv_TexCoord53 = i.uv_texcoord * float2( 5,1 ) + float2( -1,0 );
|
||
|
float temp_output_4_0_g13 = 10.0;
|
||
|
float temp_output_5_0_g13 = 1.0;
|
||
|
float2 appendResult7_g13 = (float2(temp_output_4_0_g13 , temp_output_5_0_g13));
|
||
|
float totalFrames39_g13 = ( temp_output_4_0_g13 * temp_output_5_0_g13 );
|
||
|
float2 appendResult8_g13 = (float2(totalFrames39_g13 , temp_output_5_0_g13));
|
||
|
float temp_output_4_0 = floor( abs( clampResult3 ) );
|
||
|
float clampResult42_g13 = clamp( 0.0 , 0.0001 , ( totalFrames39_g13 - 1.0 ) );
|
||
|
float temp_output_35_0_g13 = frac( ( ( floor( ( temp_output_4_0 / 1000.0 ) ) + clampResult42_g13 ) / totalFrames39_g13 ) );
|
||
|
float2 appendResult29_g13 = (float2(temp_output_35_0_g13 , ( 1.0 - temp_output_35_0_g13 )));
|
||
|
float2 temp_output_15_0_g13 = ( ( uv_TexCoord53 / appendResult7_g13 ) + ( floor( ( appendResult8_g13 * appendResult29_g13 ) ) / appendResult7_g13 ) );
|
||
|
float2 uv_TexCoord39 = i.uv_texcoord * float2( 5,1 ) + float2( -2,0 );
|
||
|
float temp_output_4_0_g12 = 10.0;
|
||
|
float temp_output_5_0_g12 = 1.0;
|
||
|
float2 appendResult7_g12 = (float2(temp_output_4_0_g12 , temp_output_5_0_g12));
|
||
|
float totalFrames39_g12 = ( temp_output_4_0_g12 * temp_output_5_0_g12 );
|
||
|
float2 appendResult8_g12 = (float2(totalFrames39_g12 , temp_output_5_0_g12));
|
||
|
float clampResult42_g12 = clamp( 0.0 , 0.0001 , ( totalFrames39_g12 - 1.0 ) );
|
||
|
float temp_output_35_0_g12 = frac( ( ( floor( ( temp_output_4_0 / 100.0 ) ) + clampResult42_g12 ) / totalFrames39_g12 ) );
|
||
|
float2 appendResult29_g12 = (float2(temp_output_35_0_g12 , ( 1.0 - temp_output_35_0_g12 )));
|
||
|
float2 temp_output_15_0_g12 = ( ( uv_TexCoord39 / appendResult7_g12 ) + ( floor( ( appendResult8_g12 * appendResult29_g12 ) ) / appendResult7_g12 ) );
|
||
|
float2 uv_TexCoord11 = i.uv_texcoord * float2( 5,1 ) + float2( -3,0 );
|
||
|
float temp_output_4_0_g10 = 10.0;
|
||
|
float temp_output_5_0_g10 = 1.0;
|
||
|
float2 appendResult7_g10 = (float2(temp_output_4_0_g10 , temp_output_5_0_g10));
|
||
|
float totalFrames39_g10 = ( temp_output_4_0_g10 * temp_output_5_0_g10 );
|
||
|
float2 appendResult8_g10 = (float2(totalFrames39_g10 , temp_output_5_0_g10));
|
||
|
float clampResult42_g10 = clamp( 0.0 , 0.0001 , ( totalFrames39_g10 - 1.0 ) );
|
||
|
float temp_output_35_0_g10 = frac( ( ( floor( ( temp_output_4_0 / 10.0 ) ) + clampResult42_g10 ) / totalFrames39_g10 ) );
|
||
|
float2 appendResult29_g10 = (float2(temp_output_35_0_g10 , ( 1.0 - temp_output_35_0_g10 )));
|
||
|
float2 temp_output_15_0_g10 = ( ( uv_TexCoord11 / appendResult7_g10 ) + ( floor( ( appendResult8_g10 * appendResult29_g10 ) ) / appendResult7_g10 ) );
|
||
|
float2 uv_TexCoord8 = i.uv_texcoord * float2( 5,1 ) + float2( -4,0 );
|
||
|
float temp_output_4_0_g11 = 10.0;
|
||
|
float temp_output_5_0_g11 = 1.0;
|
||
|
float2 appendResult7_g11 = (float2(temp_output_4_0_g11 , temp_output_5_0_g11));
|
||
|
float totalFrames39_g11 = ( temp_output_4_0_g11 * temp_output_5_0_g11 );
|
||
|
float2 appendResult8_g11 = (float2(totalFrames39_g11 , temp_output_5_0_g11));
|
||
|
float clampResult42_g11 = clamp( 0.0 , 0.0001 , ( totalFrames39_g11 - 1.0 ) );
|
||
|
float temp_output_35_0_g11 = frac( ( ( temp_output_4_0 + clampResult42_g11 ) / totalFrames39_g11 ) );
|
||
|
float2 appendResult29_g11 = (float2(temp_output_35_0_g11 , ( 1.0 - temp_output_35_0_g11 )));
|
||
|
float2 temp_output_15_0_g11 = ( ( uv_TexCoord8 / appendResult7_g11 ) + ( floor( ( appendResult8_g11 * appendResult29_g11 ) ) / appendResult7_g11 ) );
|
||
|
float4 lerpResult23 = lerp( tex2D( _DigitSheet, temp_output_15_0_g10 ) , tex2D( _DigitSheet, temp_output_15_0_g11 ) , (( uv_TexCoord8.x < 0.0 ) ? 0.0 : 1.0 ));
|
||
|
float4 lerpResult49 = lerp( tex2D( _DigitSheet, temp_output_15_0_g12 ) , lerpResult23 , (( uv_TexCoord39.x < 1.0 ) ? 0.0 : 1.0 ));
|
||
|
float4 lerpResult70 = lerp( tex2D( _DigitSheet, temp_output_15_0_g13 ) , lerpResult49 , (( uv_TexCoord53.x < 1.0 ) ? 0.0 : 1.0 ));
|
||
|
float4 lerpResult93 = lerp( tex2D( DigitSigns, temp_output_15_0_g14 ) , lerpResult70 , (( uv_TexCoord79.x < 1.0 ) ? 0.0 : 1.0 ));
|
||
|
float temp_output_24_0 = (lerpResult93).a;
|
||
|
float4 temp_output_32_0 = ( _DigitColor * temp_output_24_0 );
|
||
|
float4 lerpResult101 = lerp( _BackgroundColor , temp_output_32_0 , temp_output_24_0);
|
||
|
o.Albedo = lerpResult101.rgb;
|
||
|
o.Emission = ( temp_output_32_0 * _EmissionMultiplier ).rgb;
|
||
|
o.Metallic = _Metallic;
|
||
|
o.Smoothness = _Roughness;
|
||
|
o.Alpha = 1;
|
||
|
clip( temp_output_24_0 - _Cutoff );
|
||
|
}
|
||
|
|
||
|
ENDCG
|
||
|
}
|
||
|
Fallback "Diffuse"
|
||
|
}
|