ci-dessous sont une longueur entière de code que j'ai copié de NEHE Production (leçon 25) .. J'essayais juste de jouer autour, mais semblent ne pas pouvoir changer/convertir chaque points en un sphères individuelles ou cylindre ..
en quelque sorte quand j'ai fait mon ajustement, ils ne sont pas disposés de la façon dont ils sont supposés et ils ne tourneront pas ..
J'ai prévu d'ajouter de la lumière dans ce tutoriel plus tard aussi ..Besoin d'aide avec la conversion de points en formes
grâce à l'avance pour toute aide =]
int InitGL(GLvoid)
{
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClearDepth(1.0);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_SMOOTH);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
maxver=0;
objload("data/sphere.txt",&morph1);
objload("data/torus.txt",&morph2);
objload("data/Tube.txt",&morph3);
objallocate(&morph4,10300);
for(int i=0;i<10300;i++)
{
morph4.points[i].x=((float)(rand()%14000)/1000)-7;
morph4.points[i].y=((float)(rand()%14000)/1000)-7;
morph4.points[i].z=((float)(rand()%14000)/1000)-7;
}
objload("data/Tube.txt",&helper);
sour=dest=&morph1;
return TRUE;
}
void DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(cx,cy,cz);
glRotatef(xrot,1,0,0);
glRotatef(yrot,0,1,0);
glRotatef(zrot,0,0,1);
xrot+=xspeed; yrot+=yspeed; zrot+=zspeed;
GLfloat tx,ty,tz;
VERTEX q;
glPointSize(2.0f);
//glBegin(GL_POINTS);
for(int i=0;i<morph3.verts;i++)
{
if(morph)
q=calculate(i);
else
q.x=q.y=q.z=0;
helper.points[i].x-=q.x;
helper.points[i].y-=q.y;
helper.points[i].z-=q.z;
tx=helper.points[i].x;
ty=helper.points[i].y;
tz=helper.points[i].z;
glColor3f(0,1,1);
glPushMatrix(); //i have modified this part onwards
gltranslaste(tx,ty,tz);
glutSolidSphere(2,6,6);
glPopMatrix();
/*glVertex3f(tx,ty,tz);
glColor3f(0,0.5f,1);
tx-=2*q.x; ty-=2*q.y; ty-=2*q.y;
glVertex3f(tx,ty,tz);
glColor3f(0,0,1);
tx-=2*q.x; ty-=2*q.y; ty-=2*q.y;
glVertex3f(tx,ty,tz);*/
}
//glEnd();
if(morph && step<=steps)
step++;
else
{
morph=FALSE; sour=dest; step=0;
}
}
Vous devriez éditer votre question et indenter tout votre code par 4 espaces supplémentaires ... de cette façon l'ensemble apparaîtra correctement dans un bloc. – Beska
Un endroit où regex est or remplacer ("; \ s \ s +") –
Applaudissez @LFSR plus de travail que je ne voulais commettre! –