Added centroid interpolation modifier.

This commit is contained in:
Branimir Karadžić
2016-07-10 20:49:10 -07:00
parent 37e233578a
commit e5aa71db4d
2 changed files with 18 additions and 14 deletions

View File

@@ -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);

View File

@@ -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"
);
}