Fixed gl_FrontFacing behavior.

This commit is contained in:
Branimir Karadžić 2018-06-08 16:52:09 -07:00
parent 305cc6351f
commit a167dcda12
3 changed files with 7 additions and 4 deletions

View File

@ -113,6 +113,7 @@ typedef void (GL_APIENTRYP PFNGLFLUSHPROC) ();
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
typedef void (GL_APIENTRYP PFNGLFRONTFACE)(GLenum mode);
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
@ -304,6 +305,7 @@ GL_IMPORT______(false, PFNGLFLUSHPROC, glFlush);
GL_IMPORT______(true, PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
GL_IMPORT______(true, PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
GL_IMPORT______(true, PFNGLFRAMEBUFFERTEXTURELAYERPROC, glFramebufferTextureLayer);
GL_IMPORT______(false, PFNGLFRONTFACE, glFrontFace);
GL_IMPORT______(false, PFNGLGENBUFFERSPROC, glGenBuffers);
GL_IMPORT______(true, PFNGLGENERATEMIPMAPPROC, glGenerateMipmap);
GL_IMPORT______(true, PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);

View File

@ -6575,6 +6575,7 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
}
GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_backBufferFbo) );
GL_CHECK(glFrontFace(GL_CW) );
updateResolution(_render->m_resolution);
@ -7094,12 +7095,12 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
{
if (BGFX_STATE_CULL_MASK & changedFlags)
{
if (BGFX_STATE_CULL_CW & newFlags)
if (BGFX_STATE_CULL_CCW & newFlags)
{
GL_CHECK(glEnable(GL_CULL_FACE) );
GL_CHECK(glCullFace(GL_BACK) );
}
else if (BGFX_STATE_CULL_CCW & newFlags)
else if (BGFX_STATE_CULL_CW & newFlags)
{
GL_CHECK(glEnable(GL_CULL_FACE) );
GL_CHECK(glCullFace(GL_FRONT) );

View File

@ -18,7 +18,7 @@ extern "C"
#define BGFX_CHUNK_MAGIC_VSH BX_MAKEFOURCC('V', 'S', 'H', 0x5)
#define BGFX_SHADERC_VERSION_MAJOR 1
#define BGFX_SHADERC_VERSION_MINOR 13
#define BGFX_SHADERC_VERSION_MINOR 14
namespace bgfx
{
@ -1639,7 +1639,7 @@ namespace bgfx
if (hlsl == 3)
{
preprocessor.writef(
"#define gl_FrontFacing (__vface <= 0.0)\n"
"#define gl_FrontFacing (__vface >= 0.0)\n"
);
}
}