aboutsummaryrefslogtreecommitdiff
path: root/assets/blender/gleis/rail_redo_bk_curves.blend
blob: b175545c3e5ce7516b32e84762485fa6b8e6f998 (plain)
blob size (773KB) exceeds display size limit (100KB).
href='#n23'>23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
uniform sampler2D ColorMapSampler;
varying vec4 tPos;

#ifdef COLORED_SHADOWS
// c_precision of 128 fits within 7 base-10 digits
const float c_precision = 128.0;
const float c_precisionp1 = c_precision + 1.0;

float packColor(vec3 color)
{
	return floor(color.b * c_precision + 0.5)
		+ floor(color.g * c_precision + 0.5) * c_precisionp1
		+ floor(color.r * c_precision + 0.5) * c_precisionp1 * c_precisionp1;
}

const vec3 black = vec3(0.0);
#endif

void main()
{
	vec4 col = texture2D(ColorMapSampler, gl_TexCoord[0].st);
#ifndef COLORED_SHADOWS
	if (col.a < 0.5)
		discard;
#endif

	float depth = 0.5 + tPos.z * 0.5;
	// ToDo: Liso: Apply movement on waving plants
	// depth in [0, 1] for texture

	//col.rgb = col.a == 1.0 ? vec3(1.0) : col.rgb;
#ifdef COLORED_SHADOWS
	float packedColor = packColor(mix(col.rgb, black, col.a));
	gl_FragColor = vec4(depth, packedColor, 0.0,1.0);
#else
	gl_FragColor = vec4(depth, 0.0, 0.0, 1.0);
#endif
}