aboutsummaryrefslogtreecommitdiff
path: root/client/shaders/test_shader_2/opengl_fragment.glsl
blob: 38bc9431147f51856c718e25daf7600f6a72714f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

uniform sampler2D myTexture;
uniform float fogDistance;

varying vec3 vPosition;

void main (void)
{
    vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0]));
    col *= gl_Color;
	float a = gl_Color.a;
	col = col * col; // SRGB -> Linear
	col *= 1.8;
	col.r = 1.0 - exp(1.0 - col.r) / exp(1.0);
	col.g = 1.0 - exp(1.0 - col.g) / exp(1.0);
	col.b = 1.0 - exp(1.0 - col.b) / exp(1.0);
	col = sqrt(col); // Linear -> SRGB
	if(fogDistance != 0.0){
		float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0));
		a = mix(a, 0.0, d);
	}
	gl_FragColor = vec4(col.r, col.g, col.b, a);
}
digprop_err() core.log("info", debug.traceback()) core.log("info", "WARNING: The core.digprop_* functions are obsolete and need to be replaced by item groups.") end core.digprop_constanttime = digprop_err core.digprop_stonelike = digprop_err core.digprop_dirtlike = digprop_err core.digprop_gravellike = digprop_err core.digprop_woodlike = digprop_err core.digprop_leaveslike = digprop_err core.digprop_glasslike = digprop_err core.node_metadata_inventory_move_allow_all = function() core.log("info", "WARNING: core.node_metadata_inventory_move_allow_all is obsolete and does nothing.") end core.add_to_creative_inventory = function(itemstring) core.log('info', "WARNING: core.add_to_creative_inventory: This function is deprecated and does nothing.") end -- -- EnvRef -- core.env = {} local envref_deprecation_message_printed = false setmetatable(core.env, { __index = function(table, key) if not envref_deprecation_message_printed then core.log("info", "WARNING: core.env:[...] is deprecated and should be replaced with core.[...]") envref_deprecation_message_printed = true end local func = core[key] if type(func) == "function" then rawset(table, key, function(self, ...) return func(...) end) else rawset(table, key, nil) end return rawget(table, key) end }) function core.rollback_get_last_node_actor(pos, range, seconds) return core.rollback_get_node_actions(pos, range, seconds, 1)[1] end