Bonjour,
Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai donc créer un Quad de la taill de la fenetre et je tente désepérément de la texturer mais pas moyen d'y arriver. Alors je viens voir si une ame charitabkle voudrais bien me donner un petit peu d'aide.
Voila le code : (le code de copier coller par ci et par la, notemment du site du zero)
void InitSdlOpenGl()
{
SDL_Init(SDL_INIT_VIDEO);
atexit(SDL_Quit);
SDL_WM_SetCaption("Loftus simulation", NULL);
SDL_SetVideoMode(LARGEUR_ECRAN, HAUTEUR_ECRAN, 32, SDL_OPENGL);
glMatrixMode( GL_PROJECTION );
glLoadIdentity( );
gluOrtho2D(0,LARGEUR_ECRAN,0,HAUTEUR_ECRAN);
glDisable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
SDL_EnableKeyRepeat(10,10);
}
cz2DEngine::cz2DEngine()
{
m_textureId = loadTexture("E:\\Projets\\Positionnement\\Sources\\C++\\LoftuSimu\\bin\\Debug\\stainedglass05.jpg", false);
// m_textureId = loadBMPTexture("E:\\Projets\\Positionnement\\Sources\\C++\\LoftuSimu\\bin\\Debug\\stainedglass05.jpg");
std::cout<<m_textureId<<"\n";
}
void cz2DEngine::Draw()
{
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode( GL_MODELVIEW );
glLoadIdentity( );
glBindTexture(GL_TEXTURE_2D, m_textureId);
glColor3ub(255,255,255);
glBegin(GL_QUADS);
glTexCoord2i(0,0); glVertex2i(0,0);
glTexCoord2i(1,0); glVertex2i(0,400);
glTexCoord2i(1,1); glVertex2i(400,400);
glTexCoord2i(0,1); glVertex2i(400,0);
glEnd();
glFlush();
SDL_GL_SwapBuffers();
}
Voila merci
Damien
*Les fautes d'orthographes jointes à la présente missive, sont la propriété exclusive de l'auteur. Toute copie illégale pourra être passive de poursuites judiciaires, et soumises à des peines et sanctions exemplaires.