Voilà le code de cube.h:
#include <windows.h>
#include <GL\gl.h>
#include <GL\glu.h>
static BYTE face_indicies[12][3] = {
// Box01
{0,2,3 }, {3,1,0 }, {4,5,7 }, {7,6,4 }, {0,1,5 }, {5,4,0 }, {1,3,7 },
{7,5,1 }, {3,2,6 }, {6,7,3 }, {2,0,4 }, {4,6,2 }
};
static GLfloat vertices [8][3] = {
{-0.5f,-0.451219f,-0.27439f},{0.5f,-0.451219f,-0.27439f},{-0.5f,0.451219f,-0.27439f},
{0.5f,0.451219f,-0.27439f},{-0.5f,-0.451219f,0.27439f},{0.5f,-0.451219f,0.27439f},
{-0.5f,0.451219f,0.27439f},{0.5f,0.451219f,0.27439f}
};
GLint cubegen()
{
int i;
int j;
GLint lid=glGenLists(1);
glNewList(lid, GL_COMPILE);
glBegin (GL_TRIANGLES);
for(i=0;i<sizeof(face_indicies)/sizeof(face_indicies[0]);i++)
{
for(j=0;j<3;j++)
{
int vi=face_indicies[i][j];
glVertex3f (vertices[vi][0],vertices[vi][1],vertices[vi][2]);
}
}
glEnd ();
glEndList();
return lid;
GLint cube=cubegen ();
};
Dans le fichier main.cpp, j'ai mis #include "cube.h" et plus loin j'ai glCallList (cube); mais VC++ me dit que la variable cube n'exsite pas. Comment faire qu'elle soit accessible dans le code principale?