1.1 --- a/src/pvr2/glrender.c Mon Jul 14 07:44:42 2008 +0000
1.2 +++ b/src/pvr2/glrender.c Sun Sep 07 04:23:49 2008 +0000
1.4 glEnableClientState( GL_VERTEX_ARRAY );
1.5 glEnableClientState( GL_TEXTURE_COORD_ARRAY );
1.6 glEnableClientState( GL_SECONDARY_COLOR_ARRAY );
1.7 + glEnableClientState( GL_FOG_COORDINATE_ARRAY_EXT );
1.9 glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
1.11 @@ -181,6 +182,22 @@
1.13 glDisable( GL_TEXTURE_2D );
1.16 + switch( POLY2_FOG_MODE(poly2) ) {
1.17 + case PVR2_POLY_FOG_LOOKUP:
1.18 + glFogfv( GL_FOG_COLOR, pvr2_scene.fog_lut_colour );
1.19 + glEnable( GL_FOG );
1.21 + case PVR2_POLY_FOG_VERTEX:
1.22 + if( POLY1_SPECULAR(poly1) ) {
1.23 + glFogfv( GL_FOG_COLOR, pvr2_scene.fog_vert_colour );
1.24 + glEnable( GL_FOG );
1.26 + } /* else fallthrough */
1.28 + glDisable( GL_FOG );
1.32 glShadeModel( POLY1_SHADE_MODEL(poly1) );
1.34 @@ -296,7 +313,11 @@
1.35 glColorPointer(4, GL_FLOAT, sizeof(struct vertex_struct), &pvr2_scene.vertex_array[0].rgba[0]);
1.36 glTexCoordPointer(2, GL_FLOAT, sizeof(struct vertex_struct), &pvr2_scene.vertex_array[0].u);
1.37 glSecondaryColorPointerEXT(3, GL_FLOAT, sizeof(struct vertex_struct), pvr2_scene.vertex_array[0].offset_rgba );
1.39 + glFogCoordPointerEXT(GL_FLOAT, sizeof(struct vertex_struct), &pvr2_scene.vertex_array[0].offset_rgba[3] );
1.40 + glFogi(GL_FOG_COORDINATE_SOURCE_EXT, GL_FOG_COORDINATE_EXT);
1.41 + glFogi(GL_FOG_MODE, GL_LINEAR);
1.42 + glFogf(GL_FOG_START, 0.0);
1.43 + glFogf(GL_FOG_END, 1.0);
1.44 /* Turn on the shaders (if available) */
1.45 glsl_enable_shaders(TRUE);