bonjour à tous,
je voudrais savoir comment insérer des objet glut de façon dynamique.
Je m'explique :

j'ai une fenêtre glut dans laquelle j'ai un cube qui définie mon espace.

je souhaiterais ajouter dans mon cube des sphères via la touche "n" (les sphere seront stockées dans un tableau).

Pour cela j'ai créer une classe sphere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
float sphere::lieuDeNaissance(float P_min,float P_max){
    P_x = ((P_max-P_min)*((float)rand()/RAND_MAX))+P_min;
    P_y = ((P_max-P_min)*((float)rand()/RAND_MAX))+P_min;
    P_z = ((P_max-P_min)*((float)rand()/RAND_MAX))+P_min;
 
}
void sphere::affiche(){
 
    sphere::lieuDeNaissance(0.0,30.0);
 
    glTranslatef(0.0f, 0.0f, -100.0f);
 
    glPushMatrix();
        glColor3f(5.0, 34.0, 1.0);
        glTranslated(P_x,P_y,P_z);
        glutSolidSphere(5.0, 60,60);
    glPopMatrix();
 
}
Voici ma fonction d'affichage du main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
void Affichage_Scene()
{
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT |
                            GL_STENCIL_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
Positionne_Camera();
 
 
	// on déplace tous les objets pour qu'ils soient visibles
	glTranslatef(0.0f, 0.0f, -100.0f);
        glRotatef(xcam, ycam, xcam, ycam);
 
sphere S; //création d'un objet S
S.affiche(); //appel de la fontion affiche de la classe sphere
 
	// Activation du blending
	glEnable(GL_BLEND);
	glDepthMask(GL_FALSE);	// mode lecture seul pour le tampon de profondeur
	glBlendFunc(GL_ONE, GL_ONE);	// fonction utilisé pour la transparence
 
 
 
	// Dessin du cube transparent
	glPushMatrix();
		glColor4f(0.0, 0.0, 5.7, 0.0);
		glutWireCube(tailleEspace);
	glPopMatrix();
 
	glDepthMask(GL_TRUE);	// mode écriture pour le tampon de profondeur
	glDisable(GL_BLEND);	// Arrêt du blending
 
	glFlush();
	glutSwapBuffers();
 
}
Pour l'instant lorsque je compile une sphère est créer avec une position aléatoire mais elle est aussitôt détruite et une autre apparait infiniment.

Je souhaiterais savoir comment stocké mes sphères dans un tableau vector et pouvoir les afficher depuis ma fonction Affichage_Scene.

Merci pour vos réponse!