Programmer en OpenGL... - Programmation
Marsh Posté le 21-04-2001 à 11:11:31
Je suis en train de débuter l'OpenGL moi aussi. Tu vas là, y a tout :
http://nehe.gamedev.net/
Si tu prog en VC++6, il y a même un wizard pour créer rapidement une appli OpenGL. Les tutoriaux sont excellents et complets.
( http://nehe.gamedev.net/opengl.asp )
Marsh Posté le 21-04-2001 à 11:57:45
Sinon il y a aussi http://rvirtual.free.fr rubrique prog.
Marsh Posté le 21-04-2001 à 12:16:20
et achète toi le red book: tu vas à la fnac et tu prends le bouquoi sur openGL1.2 au édition campuspress: c'est un bon investissement
Marsh Posté le 21-04-2001 à 16:05:44
Slt
je te conseil d'utiliser glut, c'est puissant pratique et multios, car faut pas oublier que opengl ne gere pas tout
ce qui est fenetre, glut est la pour ca, nehe c'est bien mais
il utilise win32 à la place de glut qui n'est pas compatible ss X par exemple (forcément) c'est + simple, je t'assure...a+
Marsh Posté le 22-04-2001 à 11:52:08
Je ne suis pas du tout d'accord en ce qui concerne l'utilisation de glut !!
J'ai commence l'openGL en novembre pour faire un moteur 3D (maintenant fini), et j'ai commence les creations de fenetres avec glut et je peux vous dire que c'est de la vrai merde !!
Ca gere pas le multi-touches, le fullscreen c'est qu'un veil etirement de ta fenetre, etc, etc...
Bref de toute facon vous serez oblige de passer par le Win32, ca donne vraiment de tres meilleurs resultats.
Si ca vous tente il devrait y avoir en ligne dans pas longtemps le moteur 3D que j'ai fait avec deux potes, avec les sources et tout et tout.
Pour le bouquin openGL 1.2, la je suis d'accord, c'est un bon investissement
Marsh Posté le 22-04-2001 à 11:53:20
Je ne suis pas du tout d'accord en ce qui concerne l'utilisation de glut !!
J'ai commence l'openGL en novembre pour faire un moteur 3D (maintenant fini), et j'ai commence les creations de fenetres avec glut et je peux vous dire que c'est de la vrai merde !!
Ca gere pas le multi-touches, le fullscreen c'est qu'un veil etirement de ta fenetre, etc, etc...
Bref de toute facon vous serez oblige de passer par le Win32, ca donne vraiment de tres meilleurs resultats.
Si ca vous tente il devrait y avoir en ligne dans pas longtemps le moteur 3D que j'ai fait avec deux potes, avec les sources et tout et tout.
Pour le bouquin openGL 1.2, la je suis d'accord, c'est un bon investissement
Marsh Posté le 22-04-2001 à 13:50:12
on peut dire que glut peut etre utile pour commencer car win32 c'est un peu plus compliqué mais aussi c'est quand meme plus pratique.
commencer avec glut peut etre utile au debut mais il faudra ensuite passer a win32 et meme a directx pour la partie 2d, gestion des entree (sous windows uniquement) pour un meilleur resultat.
Marsh Posté le 22-04-2001 à 16:32:54
On est donc bien d'accord pour le win32.
De toute facon au bout d'une semaine tu degages glut pour le win32.
Par contre pour les entrees, perso je gere avec les touches Windows (pas de directx) et pour la 2D un petit glOrtho et le tour est joue, on se retrouve dans un repere 2D.
J'ai rien essaye sous directx alors je sais pas trop si c'est mieux ou pas
Marsh Posté le 23-04-2001 à 00:34:34
sur nehe la plupart des projets sont fournit sous differentes versions glut/win32/borland/... et ça c'est tres bien.
Marsh Posté le 23-04-2001 à 09:40:24
Je crois pas qu'il y a ait du glut.
C'est des projets tout fait qu'il fille pour les differents compilo
Marsh Posté le 23-04-2001 à 12:25:20
si tu veux des cours en français, vas sur http://progzone.free.fr
Marsh Posté le 23-04-2001 à 13:10:53
Ouais ca c'est une bonne adresse mais fait gaffe y a pas mal de fautes dans mes tutoriaux, mais de toute facon faudra aller voir nehe apres parce que c'est vraiment le top au niveau openGL.
Marsh Posté le 23-04-2001 à 16:12:12
Moi j'ai commencé avec Directx pour mon projet de fin de dut (ddraw et directplay seulement) sous VC++
C plutot chaud au début mais après ca va.
Je commence maintenant Opengl.Je préfere pour l'instant delphi car il y a plusieurs composants qui se trouvent sur internet et qui simplifie son utilisation.
Je passerais bientot à la version VC++ qui me parait assez chaud..
Marsh Posté le 23-04-2001 à 17:00:17
Perso j'ai pas trouve ca chaud.
C'est bizarre que tu trouves ca chaud surtout si tu as fait du VC++ pour directx
Marsh Posté le 23-04-2001 à 17:09:25
ReplyMarsh Posté le 24-04-2001 à 09:36:22
Un bomberman en réseau et sous Directx.
Enfin, c moi qui avait choisit le sujet et le prof a trouvé ca super.
Marsh Posté le 24-04-2001 à 09:40:14
radeontof a écrit a écrit : Un bomberman en réseau et sous Directx. Enfin, c moi qui avait choisit le sujet et le prof a trouvé ca super. |
Pas mal du tout, moi j'ai fait un iut à Blagnac (Toulouse) et à la fin tout ce qu'on savait faire c'était pas grand chose. Je m'attendais à faire du DX ou OpenGL ou autre, mais nada. Tu l'as fait où ton dut ? Ca pourrait intéresser certains.
Marsh Posté le 24-04-2001 à 10:43:50
radeontof a écrit a écrit : [...] Je commence maintenant Opengl.Je préfere pour l'instant delphi car il y a plusieurs composants qui se trouvent sur internet et qui simplifie son utilisation. Je passerais bientot à la version VC++ qui me parait assez chaud.. |
OpenGL sous VC++ c'est tres facile, le plus chiant c'est quand tu veux mettre autre chose qu'une fenetre opengl dans ta fenetre (par exemple des boutons...).
Marsh Posté le 24-04-2001 à 12:55:50
Bounga69--> je l'ai fait a amiens.
Mais c pas eux qui m'ont appris dx, on a du (on était 3) apprendre tout seul.
A l'iut j'ai plutot appris les langages internet, c/c++,delphi,vb,asm,unix et réseaux.
Y'a qye les projets qui étaient interressants : pong 4 joueurs en asm, puissance 4 en javascript et en c...
Le dernier projet de fin de 2 ème année que l'on pouvait choisir.
(faut que le prof accepte).
darkoli-> tu as raison ca m'a l'air simple sous vc++.J'ai deja réussi a faire pas mal de truc.
As-tu réussi à faire une fenetre comportant la fenetre opengl et des boutons?
Marsh Posté le 24-04-2001 à 13:08:14
si tu veux faire un truc avec des boutons et multiplateforme il y a fltk (la doc est pas juste correct mais pour faire un minimum, c'est pas mal). www.fltk.org
Il y a aussi QT http://doc.trolltech.com/aboutqt.html qui a l'air mieux mais qui est payant sous windows (free pour linux/unix).
Sinon commence avec glut.
Tu peux faire ton programme avec seulement les touches du clavier géré, et la souris, sous glut. Des que ca tourne bien tu te fait un joli interface (win32 ou autre).
Win32 c'est pas multiplateforme.
Marsh Posté le 24-04-2001 à 13:22:39
dommage qu'il n'y ait pas un équivalent du site de Nehe en francais.
Marsh Posté le 24-04-2001 à 13:38:13
radeontof a écrit a écrit : [...] darkoli-> tu as raison ca m'a l'air simple sous vc++.J'ai deja réussi a faire pas mal de truc. As-tu réussi à faire une fenetre comportant la fenetre opengl et des boutons? |
ben personnelement non, je l'ai deja fait avec un menu mais ca c'est super facile par contre avec des boutons, jamais mais demande a pitounet. Peut etre qu'il te repondra, il me semble qu'il a fait qqc dans ce genre la.
Marsh Posté le 25-04-2001 à 08:45:11
ben nehe c'est quand meme pas tres dur !
Tu cales vraiment rien a l'anglais ?
Mais je crois qu'il y a une traduction francais mais c'est une mytho traduction.
Sur la page de Nehe en bas a gauche si je me trompe pas
Marsh Posté le 25-04-2001 à 11:34:47
non c'est pas pour moi. Au contraire, l'anglais j'adore et je trouve le tutorial de Nehe très bien fait, en temps que newser, je pense à ceux qui n'y pigent keudal à l'anglais. Sinon, j'ai fait ce truc là :
#include <glut.h>
#include <math.h>
int WindowName;
double a=0, b=0;
void Reshape(int width, int height);
void Draw();
void InitGL();
int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(1024,768);
WindowName = glutCreateWindow("B1" );
glutFullScreen();
InitGL();
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
void Reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,float(width)/float(height),0,100);
glMatrixMode(GL_MODELVIEW);
}
void Draw()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(5,5,5,0,0,0,0,1,0);
glRotated(a*180/100,0,1,1);
a+=.1;
glTranslated(cos(b),sin(b),sin(b));
b+=.1;
glBegin(GL_QUADS);
glColor3d(0,0,1);glVertex3i(-1,-1,-1);
glColor3d(0,1,0);glVertex3i(1,-1,-1);
glColor3d(1,0,0);glVertex3i(1,1,-1);
glColor3d(1,0,1);glVertex3i(-1,1,-1); //face 1
glColor3d(0,1,0);glVertex3i(-1,-1,-1);
glColor3d(0,0,1);glVertex3i(-1,1,-1);
glColor3d(1,0,0);glVertex3i(-1,1,1);
glColor3d(1,1,0);glVertex3i(-1,-1,1); //face 2
glColor3d(1,0,0);glVertex3i(-1,-1,-1);
glColor3d(0,1,0);glVertex3i(-1,-1,1);
glColor3d(0,0,1);glVertex3i(1,-1,1);
glColor3d(0,1,1);glVertex3i(1,-1,-1); //face 3
glColor3d(0,1,1);glVertex3i(1,1,1);glVertex3i(-1,1,1);glVertex3i(-1,-1,1);glVertex3i(1,-1,1); //face 4
glColor3d(1,1,0);glVertex3i(1,1,1);glVertex3i(1,-1,1);glVertex3i(1,-1,-1);glVertex3i(1,1,-1); //face 5
glColor3d(1,1,1);glVertex3i(1,1,1);glVertex3i(-1,1,1);glVertex3i(-1,1,-1);glVertex3i(1,1,-1); //face 6
glEnd();
glutSwapBuffers();
glutPostRedisplay();
}
void InitGL()
{
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
}
si je laisse le GL_DEPTH_TEST) actif, j'ai un clipping monstrueux. Quelqu'un peut me dire quoi faire. Si je désactive le GL_DEPTH_TEST, les faces ne sont pas affichées correctement.
Marsh Posté le 25-04-2001 à 12:44:32
C'est normal
tu as fixe ta valeur znear a zero!
Pour info, on n'affiche jamais de points situes dans le plan de distance z=zero, car ils se projettent a l'infini!
Conclusion donne lui une valeur legerement differente de zero, pas trop grande sinon tu vas clipper les objets trop pres de toi, pas trop petite sinon tu vas perdre en precision: la precision de ton depth buffer est directement dependant du rapport zfar/znear, plus ce rapport est grand plus il aura de mal a distinguer les distances.
(c'est pas facile mais il faut calculer au mieux, en plus avec les z-buffer en 32 bits normalement tu as de la marge..)
A+
Legreg
[edit]--Message édité par legreg--[/edit]
Marsh Posté le 25-04-2001 à 13:22:16
legreg a écrit a écrit : C'est normal tu as fixe ta valeur znear a zero! Pour info, on n'affiche jamais de points situes dans le plan de distance z=zero, car ils se projettent a l'infini! Conclusion donne lui une valeur legerement differente de zero, pas trop grande sinon tu vas clipper les objets trop pres de toi, pas trop petite sinon tu vas perdre en precision: la precision de ton depth buffer est directement dependant du rapport zfar/znear, plus ce rapport est grand plus il aura de mal a distinguer les distances. (c'est pas facile mais il faut calculer au mieux, en plus avec les z-buffer en 32 bits normalement tu as de la marge..) A+ Legreg |
le znear, c'est bien dans lookat que je le change non ?
Marsh Posté le 25-04-2001 à 14:06:39
Nan c'est dans ton Perspective
au lieu de 0, 100 a la fin tu met 1, 100 (ou autre chose que 1 mais pas 0)
Marsh Posté le 25-04-2001 à 14:08:23
Bon je vois, que y a 95% de windaube ds la congregation, en ce qui me concerne, j'ai attaqué avec mesa ss unix et avec glut, ca marche tres bien et win32 au panier, en ce qui concerne le fullscreen, c'est n'importe quoi pour l'etirement, il faut se mettre au gout du jour, il y a maintenant la commande
glutEnterGameMode() avec un glutDrawStringMode(640:480:16@60)
qui lance un plein ecran stable ds la resolution voulue par l'user, sinon directx, je pouf de rire, Direct3D est 10 fois plus
lent qu'opengl, c'est une usine a gas qui marche que ss windaube, en ce qui concerne la zic, utilisez bass.dll, marche tres bien et c'est portable et plus simple,...
voilà je pourrais dire bien d'autre choses,
sinon directx=microsoft
opengl=sgi...ss commentaires (en plus ya open source)
voilà, en ce qui concerne les moteurs 3D, je trouve déplorable de se casser le cul à dvlp un moteur 3D qui tourne uniquement sous W... cela devrait etre universel, mais je felicite qd meme les interessé de leur travail et de leur générosité...
see you soon
Marsh Posté le 25-04-2001 à 14:25:26
DJkurgan tu n'as pas des choses plus intelligentes a dire?
tu es hors sujet, tu ne reponds pas aux questions et tu distilles des inexactitudes..
Legreg
Marsh Posté le 25-04-2001 à 15:30:30
Merci Legreg, mais je ne fais que dire ce que je pense, si tu n'est pas d'accord, dit le poliment, ton jugement, je peux m'en passer, tu ne me connais pas et l'exactitude de la syntaxe n'était pas mon objectif, (surtout, que ces fonctions sont recentes), en ce qui concerne le hors sujet, je vois pas vraiment, je repondais à des altercations qui ont précédé, l'avis que j'ai donné est une opinion partagé par la pluspart des demomaker's, après tu fais ce que tu veux, en ce qui me concerne, je respecte tes choix, sur ce, si tu veux me repondre d'une facon CORRECT j'accepte...
Marsh Posté le 25-04-2001 à 15:36:02
DJKurgan> Tu lances un troll DX/OpenGL avec des arguments grotesques.
Même si personnellement je préfère OpenGL (en fait j'ai jamais touché à DX ), sortir que le premier est 10x plus rapide que le 2nd est ridicule.
Marsh Posté le 25-04-2001 à 16:14:36
bon ok, déjà "10 fois" ,prendre ds le sens bcp plus rapide,(excuse ) ensuite,
je ne parle pas de DX mais seulement la partie direct3d, si vous
voulez confirmation, http:\\www.antoche.fr.st, que j'ai perso
verifié, antoche étant une ref ds la scene demo, maintenant si vous avez des arguments pour me demontrer le contraire ok, DX, j'ai essayé de me lancer, et je suis revenu sur open...apres j'enpeche personne, bye.
Marsh Posté le 21-04-2001 à 10:58:40
Slt,
bon voilà je suis débutant et j'aimeari programmer en OpenGL.
J'aimerai savoir les prérequis nécessaire ainsi que la documentation qu'il faut consulter...
Merci.