Files
H3VR-TNH-Quality-of-Life-Im…/Assets/Alloy/Scripts/MaterialInspectors/Shaders/AlloyVisualize.shader
T
2022-01-22 20:13:49 -08:00

77 lines
1.9 KiB
Plaintext

// Alloy Physical Shader Framework
// Copyright 2013-2017 RUST LLC.
// http://www.alloy.rustltd.com/
Shader "Hidden/Alloy Visualize" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Mode("Mode", Float) = 0
_Trans("Trans", Vector) = (0, 0, 0, 0)
_UV("UV", Float) = 0
}
SubShader {
Offset 0,-10
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#pragma target 3.0
struct v2f {
float4 pos : SV_POSITION;
float2 uv_MainTex : TEXCOORD0;
};
float4 _MainTex_ST;
float _Mode;
float _UV;
v2f vert(appdata_full v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex.xyz);
float4 posWorld = mul(unity_ObjectToWorld, v.vertex);
//o.pos.w += 1e-5;
o.uv_MainTex = _UV == 0.0f ? v.texcoord.xy : v.texcoord1.xy;
return o;
}
sampler2D _MainTex;
float4 _Trans;
float4 frag(v2f IN) : SV_Target {
float4 c = tex2D (_MainTex, IN.uv_MainTex * _Trans.xy + _Trans.zw).rgba;
float eps = 0.001f;
if (_Mode <= eps){
c.rgb = 0.0f;
}
else if (_Mode <= 1 + eps) {
c.rgb = c.rgb; // Assumes automatic sRGB
}
else if (_Mode <= 2 + eps){
c.rgb = pow(c.rrr, 2.2f);
}
else if (_Mode <= 3 + eps){
c.rgb = pow(c.ggg, 2.2f);
}
else if (_Mode <= 4 + eps){
c.rgb = pow(c.bbb, 2.2f);
}
else if (_Mode <= 5 + eps){
c.rgb = pow(c.aaa, 2.2f);
}
else if (_Mode <= 6 + eps){
c.rgb = pow(UnpackNormal(c) * 0.5f + 0.5f, 2.2f);
}
return c;
}
ENDCG
}
}
}