Здравствуйте дорогие форумчане! Подскажите как раскрасить обратную сторону четырехугольника в Opengl с Си. Cейчас я подгружаю текстуры так:
int LoadGLTextures( )
{
int Status = FALSE;
SDL_Surface *TextureImage[100];
int texture_id;
char *texture_path;
for ( texture_id = 0; texture_id < 33; ++texture_id) {
texture_path="jpg/";
texture_path=char_append(texture_path, karti[texture_id]);
texture_path=char_append(texture_path,".jpg");
if ( ( TextureImage[texture_id] = IMG_Load( texture_path ) ) )
{
Status = TRUE;
glGenTextures( 1, &texture[texture_id] );
glBindTexture( GL_TEXTURE_2D, texture[texture_id] );
glTexImage2D( GL_TEXTURE_2D, 0, 3, TextureImage[texture_id]->w, TextureImage[texture_id]->h, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[texture_id]->pixels );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
}
if ( TextureImage[texture_id] ) { SDL_FreeSurface( TextureImage[texture_id] ); }
}
return Status;
}
а рисуются они на обеих сторонах четырехугольника, так:
void drawGLPlane(float card_x, float card_y, float card_z, float center_x, float center_y, float center_z, float card_width, float card_height, float angle_value_x, float angle_value_y, float angle_value_z, float card_alpha, float texture)
{
glPushMatrix();
glTranslatef( card_x, card_y, card_z );
glRotatef( angle_value_x, 1.0, 0.0, 0.0);
glRotatef( angle_value_y, 0.0, 1.0, 0.0);
glRotatef( angle_value_z, 0.0, 0.0, 1.0);
glTranslatef( center_x, center_y, center_z );
glBindTexture( GL_TEXTURE_2D, texture );
glColor4f(1.0f,1.0f,1.0f, card_alpha);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glBegin(GL_QUADS);
glTexCoord2f( 0.0, 1.0 ); glVertex3f( -card_width-center_x, -card_height-center_y, 0.0 );
glTexCoord2f( 1.0, 1.0 ); glVertex3f( card_width-center_x, -card_height-center_y, 0.0 );
glTexCoord2f( 1.0, 0.0 ); glVertex3f( card_width-center_x, card_height-center_y, 0.0 );
glTexCoord2f( 0.0, 0.0 ); glVertex3f( -card_width-center_x, card_height-center_y, 0.0 );
glEnd( );
glDisable(GL_BLEND);
glPopMatrix();
}
Каким образом наложить 2 текстуры по разным сторонам? Надеюсь, что уже кто то подобное делал. Спасибо заранее!