Accueil > Forum > > > > Vertex buffer object à systématiser ?
Vertex buffer object à systématiser ?
dimanche 24 septembre 2006 à 11:33:52 |
Vertex buffer object à systématiser ?

eplanet
|
Bonjour à tous, je fais un programme en openGL et je voulais savoir si il vaut mieux systématiser l'utilisation des vertex buffer object ou bien s'il faut les réserver seulement pour les maillages importants. En effet, lorsqu'il faut dessiner seulement deux pauvres triangles, vaut-il mieux utiliser glBegin(GL_TRIANGLES); ou bien créer des buffer de vertex, textures et normales... Merci Vince
|
|
dimanche 24 septembre 2006 à 11:50:39 |
Re : Vertex buffer object à systématiser ?

Galmiza
|
Réponse acceptée !
Tout dépend des performances requises. Pour les meilleures performances, il faut charger un max de données dans la carte vidéo à l'initialisation (textures, vertex buffers, index buffers, shaders), puis le programme principal n'aura qu'a donné des ordres à la carte vidéo.
Si tu crées, remplis puis envoies les vertex et index buffer à chaque boucle (glBegin(GL_TRIANGLES)) c'est sûr que ça tournera moins vite.
|
|
dimanche 24 septembre 2006 à 12:00:54 |
Re : Vertex buffer object à systématiser ?

eplanet
|
Ok je te remercie, je vais essayer de remplacer tout mes glBegin(GL_TRIANGLES); alors. Sinon deuxième question : j'ai un même carré à afficher plusieurs (beaucoup de) fois mais à des positions différentes, est-ce qu'il vaut mieux faire des buffers pour un seul des carré et ensuite afficher plusieurs fois ce carré avec des glTranslatef et glRotatef ou bien est-ce qu'il vaux mieux dupliquer le carré plusieurs fois dans le buffer (en changeant les positions) et n'afficher qu'une fois le buffer obtenu ?
Vince
|
|
dimanche 24 septembre 2006 à 12:16:45 |
Re : Vertex buffer object à systématiser ?

Galmiza
|
Bien sûr, tu sauves une seule fois le maillage du carré dans un buffer.
Pour afficher des carrés à différentes positions, tu modifies leur matrice de transformation.
C'est comme les textures, on ne charge jamais 2 fois la même texture
dans la mémoire vidéo, on dit juste au moment de l'affichage lesquelles
on veut utiliser.
En fait tu dis à la carte vidéo:
Affiche moi un objet en utilisant
- ce vertex buffer avec cet index buffer (géometrie dans son repère local)
- cette matrice de transformation (grace a qui les vertex seront transposés dans le repère absolu)
- ces textures (skin)
- ces shaders (effets graphiques)
|
|
dimanche 24 septembre 2006 à 12:37:33 |
Re : Vertex buffer object à systématiser ?

luhtor
|
Réponse acceptée !
Non je suis pas du tout d'accord. Il faut minimiser le nombre d'appel
de fonction a l'api. Donc hors de question d'afficher un carré un par
un a des positions différentes en modifiant la matrice (avec en plus
une masse de calcul supplémentaire). Tu remplis un buffer avec le
nombre de carré que tu veux à la position souhaité et tu affiches tout
avec un seul appel de fonction.
|
|
dimanche 24 septembre 2006 à 12:40:03 |
Re : Vertex buffer object à systématiser ?

eplanet
|
Oki ! Merci beaucoup Galmiza pour tes explications.
Vince
|
|
dimanche 24 septembre 2006 à 12:44:36 |
Re : Vertex buffer object à systématiser ?

eplanet
|
ah... j'ai répondu avant d'avoir la réponse de Luthor...
Vince
|
|
dimanche 24 septembre 2006 à 13:11:09 |
Re : Vertex buffer object à systématiser ?

luhtor
|
Quand tu dis "bcp de fois", c'est genre mille ou un million ? Si c'est
1000, le coup mémoire est négligeable. Si c'est un million, de toute
facon, ya pas le choix, il faut tout mettre en mémoire video, si tu
veux avoir un fps correct (ou bon). Dans le deuxième cas, si tu as
besoin de normales et de coordonnées de texture, tu auras besoin de pas
mal de mémoire video.
|
|
dimanche 24 septembre 2006 à 13:20:52 |
Re : Vertex buffer object à systématiser ?

eplanet
|
Beaucoup de fois c'est mille, mais c'est pour le principe car ce nombre risque de beaucoup augmenter. Merci Luthor, je pense que je vais dupliquer les carrés dans le buffer, je ne sais pas si le gain sera très important mais au moins ca ne peut pas être néfaste pour mon fps. Merci encore.
Vince
|
|
dimanche 24 septembre 2006 à 13:30:25 |
Re : Vertex buffer object à systématiser ?

luhtor
|
Le gain entre quoi et quoi ? J'ai testé personnellement sur ma X700 les
perfs max que je pouvais obtenir. Je trace 110 millions de triangles
(gl_triangles) par seconde au maximum. Donc si ca peut te donner une
idée des perfs que tu peux obtenir.
Alors qu'avec glbegin/end, je pense pas que tu dépasses le million.
|
|
Cette discussion est classée dans : buffer, seulement, object, vertex, systématiser
Répondre à ce message
Sujets en rapport avec ce message
ASSERT ? [ par tsanti ]
Dans InitDeviceObjectJe vérouille 1 fois le Vertex Buffer, je récupère la hauteur du Mesh,je dévérouille.Ensuite je traite les informations de hauteur
OpenGL : les vertex buffer ca marche comment ? [ par eplanet ]
Bonjour à tous, je voudrais me mettre aux vertex buffer pour optimiser un programme en openGL, seulement, lorsque j'écris la ligne : glBindBuff
OpenGL : modifier un vertex buffer ? [ par eplanet ]
Bonsoir, je fais un petit jeu en openGL en utilisant les vertex buffer, et je voudrais pouvoir transformer au cours du temps les données contenues dan
CLASS -> DLL -> OBJECT VBA [ par fx_forum ]
Maintenant que j'arrive a appeller en vba des fonctions c++ mises en dll , j'aimerai aller un grand au-dessus : ecrire une class, la mettre en dll et
getoenfilename -> ??? [ par stefbuet ]
salut,sur une source (http://www.cppfrance.com/code.aspx?ID=28478)j'ai extrait une fonction de la librairy créé et ais essayé de la faire fonctioner,
Problème pour translater un vertex de type D3DFVF_XYZRHW... [ par eplanet ]
Bonjour, je fais un programme avec directX, et je voudrais créer un curseur. Donc j'utilise un format de vertex "transformed" (D3DFVF_XYZRHW) et je cr
Double Buffer !!!!!!!!!!!! [ par BugcORE ]
SA FAIT un bon moment que j'essai de fairefonctionner un Double Buffer !J'ai eu pas mal de problème avec !(U.C. 100%, Affiche rien, etc....)J'arrive m
Dll ou lib dans un ActiveX [ par sephiro ]
Bonjour,J'utilise ATL pour faire un ActiveX, l'ensemble de mon code fonctionne tres bien , connexion sur un serveur http, requete et reception de donn
CList et win32 [ par jojomillenium ]
Bonjour, ma question est simple, je defini mes classes telquel: // COORDONNEES class VERTEX // Build our Vertex Class { pub
Stocker fichier dans une application [ par yugimega ]
Bonjour,Je voulais savoir comment stocker tout un fichier dans un buffer interne a une application :Ouvrir le fichier et récupérer toutes les donnée d
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|