From cc997bc3f0e8727f8e82a53309c98234e6c40549 Mon Sep 17 00:00:00 2001 From: Markus Bullmann Date: Wed, 4 Apr 2018 09:39:42 +0200 Subject: [PATCH] Updated shader code to v330 --- mapview/3D/misc/Shader.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/mapview/3D/misc/Shader.cpp b/mapview/3D/misc/Shader.cpp index c5525d1..b3bc206 100644 --- a/mapview/3D/misc/Shader.cpp +++ b/mapview/3D/misc/Shader.cpp @@ -4,15 +4,16 @@ Shader::Shader() { addCacheableShaderFromSourceCode(QOpenGLShader::Vertex, R"( - attribute highp vec3 a_vertex; - attribute highp vec3 a_normal; - attribute lowp vec4 a_color; + #version 330 + in highp vec3 a_vertex; + in highp vec3 a_normal; + in lowp vec4 a_color; uniform highp mat4 M; uniform highp mat4 V; uniform highp mat4 P; - varying highp vec3 v_normal; - varying lowp vec4 v_color; - varying lowp vec4 v_vertex; + out highp vec3 v_normal; + out lowp vec4 v_color; + out lowp vec4 v_vertex; void main() { gl_Position = P * V * M * vec4(a_vertex, 1.0); v_normal = (V * M * vec4(a_normal, 0.0)).xyz; @@ -22,20 +23,23 @@ Shader::Shader() { )"); addCacheableShaderFromSourceCode(QOpenGLShader::Fragment, R"( + #version 330 uniform vec4 color; uniform bool useNormal; uniform bool useVertexColor; - varying highp vec3 v_normal; - varying lowp vec4 v_color; - varying lowp vec4 v_vertex; + in highp vec3 v_normal; + in lowp vec4 v_color; + in lowp vec4 v_vertex; + + layout(location=1) out vec4 fragColor; void main() { vec3 lightPos = vec3(0,0,0); // camera //vec3 lightVec = normalize(vec3(0,0,1)); vec3 lightVec = normalize(lightPos - v_vertex.xyz); float intensity = useNormal ? 0.3 + 0.7 * dot( normalize(v_normal), lightVec ) : 1.0; // light at camera pos vec4 col = useVertexColor ? v_color : color; - gl_FragColor.rgb = col.rgb * intensity; - gl_FragColor.a = col.a; + fragColor.rgb = col.rgb * intensity; + fragColor.a = col.a; } )");