X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=shaderlib%2Fcommon.glsl;h=9e794f1d2c17eca99c48f847bf0d91ba96235ac1;hp=eb191e45dc7f6e03ce31473b81eba73449241c40;hb=6dcf74922f46b086ad394c19fd6ce083a635b290;hpb=713ff9619daa858ffbd428f7699cd57598563dbd diff --git a/shaderlib/common.glsl b/shaderlib/common.glsl index eb191e45..9e794f1d 100644 --- a/shaderlib/common.glsl +++ b/shaderlib/common.glsl @@ -4,22 +4,22 @@ import shadow; layout(constant_id=auto) const bool use_normal_map = false; #pragma MSP stage(vertex) -vec4 get_vertex_position() +virtual vec4 get_vertex_position() { return vertex; } -vec3 get_vertex_normal() +virtual vec3 get_vertex_normal() { return normal; } -vec4 transform_position(vec4 pos) +virtual vec4 transform_position(vec4 pos) { return eye_obj_matrix*pos; } -vec3 transform_normal(vec3 nor) +virtual vec3 transform_normal(vec3 nor) { return eye_obj_normal_matrix*nor; } @@ -52,7 +52,7 @@ void standard_transform() shadow_transform(eye_vertex); } -void custom_transform() +virtual void custom_transform() { } @@ -64,7 +64,7 @@ void main() } #pragma MSP stage(fragment) -vec3 get_fragment_normal() +virtual vec3 get_fragment_normal() { if(use_normal_map) return normalize(texture(normal_map, texcoord.xy).xyz*2.0-1.0); @@ -72,12 +72,12 @@ vec3 get_fragment_normal() return vec3(0.0, 0.0, 1.0); } -vec4 get_environment_sample(vec3 direction) +virtual vec4 get_environment_sample(vec3 direction) { return texture(environment_map, direction); } -vec3 get_reflection(vec3 normal, vec3 look) +virtual vec3 get_reflection(vec3 normal, vec3 look) { vec3 reflect_dir = reflect(look, normal); if(use_normal_map)