begin process at 2012 02 13 05:29:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

OpenGL

 > 

Application 3D et performance OpenGL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Application 3D et performance OpenGL

dimanche 27 mai 2007 à 02:12:42 | Application 3D et performance OpenGL

bathof

Bonjour,

Je suis en train de développer une application 3D et j'ai constaté que les
performances 3D n'était pas excellentes, j'ai l'impression que OpenGL
utilise uniquement le CPU pour le calcule du rendu 3D, cela est-il possible ?

Par exemple, si j'affiche un rectangle de la manière suivante avec de l'alpha
sur ma scène 3D, mon frame rate diminue très fortement, cela est-il normal ?


 //-----------------------------------------------------------------------------
 // Faire passer OpenGL en 2D pour afficher le rectangle
 // de sélection
 //
 // Désactivation du cull face
    glDisable(GL_CULL_FACE);
 
 // Sauver la matrice GL_MODELVIEM courante && Effacer la matrice
    glMatrixMode( GL_MODELVIEW );
    glPushMatrix();
    glLoadIdentity();
 
 // Sauver la matrice GL_PROJECTION courante && Effacer la matrice
    glMatrixMode( GL_PROJECTION );
    glPushMatrix();
    glLoadIdentity();

 // Lecture du viewport
    GLint viewport[4];
    glGetIntegerv( GL_VIEWPORT, viewport );
 
 // On initialise la projection de façon a ce que les coordonnées
 // correspondent au pixel
    gluOrtho2D( 0.0, viewport[2], 0.0, viewport[3] );
 
 //-----------------------------------------------------------------------------
 // Dessiner le rectangle de selection
 //
    glBegin(GL_QUADS);
   
    glColor4f ( color.r, color.g, color.b, 0.5f );
    glVertex2f( fixPos.x,   viewport[3] - fixPos.y );
    glVertex2f( mousePos.x, viewport[3] - fixPos.y );
   
    glColor4f ( color.r, color.g, color.b, 0.5f   );
    glVertex2f( mousePos.x, viewport[3] - mousePos.y );
    glVertex2f( fixPos.x,   viewport[3] - mousePos.y );
 
    glEnd();
 
 // Afficher les lignes autours du rectangle
    glBegin(GL_LINE_LOOP);
   
    glColor4f ( color.r, color.g, color.b, 0.9f );
    glBegin(GL_LINE_LOOP);
    glVertex2f( fixPos.x,   viewport[3] - fixPos.y );
    glVertex2f( mousePos.x, viewport[3] - fixPos.y );
    glVertex2f( mousePos.x, viewport[3] - mousePos.y );
    glVertex2f( fixPos.x,   viewport[3] - mousePos.y );
    glEnd();
 
 //-----------------------------------------------------------------------------
 // Revenir aux matrices précedentes
 //
 // Retablire l'encienne matrice de projection
    glPopMatrix();
   
 // Retablire la matrice MODELVIEW
    glMatrixMode( GL_MODELVIEW );
    glPopMatrix();
 
    glEnable(GL_CULL_FACE);


Merci d'avance pour vos réponses.




dimanche 27 mai 2007 à 02:21:18 | Re : Application 3D et performance OpenGL

luhtor

Les fonctions openGL glVertex* vont sans doute disparaitre, tellement les performances sont catastrophiques.
Renseigne toi sur les vbos (Vertex Buffer Object):
http://www.g-truc.net/article/vbo-fr.pdf

Tu obtiendrais des perfs de fou avec 0% cpu.
dimanche 27 mai 2007 à 15:24:08 | Re : Application 3D et performance OpenGL

bathof

Salut,

Merci pour ta réponse, mais j'ai un problème que je n'arrive pas à résoudre.

J'ai installer la librairie "glew" pour pouvoir utiliser les "VBO", mais quand
j'appelle la fonction "glGenBuffers(GLEW_BUFFER_SIZE, glewBufferName);" mon
programme plante (il génère des erreurs).

Avant d'appeler la fonction « glGenBuffers » j'initialise correctement "glew" avec la fonction « glewInit() ».
dimanche 27 mai 2007 à 16:27:39 | Re : Application 3D et performance OpenGL

bathof

Si je crée un fenetre OpenGL avec SDL je n'ai aucun problème avec glGenBuffers,
par contre si je crée une fenêtre OpenGL avec l'API windows je rencontre le problème.

Je dois faire faux dans une initalisation d'OpenGL mais je ne vois pas quoi.
dimanche 27 mai 2007 à 17:32:58 | Re : Application 3D et performance OpenGL

bathof

J'ai trouvé quelques chose qui pourrait aider. Après l'initalisation avec "glewInit();"
si je test "GLEW_ARB_vertex_buffer_object", il est égale a NULL.

Pourtant si j'initaliser avec SDL, "GLEW_ARB_vertex_buffer_object" n'est pas
égale a NULL.

dimanche 27 mai 2007 à 18:38:25 | Re : Application 3D et performance OpenGL

bathof

J'ai trouvé le problème, lol, c'etait juste un problème de version des DLLs d'OpenGL.
dimanche 27 mai 2007 à 21:32:33 | Re : Application 3D et performance OpenGL

luhtor

De toute facon, j'aurais pas pu t'aider, j'ai toujours utiliser que Glut.


Cette discussion est classée dans : gl, color, glvertex2f, viewport, fixpos


Répondre à ce message

Sujets en rapport avec ce message

opengl : lumière, fog pose problème quand picking [ par kortin ] Bonjour,j'aimerais ajouté le fog et la lumière dynamique dans mon projet openGL.Tout fonctionne bien, mais lors de la sélection d'un objet(picking), l Picking opengl [ par gillescpp ] Bonjour,Voila un ceratint temps que j'essaie de maitriser le picking et jusqu'a présent, c'est sans success.Le code suivant comporte deux fonctions : glReadPixels et gluUnProject [ par Seboo ] Bonjours,J ai un probleme pour utiliser ces deux fonctions.Enfaite j ai un cube et avec un mouvement sur ce cube j'essaye de connaitre le vecteur sens Rotation de forme [ par boubz013 ] Bonsoir, je suis débutant et fasciné en opengl, mais je m'oppose à un probléme, en faite j'essaie de faire tourner mes forme geometrique à l'aide des pb de recuperation de ProjectionMatrix & ModelViewMatrix [ par serialtom ] bonjour a tous, je suis debutant en openGL je suis en train de me construire un viewer 3D j'ai fait ca dans une application basée sur MFC. Je rencon effacement viewport [ par vladisback ] je réalise actuellement un logiciel de modelisation 3d, j'ai donc plusieurs viewports mais lorsque j'efface avec glClear(GL_COLOR_BUFFER_BIT | GL_DEPT Sprite Transparent OpenGL [ par shorzy ] Salut à Tous Je voudrais Dessiner un Sprite (Texturer Donc) La Texture est entierement Noir sauf une Forme en Blanc. Je veux que seule la Forme reso [BAR]Anniversaire [ par freelander2 ] [color=blue][size=200]Bonjour.[^^clinoeil1] Je remercie le groupe admins de codes sources pour leur gentille carte. Encore merci. Picasso1er[^^happy10 PB gestion du temps windows et décharge CPU. [ par Luck_437 ] Bonjour tout le monde. Voila je présente mon code. Je cherche a éffectuer une décharge processeur au sein d'une application windows pour afficher de [Aide]Foutu erreur de Link avec mySQL et VS2008 [ par Nixeus ] Bonjour à tous, Avant de commencer, je tiens à dire que j'ai cherché pas mal de temps sur forum et autres sites, ne trouvant pas de solution, je m'en


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales