]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_shadow.c
fix hl sprite types again
[xonotic/darkplaces.git] / r_shadow.c
index ee083d246e3d0cf1b8087695f3520796a50febd7..9575f9c785c8ed8d23a7ff5146ad1661325efdb2 100644 (file)
@@ -273,15 +273,15 @@ const char *builtinshader_light_vert =
 "      // (we use unnormalized to ensure that it interpolates correctly and then\n"
 "      //  normalize it per pixel)\n"
 "      vec3 lightminusvertex = LightPosition - gl_Vertex.xyz;\n"
-"      LightVector.x = dot(lightminusvertex, gl_MultiTexCoord1.xyz);\n"
-"      LightVector.y = dot(lightminusvertex, gl_MultiTexCoord2.xyz);\n"
+"      LightVector.x = -dot(lightminusvertex, gl_MultiTexCoord1.xyz);\n"
+"      LightVector.y = -dot(lightminusvertex, gl_MultiTexCoord2.xyz);\n"
 "      LightVector.z = -dot(lightminusvertex, gl_MultiTexCoord3.xyz);\n"
 "\n"
 "#if defined(USESPECULAR) || defined(USEFOG) || defined(USEOFFSETMAPPING)\n"
 "      // transform unnormalized eye direction into tangent space\n"
 "      vec3 eyeminusvertex = EyePosition - gl_Vertex.xyz;\n"
-"      EyeVector.x = dot(eyeminusvertex, gl_MultiTexCoord1.xyz);\n"
-"      EyeVector.y = dot(eyeminusvertex, gl_MultiTexCoord2.xyz);\n"
+"      EyeVector.x = -dot(eyeminusvertex, gl_MultiTexCoord1.xyz);\n"
+"      EyeVector.y = -dot(eyeminusvertex, gl_MultiTexCoord2.xyz);\n"
 "      EyeVector.z = -dot(eyeminusvertex, gl_MultiTexCoord3.xyz);\n"
 "#endif\n"
 "\n"
@@ -917,14 +917,14 @@ void R_Shadow_RenderVolume(int numvertices, int numtriangles, const float *verte
                // increment stencil if backface is behind depthbuffer
                qglCullFace(GL_BACK); // quake is backwards, this culls front faces
                qglStencilOp(GL_KEEP, GL_INCR, GL_KEEP);
-               R_Mesh_Draw(numvertices, numtriangles, element3i);
+               R_Mesh_Draw(0, numvertices, numtriangles, element3i);
                c_rt_shadowmeshes++;
                c_rt_shadowtris += numtriangles;
                // decrement stencil if frontface is behind depthbuffer
                qglCullFace(GL_FRONT); // quake is backwards, this culls back faces
                qglStencilOp(GL_KEEP, GL_DECR, GL_KEEP);
        }
-       R_Mesh_Draw(numvertices, numtriangles, element3i);
+       R_Mesh_Draw(0, numvertices, numtriangles, element3i);
        c_rt_shadowmeshes++;
        c_rt_shadowtris += numtriangles;
        GL_LockArrays(0, 0);
@@ -1642,7 +1642,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                }
                CHECKGLERROR
                GL_LockArrays(0, numverts);
-               R_Mesh_Draw(numverts, numtriangles, elements);
+               R_Mesh_Draw(0, numverts, numtriangles, elements);
                c_rt_lightmeshes++;
                c_rt_lighttris += numtriangles;
                GL_LockArrays(0, 0);
@@ -1797,7 +1797,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -1827,7 +1827,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                        for (renders = 0;renders < 64 && (color2[0] > 0 || color2[1] > 0 || color2[2] > 0);renders++, color2[0]--, color2[1]--, color2[2]--)
                        {
                                GL_Color(bound(0, color2[0], 1), bound(0, color2[1], 1), bound(0, color2[2], 1), 1);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
                        }
@@ -1868,7 +1868,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -1907,7 +1907,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -1924,7 +1924,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                R_Mesh_State(&m);
                                GL_BlendFunc(GL_DST_ALPHA, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -1962,7 +1962,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2013,7 +2013,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2060,7 +2060,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                GL_ColorMask(0,0,0,1);
                                GL_BlendFunc(GL_ONE, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2077,7 +2077,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                R_Mesh_State(&m);
                                GL_BlendFunc(GL_DST_ALPHA, GL_ZERO);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2107,7 +2107,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                        for (renders = 0;renders < 64 && (color2[0] > 0 || color2[1] > 0 || color2[2] > 0);renders++, color2[0]--, color2[1]--, color2[2]--)
                        {
                                GL_Color(bound(0, color2[0], 1), bound(0, color2[1], 1), bound(0, color2[2], 1), 1);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
                        }
@@ -2136,7 +2136,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // this squares the result
                                        GL_BlendFunc(GL_SRC_ALPHA, GL_ZERO);
                                        GL_LockArrays(0, numverts);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        GL_LockArrays(0, 0);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
@@ -2151,10 +2151,10 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // 0.5 * 0.5 = 0.25 (done by the BlendFunc earlier)
                                        // 0.25 * 0.25 = 0.0625 (this is another pass)
                                        // 0.0625 * 0.0625 = 0.00390625 (this is another pass)
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
                                        GL_LockArrays(0, 0);
@@ -2172,7 +2172,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        R_Mesh_State(&m);
                                        GL_BlendFunc(GL_DST_ALPHA, GL_ZERO);
                                        GL_LockArrays(0, numverts);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        GL_LockArrays(0, 0);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
@@ -2210,7 +2210,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // this squares the result
                                        GL_BlendFunc(GL_SRC_ALPHA, GL_ZERO);
                                        GL_LockArrays(0, numverts);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        GL_LockArrays(0, 0);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
@@ -2225,10 +2225,10 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // 0.5 * 0.5 = 0.25 (done by the BlendFunc earlier)
                                        // 0.25 * 0.25 = 0.0625 (this is another pass)
                                        // 0.0625 * 0.0625 = 0.00390625 (this is another pass)
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
                                        GL_LockArrays(0, 0);
@@ -2263,7 +2263,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // this squares the result
                                        GL_BlendFunc(GL_SRC_ALPHA, GL_ZERO);
                                        GL_LockArrays(0, numverts);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        GL_LockArrays(0, 0);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
@@ -2278,10 +2278,10 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        // 0.5 * 0.5 = 0.25 (done by the BlendFunc earlier)
                                        // 0.25 * 0.25 = 0.0625 (this is another pass)
                                        // 0.0625 * 0.0625 = 0.00390625 (this is another pass)
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
                                        GL_LockArrays(0, 0);
@@ -2307,7 +2307,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                        R_Mesh_State(&m);
                                        GL_BlendFunc(GL_DST_ALPHA, GL_ZERO);
                                        GL_LockArrays(0, numverts);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        GL_LockArrays(0, 0);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
@@ -2336,7 +2336,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                for (renders = 0;renders < 64 && (color2[0] > 0 || color2[1] > 0 || color2[2] > 0);renders++, color2[0]--, color2[1]--, color2[2]--)
                                {
                                        GL_Color(bound(0, color2[0], 1), bound(0, color2[1], 1), bound(0, color2[2], 1), 1);
-                                       R_Mesh_Draw(numverts, numtriangles, elements);
+                                       R_Mesh_Draw(0, numverts, numtriangles, elements);
                                        c_rt_lightmeshes++;
                                        c_rt_lighttris += numtriangles;
                                }
@@ -2395,7 +2395,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                else
                                        R_Shadow_VertexNoShadingWithXYZAttenuation(numverts, vertex3f, color, matrix_modeltolight);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2447,7 +2447,7 @@ void R_Shadow_RenderLighting(int numverts, int numtriangles, const int *elements
                                else
                                        R_Shadow_VertexShadingWithXYZAttenuation(numverts, vertex3f, normal3f, color, matrix_modeltolight);
                                GL_LockArrays(0, numverts);
-                               R_Mesh_Draw(numverts, numtriangles, elements);
+                               R_Mesh_Draw(0, numverts, numtriangles, elements);
                                GL_LockArrays(0, 0);
                                c_rt_lightmeshes++;
                                c_rt_lighttris += numtriangles;
@@ -2737,14 +2737,14 @@ void R_DrawRTLight(rtlight_t *rtlight, int visiblevolumes)
                                        // increment stencil if backface is behind depthbuffer
                                        qglCullFace(GL_BACK); // quake is backwards, this culls front faces
                                        qglStencilOp(GL_KEEP, GL_INCR, GL_KEEP);
-                                       R_Mesh_Draw(mesh->numverts, mesh->numtriangles, mesh->element3i);
+                                       R_Mesh_Draw(0, mesh->numverts, mesh->numtriangles, mesh->element3i);
                                        c_rtcached_shadowmeshes++;
                                        c_rtcached_shadowtris += mesh->numtriangles;
                                        // decrement stencil if frontface is behind depthbuffer
                                        qglCullFace(GL_FRONT); // quake is backwards, this culls back faces
                                        qglStencilOp(GL_KEEP, GL_DECR, GL_KEEP);
                                }
-                               R_Mesh_Draw(mesh->numverts, mesh->numtriangles, mesh->element3i);
+                               R_Mesh_Draw(0, mesh->numverts, mesh->numtriangles, mesh->element3i);
                                c_rtcached_shadowmeshes++;
                                c_rtcached_shadowtris += mesh->numtriangles;
                                GL_LockArrays(0, 0);