|
|
@ -1584,7 +1584,13 @@ void R_DrawBrushModel( cl_entity_t *e ) |
|
|
|
GL_SetupFogColorForSurfaces (); |
|
|
|
GL_SetupFogColorForSurfaces (); |
|
|
|
|
|
|
|
|
|
|
|
if( e->curstate.rendermode == kRenderTransAdd ) |
|
|
|
if( e->curstate.rendermode == kRenderTransAdd ) |
|
|
|
|
|
|
|
{ |
|
|
|
R_AllowFog( false ); |
|
|
|
R_AllowFog( false ); |
|
|
|
|
|
|
|
allow_vbo = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if( e->curstate.rendermode == kRenderTransColor || e->curstate.rendermode == kRenderTransTexture ) |
|
|
|
|
|
|
|
allow_vbo = false; |
|
|
|
|
|
|
|
|
|
|
|
psurf = &clmodel->surfaces[clmodel->firstmodelsurface]; |
|
|
|
psurf = &clmodel->surfaces[clmodel->firstmodelsurface]; |
|
|
|
num_sorted = 0; |
|
|
|
num_sorted = 0; |
|
|
@ -1959,7 +1965,7 @@ void R_GenerateVBO() |
|
|
|
// prepare decal array
|
|
|
|
// prepare decal array
|
|
|
|
pglGenBuffersARB( 1, &vbos.decaldata->decalvbo ); |
|
|
|
pglGenBuffersARB( 1, &vbos.decaldata->decalvbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.decaldata->decalvbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.decaldata->decalvbo ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vbovertex_t ) * DECAL_VERTS_CUT * MAX_RENDER_DECALS, vbos.decaldata->decalarray, GL_STATIC_DRAW_ARB ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vbovertex_t ) * DECAL_VERTS_CUT * MAX_RENDER_DECALS, vbos.decaldata->decalarray, GL_DYNAMIC_DRAW_ARB ); |
|
|
|
|
|
|
|
|
|
|
|
// preallocate dlight arrays
|
|
|
|
// preallocate dlight arrays
|
|
|
|
vbos.dlight_index = Mem_Calloc( vbos.mempool, maxindex * sizeof( unsigned short ) * 6 ); |
|
|
|
vbos.dlight_index = Mem_Calloc( vbos.mempool, maxindex * sizeof( unsigned short ) * 6 ); |
|
|
@ -1971,10 +1977,10 @@ void R_GenerateVBO() |
|
|
|
{ |
|
|
|
{ |
|
|
|
pglGenBuffersARB( 1, &vbos.dlight_vbo ); |
|
|
|
pglGenBuffersARB( 1, &vbos.dlight_vbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.dlight_vbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.dlight_vbo ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vec2_t ) * (int)(vbos.arraylist->next?USHRT_MAX + 1:vbos.arraylist->array_len + 1) , vbos.dlight_tc, GL_DYNAMIC_DRAW_ARB ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vec2_t ) * (int)(vbos.arraylist->next?USHRT_MAX + 1:vbos.arraylist->array_len + 1) , vbos.dlight_tc, GL_STREAM_DRAW_ARB ); |
|
|
|
pglGenBuffersARB( 1, &vbos.decal_dlight_vbo ); |
|
|
|
pglGenBuffersARB( 1, &vbos.decal_dlight_vbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.decal_dlight_vbo ); |
|
|
|
pglBindBufferARB( GL_ARRAY_BUFFER_ARB, vbos.decal_dlight_vbo ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vbos.decal_dlight ), vbos.decal_dlight, GL_DYNAMIC_DRAW_ARB ); |
|
|
|
pglBufferDataARB( GL_ARRAY_BUFFER_ARB, sizeof( vbos.decal_dlight ), vbos.decal_dlight, GL_STREAM_DRAW_ARB ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|