[ C++ OPENGL ] Кто сможет откомпилировать этот код? Запарился уже..

stm8851547

ochnostruct
{
struct
{
float pos[3];
float col[3];
}ver[8];
struct
{
unsigned int ver[6];
float norm[3];
}quad[6];
}cube;
typedef struct
{
float pos[4];
float diffuse[4];
float specular[4];
float ambient[4];
}light_t;
light_t light={
{6,10,15,1},
{1,1,1,1},
{0,0,0,1},
{0,0,0,1}
};
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0);
glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT,GL_DIFFUSE);
float black[4]={0,0,0,0};
glMaterialfv(GL_FRONT,GL_AMBIENT,black);
glMaterialfv(GL_FRONT,GL_SPECULAR,black);
void crossProduct(float *c,float a[3], float b[3]);
void normalize(float *vect);
void getFaceNormal(float *norm,float pointa[3],float pointb[3],float pointc[3]);
void
getFaceNormal(float *norm,float pointa[3],float pointb[3],float pointc[3])
{
float vect[2][3];
int a,b;
float point[3][3];
for (a=0;a<3;++a)
{
point[0][a]=pointa[a];
point[1][a]=pointb[a];
point[2][a]=pointc[a];
}
for (a=0;a<2;++a)
{
for (b=0;b<3;++b)
{
vect[a][b]=point[2-a][b]-point[0][b];
}
}
crossProduct(norm,vect[0],vect[1]);
normalize(norm);
}
void crossProduct(float *c,float a[3], float b[3])
{
c[0]=a[1]*b[2] - b[1]*a[2];
c[1]=a[2]*b[0] - b[2]*a[0];
c[2]=a[0]*b[1] - b[0]*a[1];
}
length=sqrt(
pow(vect[0],2)+
pow(vect[1],2)+
pow(vect[2],2)
);
for (a=0;a<3;++a)
{
vect[a]/=length;
}
for (a=0;a<6;++a)
{
getFaceNormal(cube.quad[a].norm, cube.ver[ cube.quad[a].ver[2] ].pos,
cube.ver[ cube.quad[a].ver[1] ].pos,
cube.ver[ cube.quad[a].ver[0] ].pos);
}
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLightfv(GL_LIGHT0,GL_POSITION,light.pos);
glLightfv(GL_LIGHT0,GL_DIFFUSE,light.diffuse);
glLightfv(GL_LIGHT0,GL_SPECULAR,light.specular);
glLightfv(GL_LIGHT0,GL_AMBIENT,light.ambient);
glPushMatrix;
for (a=0;a<6;++a)
{
glNormal3fv(cube.quad[ a ].norm);
for (b=0;b<4;++b)
{
currentVer=cube.quad[a].ver[b];

0000

Это не код - это хрень какая то, использующие OpenGL функции.
Давай полностью код или напиши че те надо.

stm8851547

figa.se
nujna programma:
s prostim izobrajeniem kubika, a potom nalojit' na kub osveshenie.

okunek

да, перед тем, как изучать с++, стоит для сначала заботать копипаст

margadon

ochnostruct - это чито такое?

Elina74

for (a=0;a<6;++a)
{
glNormal3fv(cube.quad[ a ].norm);
for (b=0;b<4;++b)
{
currentVer=cube.quad[a].ver[b];
---
цикл не закрыт, потому и не компилится, еще виновато слово очностракт в начале твоего кода
Оставить комментарий
Имя или ник:
Комментарий: