]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_rmain.c
got rid of R_Mesh_Draw and R_Mesh_DrawPolygon, now all 3D geometry is drawn using...
[xonotic/darkplaces.git] / gl_rmain.c
index a8c8d056ebae58df717882bba917afd7513f4163..7640985bc9fee4f338c52a0354a2660e93ab5429 100644 (file)
@@ -67,7 +67,34 @@ cvar_t gl_fogblue = {0, "gl_fogblue","0.3"};
 cvar_t gl_fogstart = {0, "gl_fogstart", "0"};
 cvar_t gl_fogend = {0, "gl_fogend","0"};
 
-cvar_t r_multitexture = {0, "r_multitexture", "1"};
+cvar_t r_textureunits = {0, "r_textureunits", "32"};
+
+void R_ModulateColors(float *in, float *out, int verts, float r, float g, float b)
+{
+       int i;
+       for (i = 0;i < verts;i++)
+       {
+               out[0] = in[0] * r;
+               out[1] = in[1] * g;
+               out[2] = in[2] * b;
+               out[3] = in[3];
+               in += 4;
+               out += 4;
+       }
+}
+
+void R_FillColors(float *out, int verts, float r, float g, float b, float a)
+{
+       int i;
+       for (i = 0;i < verts;i++)
+       {
+               out[0] = r;
+               out[1] = g;
+               out[2] = b;
+               out[3] = a;
+               out += 4;
+       }
+}
 
 /*
 ====================
@@ -240,7 +267,7 @@ void GL_Main_Init(void)
        Cvar_RegisterVariable (&r_wateralpha);
        Cvar_RegisterVariable (&r_dynamic);
        Cvar_RegisterVariable (&r_fullbright);
-       Cvar_RegisterVariable (&r_multitexture);
+       Cvar_RegisterVariable (&r_textureunits);
        if (gamemode == GAME_NEHAHRA)
                Cvar_SetValue("r_fullbrights", 0);
        R_RegisterModule("GL_Main", gl_main_start, gl_main_shutdown, gl_main_newmap);
@@ -505,8 +532,6 @@ static void R_SetupFrame (void)
                if (r_ambient.value != 0)
                        Cvar_Set ("r_ambient", "0");
        }
-       if (r_multitexture.integer && gl_textureunits < 2)
-               Cvar_SetValue("r_multitexture", 0);
 
        r_framecount++;
 
@@ -538,7 +563,7 @@ static void R_BlendView(void)
        m.depthdisable = true; // magic
        m.numtriangles = 1;
        m.numverts = 3;
-       if (R_Mesh_Draw_GetBuffer(&m))
+       if (R_Mesh_Draw_GetBuffer(&m, false))
        {
                m.index[0] = 0;
                m.index[1] = 1;
@@ -558,6 +583,7 @@ static void R_BlendView(void)
                m.vertex[8] = m.vertex[0] + vright[0] * r;
                m.vertex[9] = m.vertex[1] + vright[1] * r;
                m.vertex[10] = m.vertex[2] + vright[2] * r;
+               R_Mesh_Render();
        }
 }