Exemplo simples de GL_TEXTURE_2D para C++

Olá boa noite
gostaria de uma ajuda

to tentando saber como colocar uma textura do geito mais simples sem muita função
e que to iniciando agora em c++ open gl.

esse e oq tentei mais naum deu certo não carrega a imagem

e ja coloquei todas as bibliotecas necessarias

#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glut.h>
#include <gl/glaux.h>
#include <math.h>

static void Desenha(void) {

//Criação das texturas
unsigned int Texturas[10] ;
_AUX_RGBImageRec *Imagem;

glEnable(GL_TEXTURE_2D);
glGenTextures(2, Texturas);

//Criação da textura da esfera
Imagem = auxDIBImageLoadA((const char*)"terra.bmp");
glBindTexture(GL_TEXTURE_2D, Texturas[10]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, Imagem->sizeX,Imagem->sizeY, 0,GL_RGB,GL_UNSIGNED_BYTE,Imagem->data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
delete Imagem;

glBindTexture(GL_TEXTURE_2D, Texturas[0]);
//frente
glColor3b(127, 0, 0);
glTexCoord2f(0, 0); glVertex3f(0, 0, 0);
glTexCoord2f(1, 0); glVertex3f(1, 0, 0);
glTexCoord2f(1, 1); glVertex3f(1, 1, 0);
glTexCoord2f(0, 1); glVertex3f(0, 1, 0);
//direita
glColor3b(0, 127, 0);
glTexCoord2f(0, 0); glVertex3f(1, 0, 0);
glTexCoord2f(1, 0); glVertex3f(1, 0, -1);
glTexCoord2f(1, 1); glVertex3f(1, 1, -1);
glTexCoord2f(0, 1); glVertex3f(1, 1, 0);
//trás
glColor3b(0, 0, 127);
glTexCoord2f(0, 0); glVertex3f(1, 0, -1);
glTexCoord2f(1, 0); glVertex3f(0, 0, -1);
glTexCoord2f(1, 1); glVertex3f(0, 1, -1);
glTexCoord2f(0, 1); glVertex3f(1, 1, -1);
//direita
glColor3b(127, 127, 0);
glTexCoord2f(0, 0); glVertex3f(0, 0, -1);
glTexCoord2f(1, 0); glVertex3f(0, 0, 0);
glTexCoord2f(1, 1); glVertex3f(0, 1, 0);
glTexCoord2f(0, 1); glVertex3f(0, 1, -1);
//superior
glColor3b(0, 127, 127);
glTexCoord2f(0, 0); glVertex3f(0, 1, 0);
glTexCoord2f(1, 0); glVertex3f(1, 1, 0);
glTexCoord2f(1, 1); glVertex3f(1, 1, -1);
glTexCoord2f(0, 1); glVertex3f(0, 1, -1);
//inferior
glColor3b(127, 0, 127);
glTexCoord2f(0, 0); glVertex3f(0, 0, -1);
glTexCoord2f(1, 0); glVertex3f(1, 0, -1);
glTexCoord2f(1, 1); glVertex3f(1, 0, 0);
glTexCoord2f(0, 1); glVertex3f(0, 0, 0);
glEnd();



glFlush();
glutSwapBuffers();
glutPostRedisplay();

}


int main() {
    
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);     

glutInitWindowSize(600,600); 
glutCreateWindow("teste de textura ");

glMatrixMode(GL_PROJECTION);
gluPerspective(75.0,1,1,30);
glMatrixMode(GL_MODELVIEW);
glutDisplayFunc(Desenha);

glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);

glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
 
glutMainLoop();
} 

des de ja grato,

ahh to compilando no DEV C/C++ 4.9.9.2

De cara, dá para ver que está faltando as instruções glBegin() e glEnd() no seu código.

Bom, também eu começaria me livrando do DevCpp. Não é muito prudente usar uma IDE tão antiga, com uma compilador igualmente velho. Você não programaria hoje com o Java 1.1 no Netbeans 1.0, programaria? Então pq faz isso no C++?

No lugar, ou você instala o code::blocks:
http://www.pontov.com.br/site/index.php/cpp/56-opengl/137-criando-um-ambiente-para-jogos-com-sdlopengl

Ou o próprio Visual C++ Express.

Seus parâmetros de texturas também estão estranhos. Dá uma olhadinha aqui, e vê se isso te esclarece um pouco:
http://www.pontov.com.br/site/index.php/cpp/56-opengl/204-texturas-parte-1
http://www.pontov.com.br/site/index.php/cpp/56-opengl/205-texturas-parte-2

Evite aquele cast feio ali. Ao invés de strings primitivas, considere a possibilidade de trabalhar com o std::string, é mais fácil do que você imagina.

Finalmente, você tem certeza que a função que carrega a imagem está carregando ela corretamente? A imagem é mesmo do tipo RGB?

:? cara vc me deu uma grande ajuda
O DevCpp eu uso pq e oq se aplica na minha faculdade saca :roll:
sobre a imagem sim ela e RGB

vou aplicar hj o Visual C++ Express para estudos

um comentario pessoal,
esse forum e de grande ajudar, achei q não teria resposta sobre outras linguagens

valews pela dica ViniGodoy

Uma dúvida, será que não seria possível usar o JOGL?
http://kenai.com/projects/jogl/pages/Home

Ou o seu professor exige que seja em C++?

tem q ser em c++ :cry:

Bom, o C++ também é uma ótima linguagem.

Procure conhecer a STL e usar suas classes.
Se sua aplicação ficar mais complexa, é uma boa conhecer a boost também. Caso contrário, a programação fica mesmo difícil.