From 489036a40cc3c9f41109fac61de3257acf99d3ef Mon Sep 17 00:00:00 2001 From: omigamedev Date: Wed, 30 Jan 2019 14:00:56 +0100 Subject: [PATCH] use glsl built-in ifdef directive for extensions --- src/app_shaders.cpp | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/app_shaders.cpp b/src/app_shaders.cpp index aea545c..4283abd 100644 --- a/src/app_shaders.cpp +++ b/src/app_shaders.cpp @@ -85,27 +85,27 @@ void App::initShaders() "}\n"; static const char* shader_blend_f = SHADER_VERSION -#ifdef __IOS__ - "#extension GL_EXT_shader_framebuffer_fetch : enable\n" -#endif + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" + " #extension GL_EXT_shader_framebuffer_fetch : enable\n" + "#endif\n" "uniform sampler2D tex;\n" "uniform sampler2D tex_alpha;\n" "uniform sampler2D tex_bg;\n" "uniform mediump float alpha;\n" "uniform int blend_mode;\n" "in mediump vec2 uv;\n" -#ifdef __IOS__ - "inout highp vec4 frag;\n" -#else - "out mediump vec4 frag;\n" -#endif + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" + " inout highp vec4 frag;\n" + "#else\n" + " out mediump vec4 frag;\n" + "#endif\n" SHADER_FUNCTION_BLEND "void main() {\n" -#ifdef __IOS__ + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" " highp vec4 bg = frag;\n" -#else + "#else\n" " mediump vec4 bg = texture(tex_bg, uv);\n" -#endif + "#endif\n" " mediump vec4 fg = vec4(texture(tex, uv).rgb, texture(tex_alpha, uv).a);\n" " if (fg.a == 0.0) { frag = bg; return; }\n" " mediump float contribution = (1.0 - bg.a) * fg.a;\n" @@ -357,9 +357,9 @@ void App::initShaders() "}\n"; static const char* shader_stroke_f = SHADER_VERSION -#ifdef __IOS__ - "#extension GL_EXT_shader_framebuffer_fetch : enable\n" -#endif + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" + " #extension GL_EXT_shader_framebuffer_fetch : enable\n" + "#endif\n" "uniform mediump sampler2D tex;\n" "uniform mediump sampler2D tex_bg;\n" "uniform mediump sampler2D tex_stencil;\n" @@ -375,22 +375,22 @@ void App::initShaders() "in mediump vec2 uv;\n" "in mediump vec2 uv_2;\n" "in mediump float q;\n" -#ifdef __IOS__ - "inout mediump vec4 frag;\n" -#else - "out mediump vec4 frag;\n" -#endif + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" + " inout mediump vec4 frag;\n" + "#else\n" + " out mediump vec4 frag;\n" + "#endif\n" SHADER_FUNCTION_RAND "void main() {\n" " mediump vec2 uv2 = gl_FragCoord.st / resolution;\n" " mediump float stencil = 1.0 - (texture(tex_stencil, (uv2+stencil_offset) * 5.0).r) * stencil_alpha;\n" " mediump float brush_alpha = ( 1.0 - texture(tex, uv/q).r ) * alpha;\n" " mediump vec4 fg = vec4(col.rgb, brush_alpha * stencil);\n" -#ifdef __IOS__ + "#if defined(GL_EXT_shader_framebuffer_fetch)\n" " mediump vec4 bg = frag;\n" -#else + "#else\n" " mediump vec4 bg = texture(tex_bg, uv2);\n" -#endif + "#endif\n" " fg.a *= 1.0-rand(uv2+uv)*noise;\n" " if (fg.a == 0.0) discard;\n" " if (mix_alpha > 0.0){\n"