X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=r_lightning.c;h=e80216ee434206ace92b13d27c9cb33e3dad0a90;hp=5108a735b48a8611ca222fc6b97be814b578f31f;hb=137e29f228f1309a5cfb2c709a362ec159efd581;hpb=eab50b35822052aad2a31fece513583600e5941f;ds=sidebyside diff --git a/r_lightning.c b/r_lightning.c index 5108a735..e80216ee 100644 --- a/r_lightning.c +++ b/r_lightning.c @@ -282,7 +282,6 @@ void R_DrawLightningBeamCallback(const void *calldata1, int calldata2) m.tex[0] = R_GetTexture(r_lightningbeamtexture); m.pointer_texcoord[0] = varray_texcoord2f[0]; m.pointer_vertex = varray_vertex3f; - R_Mesh_State(&m); GL_BlendFunc(GL_SRC_ALPHA, GL_ONE); GL_DepthMask(false); @@ -310,18 +309,20 @@ void R_DrawLightningBeamCallback(const void *calldata1, int calldata2) 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 { // solid color if fog is not used - GL_ColorPointer(NULL); 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)