+ if (texture->skin.glow)
+ {
+ memset(&m, 0, sizeof(m));
+ GL_BlendFunc(GL_SRC_ALPHA, GL_ONE);
+ GL_DepthMask(false);
+ m.pointer_color = varray_color4f;
+ m.tex[0] = R_GetTexture(texture->skin.glow);
+ m.pointer_vertex = surf->mesh.data_vertex3f;
+ if (m.tex[0])
+ {
+ m.pointer_texcoord[0] = surf->mesh.data_texcoordtexture2f;
+ if (turb)
+ {
+ // scrolling in texture matrix
+ Matrix4x4_CreateTranslate(&m.texmatrix[0], sin(cl.time) * 0.025 * r_waterscroll.value, sin(cl.time * 0.8f) * 0.025 * r_waterscroll.value, 0);
+ }
+ }
+ R_Mesh_State(&m);
+ RSurf_FoggedColors_Vertex3f_Color4f(surf->mesh.data_vertex3f, varray_color4f, 1, 1, 1, currentalpha, 1, surf->mesh.num_vertices, modelorg);
+ GL_LockArrays(0, surf->mesh.num_vertices);
+ R_Mesh_Draw(surf->mesh.num_vertices, surf->mesh.num_triangles, surf->mesh.data_element3i);
+ GL_LockArrays(0, 0);
+ }
+ if (fogenabled && rendertype != SURFRENDER_ADD)
+ {
+ memset(&m, 0, sizeof(m));
+ GL_BlendFunc(GL_SRC_ALPHA, GL_ONE);
+ GL_DepthMask(false);
+ m.pointer_color = varray_color4f;
+ m.tex[0] = R_GetTexture(texture->skin.fog);
+ m.pointer_vertex = surf->mesh.data_vertex3f;
+ if (m.tex[0])
+ {
+ m.pointer_texcoord[0] = surf->mesh.data_texcoordtexture2f;
+ if (turb)
+ {
+ // scrolling in texture matrix
+ Matrix4x4_CreateTranslate(&m.texmatrix[0], sin(cl.time) * 0.025 * r_waterscroll.value, sin(cl.time * 0.8f) * 0.025 * r_waterscroll.value, 0);
+ }
+ }
+ R_Mesh_State(&m);
+ RSurf_FogPassColors_Vertex3f_Color4f(surf->mesh.data_vertex3f, varray_color4f, fogcolor[0], fogcolor[1], fogcolor[2], currentalpha, 1, surf->mesh.num_vertices, modelorg);
+ GL_LockArrays(0, surf->mesh.num_vertices);
+ R_Mesh_Draw(surf->mesh.num_vertices, surf->mesh.num_triangles, surf->mesh.data_element3i);
+ GL_LockArrays(0, 0);
+ }