From e5aa71db4d57e6207d70139741ee80303a5b25d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sun, 10 Jul 2016 20:49:10 -0700 Subject: [PATCH] Added centroid interpolation modifier. --- src/renderer_gl.cpp | 24 +++++++++++++----------- tools/shaderc/shaderc.cpp | 8 +++++--- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 6da1d9e4e..de0087603 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -4921,10 +4921,11 @@ namespace bgfx { namespace gl if (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES) && BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES < 30) ) { - writeString(&writer - , "#define flat\n" - "#define smooth\n" - "#define noperspective\n" + writeString(&writer, + "#define centroid\n" + "#define flat\n" + "#define noperspective\n" + "#define smooth\n" ); bool usesDerivatives = s_extension[Extension::OES_standard_derivatives].m_supported @@ -5173,13 +5174,14 @@ namespace bgfx { namespace gl } } - writeString(&writer - , "#define lowp\n" - "#define mediump\n" - "#define highp\n" - "#define flat\n" - "#define smooth\n" - "#define noperspective\n" + writeString(&writer, + "#define lowp\n" + "#define mediump\n" + "#define highp\n" + "#define centroid\n" + "#define flat\n" + "#define noperspective\n" + "#define smooth\n" ); bx::write(&writer, code, codeLen); diff --git a/tools/shaderc/shaderc.cpp b/tools/shaderc/shaderc.cpp index 40873bc55..1b3e03900 100644 --- a/tools/shaderc/shaderc.cpp +++ b/tools/shaderc/shaderc.cpp @@ -124,7 +124,7 @@ namespace bgfx return "nointerpolation"; } - return _glsl; // noperspective + return _glsl; // centroid, noperspective } const char* getUniformTypeName(UniformType::Enum _enum) @@ -1003,7 +1003,8 @@ namespace bgfx if (0 == strncmp(typen, "flat", 4) || 0 == strncmp(typen, "smooth", 6) - || 0 == strncmp(typen, "noperspective", 13) ) + || 0 == strncmp(typen, "noperspective", 13) + || 0 == strncmp(typen, "centroid", 8) ) { interpolation = typen; typen = parse = bx::strws(bx::strword(parse) ); @@ -1454,9 +1455,10 @@ namespace bgfx if (hlsl < 4) { preprocessor.writef( + "#define centroid\n" "#define flat\n" - "#define smooth\n" "#define noperspective\n" + "#define smooth\n" ); }