42 lines
968 B
Plaintext
42 lines
968 B
Plaintext
struct v2f_vertex_lit {
|
|
vec2 uv;
|
|
vec4 diff;
|
|
vec4 spec;
|
|
};
|
|
struct v2f_img {
|
|
vec4 pos;
|
|
vec2 uv;
|
|
};
|
|
struct appdata_img {
|
|
vec4 vertex;
|
|
vec2 texcoord;
|
|
};
|
|
uniform sampler2D _MainTex;
|
|
uniform float _RampOffset;
|
|
uniform sampler2D _RampTex;
|
|
float Luminance( in vec3 c );
|
|
vec4 frag( in v2f_img i );
|
|
float Luminance( in vec3 c ) {
|
|
return dot( c, vec3( 0.220000, 0.707000, 0.0710000));
|
|
}
|
|
vec4 frag( in v2f_img i ) {
|
|
vec4 original;
|
|
float grayscale;
|
|
vec2 remap;
|
|
vec4 xlat_var_output;
|
|
original = texture2D( _MainTex, i.uv);
|
|
grayscale = Luminance( original.xyz );
|
|
remap = vec2( (grayscale + _RampOffset), 0.500000);
|
|
xlat_var_output = texture2D( _RampTex, remap);
|
|
xlat_var_output.w = original.w ;
|
|
return xlat_var_output;
|
|
}
|
|
void main() {
|
|
vec4 xl_retval;
|
|
v2f_img xlt_i;
|
|
xlt_i.pos = vec4(0.0);
|
|
xlt_i.uv = vec2( gl_TexCoord[0]);
|
|
xl_retval = frag( xlt_i);
|
|
gl_FragData[0] = vec4( xl_retval);
|
|
}
|