- rsurface_vertex3f = rsurface_array_vertex3f;
- rsurface_svector3f = NULL;
- rsurface_tvector3f = NULL;
- rsurface_normal3f = NULL;
- Mod_Alias_GetMesh_Vertex3f(rsurface_model, rsurface_entity->frameblend, rsurface_array_vertex3f);
+ rsurface_modelvertex3f = rsurface_array_modelvertex3f;
+ rsurface_modelsvector3f = NULL;
+ rsurface_modeltvector3f = NULL;
+ rsurface_modelnormal3f = NULL;
+ Mod_Alias_GetMesh_Vertex3f(rsurface_model, rsurface_entity->frameblend, rsurface_array_modelvertex3f);
+ rsurface_generatedvertex = true;
+ }
+ else
+ {
+ rsurface_modelvertex3f = rsurface_model->surfmesh.data_vertex3f;
+ rsurface_modelsvector3f = rsurface_model->surfmesh.data_svector3f;
+ rsurface_modeltvector3f = rsurface_model->surfmesh.data_tvector3f;
+ rsurface_modelnormal3f = rsurface_model->surfmesh.data_normal3f;
+ rsurface_generatedvertex = false;
+ }
+ rsurface_vertex3f = rsurface_modelvertex3f;
+ rsurface_svector3f = rsurface_modelsvector3f;
+ rsurface_tvector3f = rsurface_modeltvector3f;
+ rsurface_normal3f = rsurface_modelnormal3f;
+ rsurface_mode = RSURFMODE_NONE;
+}
+
+void RSurf_CleanUp(void)
+{
+ if (rsurface_mode == RSURFMODE_GLSL)
+ qglUseProgramObjectARB(0);
+ GL_AlphaTest(false);
+ rsurface_mode = RSURFMODE_NONE;
+ rsurface_lightmaptexture = NULL;
+ rsurface_texture = NULL;
+ rsurface_glsl_texture = NULL;
+}
+
+void RSurf_PrepareVerticesForBatch(qboolean generatenormals, qboolean generatetangents, int texturenumsurfaces, msurface_t **texturesurfacelist)
+{
+ if (rsurface_generatedvertex)
+ {