summaryrefslogtreecommitdiffhomepage
path: root/src/rlgl.h
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2019-04-28 16:03:59 +0200
committerraysan5 <[email protected]>2019-04-28 16:03:59 +0200
commit7c10f971c1f8edfc65b074aceec7c3a0696c9b87 (patch)
tree15ee8d217eca47ec8623b8c0af63e1d394febe53 /src/rlgl.h
parent55cb13f1b8e499b61bd8779c3e6d222102dff522 (diff)
downloadraylib-7c10f971c1f8edfc65b074aceec7c3a0696c9b87.tar.gz
raylib-7c10f971c1f8edfc65b074aceec7c3a0696c9b87.zip
Expose enable/disable backface culling
Some tweaks on BeginVrDrawing()
Diffstat (limited to 'src/rlgl.h')
-rw-r--r--src/rlgl.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index 1091f0d1..b067e5c7 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -451,6 +451,8 @@ RLAPI void rlEnableRenderTexture(unsigned int id); // Enable render t
RLAPI void rlDisableRenderTexture(void); // Disable render texture (fbo), return to default framebuffer
RLAPI void rlEnableDepthTest(void); // Enable depth test
RLAPI void rlDisableDepthTest(void); // Disable depth test
+RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling
+RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling
RLAPI void rlEnableWireMode(void); // Enable wire mode
RLAPI void rlDisableWireMode(void); // Disable wire mode
RLAPI void rlDeleteTextures(unsigned int id); // Delete OpenGL texture from GPU
@@ -1345,6 +1347,18 @@ void rlDisableDepthTest(void)
glDisable(GL_DEPTH_TEST);
}
+// Enable backface culling
+void rlEnableBackfaceCulling(void)
+{
+ glEnable(GL_CULL_FACE);
+}
+
+// Disable backface culling
+void rlDisableBackfaceCulling(void)
+{
+ glDisable(GL_CULL_FACE);
+}
+
// Enable wire mode
void rlEnableWireMode(void)
{
@@ -3657,30 +3671,25 @@ void ToggleVrMode(void)
#endif
}
-// Begin Oculus drawing configuration
+// Begin VR drawing configuration
void BeginVrDrawing(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (vrSimulatorReady)
{
- // Setup framebuffer for stereo rendering
- rlEnableRenderTexture(stereoFbo.id);
-
- // NOTE: If your application is configured to treat the texture as a linear format (e.g. GL_RGBA)
- // and performs linear-to-gamma conversion in GLSL or does not care about gamma-correction, then:
- // - Require OculusBuffer format to be OVR_FORMAT_R8G8B8A8_UNORM_SRGB
- // - Do NOT enable GL_FRAMEBUFFER_SRGB
- //glEnable(GL_FRAMEBUFFER_SRGB);
+
+ rlEnableRenderTexture(stereoFbo.id); // Setup framebuffer for stereo rendering
+ //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required)
- //glViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye)
- rlClearScreenBuffers(); // Clear current framebuffer(s)
+ //glViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye)
+ rlClearScreenBuffers(); // Clear current framebuffer
vrStereoRender = true;
}
#endif
}
-// End Oculus drawing process (and desktop mirror)
+// End VR drawing process (and desktop mirror)
void EndVrDrawing(void)
{
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)