lee137
Messages postés4Date d'inscriptiondimanche 31 octobre 2010StatutMembreDernière intervention16 décembre 2011
-
16 déc. 2011 à 00:05
lee137
Messages postés4Date d'inscriptiondimanche 31 octobre 2010StatutMembreDernière intervention16 décembre 2011
-
16 déc. 2011 à 12:47
Bonsoir!
En fait j'essaye de faire une cube 3D qui tourne, avec sur chaque face une texture.
En effet je suis débutante en programmation 3D et je pense que je il pourrait y avoir des erreurs stupides dans mon code qui empêchent mon cube de s'afficher.
void clip(pixel &col)
{
if (col.r>1.f)
col.r=1.f;
else
if (col.r<0.f)
col.r=0.f;
if (col.g>1.f)
col.g=1.f;
else
if (col.g<0.f)
col.g=0.f;
if (col.b>1.f)
col.b=1.f;
else
if (col.b<0.f)
col.b=0.f;
}
//tableau qui prend comme 3 premiers indices 3 sommets du cube(projette), les 3 indices suivants representent les 3 point du carre
//le dernier indice represente la texture qu'on veut appliquer
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 16 déc. 2011 à 09:27
Hello,
Pour un code assez long, il aurait été préférable d'utiliser les balises "code" (3e icone à droite, juste au-dessus de la zone de texte).
Pour la base en développement 3D, je te conseille le site de Nehe, la référence dans le domaine.
Si c'est possible de me donner une réponse avant demain ce serait super
Tout le monde ici est bénévole et volontaire. Il ne faut donc pas s'attendre forcément à une réponse rapide
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jhon512
Messages postés15Date d'inscriptionjeudi 1 décembre 2011StatutMembreDernière intervention24 janvier 2012 16 déc. 2011 à 11:35
Bonjour,
- Je rejoins l'avis de buno pour ce qui est de la balise code.
- L'utilisation de la librairie GLUT est à prohiber. Utiliser freeglut ou autre à la place.
- A noter que tu cast des double dans ton code pour des variables de type float (peut être que le compilateur est intelligent et remet tout en ordre à la compile, je sais pas).. A moins d'avoir besoin d'une précision extrême, je te conseillerais d'utiliser des floats. axe.x=0.577350269189626; (axe.x = float, 0.12345= double, 0.123456f = float).
- C'est difficile de lire ton code :)(ce n'est pas pour être désagréable). Les tuto de Nehe sont bien réalisé, tu devrais te baser sur ceux là (ou des autres).
Je pratique L'utilisation d'opengl depuis quelques années, mais j'ai du mal à comprendre le fonctionnement de ton code. peut être à cause de la colorisation syntaxique absente mais aussi car je pense que tu te casse la tête pour afficher un bête cube avec une texture sur chaque faces. Ta démarche est appréciable, mais tu t'embrouille pour rien avec tout ce code :)
A+, quand tu auras des problèmes avec les tutos de nehe ou des autres ;)
lee137
Messages postés4Date d'inscriptiondimanche 31 octobre 2010StatutMembreDernière intervention16 décembre 2011 16 déc. 2011 à 12:47
Merci pour vos réponses! Je tiendrais compte de toutes vos remarques.
Buno, je penserais à donner du temps aux miracles pour pourvoir s'accomplir:P
La structure de mon code est en fait le résultat d'un cours (ceci est un devoir) le prof veut qu'on sache "programmer" ce qu'on veut faire, avant d'utiliser les fonctionnalités d'OpenGL