diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-04-11 16:23:06 -0400 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-04-11 16:23:06 -0400 |
commit | 8c9f980271d7f156d014136586e9ceaecc8dff34 (patch) | |
tree | 3bd7039dbcccc1744f603a3484e6f046ccd8d95b /bin | |
parent | 669b342332a643f54693488e0da91e964111257d (diff) | |
download | qtlocation-mapboxgl-8c9f980271d7f156d014136586e9ceaecc8dff34.tar.gz |
correctly build shaders if the optimizer is not present
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/build-shaders.js | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/bin/build-shaders.js b/bin/build-shaders.js index 3e0fbe8b68..4450066332 100755 --- a/bin/build-shaders.js +++ b/bin/build-shaders.js @@ -26,24 +26,25 @@ module.exports = function(shader_type, prefix, suffix) { } } + var preamble = ''; + if (shader_type == 'gles2' || shader_type == 'gles3') { + preamble = 'precision highp float;'; + } else { + preamble = '#version 120'; + } + + for (var name in shaders) { + shaders[name].vertex = preamble + '\n' + shaders[name].vertex; + shaders[name].fragment = preamble + '\n' + shaders[name].fragment; + } // Optimize shader if (glsl) { - var preamble = ''; - var target = glsl.TARGET_OPENGL; - if (shader_type == 'gles2') { - target = glsl.TARGET_OPENGLES20; - preamble = 'precision highp float;'; - } else if (shader_type == 'gles3') { - target = glsl.TARGET_OPENGLES30; - preamble = 'precision highp float;'; - } else { - preamble = '#version 120'; - } + var target = shader_type == 'gles2' ? glsl.TARGET_OPENGLES20 : (shader_type == 'gles3' ? glsl.TARGET_OPENGLES30 : glsl.TARGET_OPENGL); var compiler = new glsl.Compiler(target); for (name in shaders) { - var vertex_shader = new glsl.Shader(compiler, glsl.VERTEX_SHADER, preamble + '\n' + shaders[name].vertex); + var vertex_shader = new glsl.Shader(compiler, glsl.VERTEX_SHADER, shaders[name].vertex); if (vertex_shader.compiled()) { shaders[name].vertex = vertex_shader.output(); } else { @@ -52,7 +53,7 @@ module.exports = function(shader_type, prefix, suffix) { } vertex_shader.dispose(); - var fragment_shader = new glsl.Shader(compiler, glsl.FRAGMENT_SHADER, preamble + '\n' + shaders[name].fragment); + var fragment_shader = new glsl.Shader(compiler, glsl.FRAGMENT_SHADER, shaders[name].fragment); if (fragment_shader.compiled()) { shaders[name].fragment = fragment_shader.output(); } else { |