]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_backend.c
Multisampling initialisation moved from vid_sdl to gl_backend. Make cubemaps array...
[xonotic/darkplaces.git] / gl_backend.c
index 6fc886ba0052b212304e5857536ddbcc4928ec79..0efde34477e223b1edeea21309d3e338abed1a79 100644 (file)
@@ -1437,7 +1437,7 @@ static void GL_Backend_ResetState(void)
 
                qglColorMask(1, 1, 1, 1);CHECKGLERROR
                qglAlphaFunc(gl_state.alphafunc, gl_state.alphafuncvalue);CHECKGLERROR
-               qglDisable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
+               qglDisable((r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
                qglBlendFunc(gl_state.blendfunc1, gl_state.blendfunc2);CHECKGLERROR
                qglDisable(GL_BLEND);CHECKGLERROR
                qglCullFace(gl_state.cullface);CHECKGLERROR
@@ -2120,6 +2120,35 @@ void GL_CullFace(int state)
        }
 }
 
+void GL_MultiSampling(qboolean state)
+{
+       switch(vid.renderpath)
+       {
+               case RENDERPATH_GL11:
+               case RENDERPATH_GL13:
+               case RENDERPATH_GLES1:
+               case RENDERPATH_GL20:
+               case RENDERPATH_GLES2:
+                       if (vid.support.arb_multisample)
+                       {
+                               if (state)
+                                       qglEnable(GL_MULTISAMPLE_ARB);
+                               else
+                                       qglDisable(GL_MULTISAMPLE_ARB);
+                               CHECKGLERROR
+                       }
+                       break;
+               case RENDERPATH_D3D9:
+                       break;
+               case RENDERPATH_D3D10:
+                       break;
+               case RENDERPATH_D3D11:
+                       break;
+               case RENDERPATH_SOFT:
+                       break;
+       }
+}
+
 void GL_AlphaTest(int state)
 {
        if (gl_state.alphatest != state)
@@ -2134,11 +2163,11 @@ void GL_AlphaTest(int state)
                        CHECKGLERROR
                        if (gl_state.alphatest)
                        {
-                               qglEnable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
+                               qglEnable((r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
                        }
                        else
                        {
-                               qglDisable((vid_multisampling.integer && r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
+                               qglDisable((r_transparent_alphatocoverage.integer) ? GL_SAMPLE_ALPHA_TO_COVERAGE_ARB : GL_ALPHA_TEST);CHECKGLERROR
                        }
                        break;
                case RENDERPATH_D3D9:
@@ -2155,6 +2184,14 @@ void GL_AlphaTest(int state)
                        break;
                case RENDERPATH_GL20:
                case RENDERPATH_GLES2:
+                       if (vid_multisampling.integer)
+                       {
+                               if (gl_state.alphatest && r_transparent_alphatocoverage.integer)
+                                       qglEnable(GL_SAMPLE_ALPHA_TO_COVERAGE_ARB);
+                               else
+                                       qglDisable(GL_SAMPLE_ALPHA_TO_COVERAGE_ARB);
+                               CHECKGLERROR
+                       }
                        break;
                }
        }