X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=r_lightning.c;h=e80216ee434206ace92b13d27c9cb33e3dad0a90;hb=dccc25c85d6f500995224e813aee2d40e70f0737;hp=5919d3cfbb5f9c6a7a2fac5cf6817b6c6c22e723;hpb=1bec31bb91329446cdc6cf04fa2d2a7a83e7dabc;p=xonotic%2Fdarkplaces.git diff --git a/r_lightning.c b/r_lightning.c index 5919d3cf..e80216ee 100644 --- a/r_lightning.c +++ b/r_lightning.c @@ -281,7 +281,7 @@ void R_DrawLightningBeamCallback(const void *calldata1, int calldata2) else m.tex[0] = R_GetTexture(r_lightningbeamtexture); m.pointer_texcoord[0] = varray_texcoord2f[0]; - R_Mesh_State_Texture(&m); + m.pointer_vertex = varray_vertex3f; GL_BlendFunc(GL_SRC_ALPHA, GL_ONE); GL_DepthMask(false); @@ -305,12 +305,11 @@ void R_DrawLightningBeamCallback(const void *calldata1, int calldata2) R_CalcLightningBeamPolygonTexCoord2f(varray_texcoord2f[0] + 0, t1, t2); R_CalcLightningBeamPolygonTexCoord2f(varray_texcoord2f[0] + 8, t1 + 0.33, t2 + 0.33); R_CalcLightningBeamPolygonTexCoord2f(varray_texcoord2f[0] + 16, t1 + 0.66, t2 + 0.66); - GL_VertexPointer(varray_vertex3f); if (fogenabled) { // per vertex colors if fog is used - GL_ColorPointer(varray_color4f); + m.pointer_color = varray_color4f; R_FogLightningBeam_Vertex3f_Color4f(varray_vertex3f, varray_color4f, 12, r_lightningbeam_color_red.value, r_lightningbeam_color_green.value, r_lightningbeam_color_blue.value, 1); } else @@ -318,9 +317,12 @@ void R_DrawLightningBeamCallback(const void *calldata1, int calldata2) // solid color if fog is not used GL_Color(r_lightningbeam_color_red.value, r_lightningbeam_color_green.value, r_lightningbeam_color_blue.value, 1); } + R_Mesh_State(&m); // draw the 3 polygons as one batch of 6 triangles using the 12 vertices + GL_LockArrays(0, 12); R_Mesh_Draw(12, 6, r_lightningbeamelements); + GL_LockArrays(0, 0); } void R_DrawLightningBeams(void)