Historique des modifications - Message

Message #3845

Sujet: Les VBO dans la version 1.5 svn


Type Date Auteur Contenu
Dernière modification 23-04-2008 10:21:23 Ikam
Hello

Je créé ce message pour informer ceux qui voudrait utiliser les vbo et qui rencontre des problemes

Dans la version 1.5 qu'on trouve sur le svn irrlicht ajoute le support des vbo (seulement pour opengl pour l'instant)

Seulement il y a une petite limitation sur le nombre de vertex min d'un mesh pour pouvoir exploiter ces vbo. Cette limite est pour l'instant codé en dur et fixé à 500 mais d'après le commentaire à coté elle devrait etre modifié à l'avenir pour devenir modifiable par l'utilisateur.

En attendant cette modif si vous voulez donc exploiter les vbo pour un mesh dont le nombre de vertex est inferieur à 500 je vous conseille de mettre en commentaire ce test qui se trouve dans le fichier CNullDriver.cpp dans la fonction isHardwareBufferRecommend() et de recompiler irrlicht.

Pour l'utilisation des vbo, il suffit de spécifier à votre meshbuffer d'utilise un type de transfert STATIC, STREAM ou DYNAMIC selon le type de vbo que vous voulez.

Une doc sur les VBO defini l'utilisation pour ces 3 modes de transfert :

STREAM : Ce mode est particulièrement efficace pour les objets animés tel un personnage.

DYNAMIC : Ce mode est recommandé pour le rendu d’objets animés affichés plusieurs fois par frame, par exemple pour le rendu multi passe.

STATIC : Ce mode est parfaitement adapté pour les objets non déformables, c’est-à-dire pour toute géométrie qui reste valable pour plusieurs frames.


Voici un exemple d'utilisation que j'ai trouvé sur le forum officiel.


scene::IAnimatedMesh* animMesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* node = 0;

if (animMesh) {
scene::IMesh *mesh = animMesh->getMesh(0);
for (unsigned int i=0; i<mesh->getMeshBufferCount(); i++)
{
mesh->getMeshBuffer(i)->setHardwareMappingHint(scene::EHM_STATIC);
}
node = smgr->addMeshSceneNode(mesh);
}

PS pour copland : la limitation a 500 ne permet pas d'exploiter ta classe de terrain avec les vbo, une fois commentée on fait exploser le fps meter :p
Création du message 23-04-2008 10:16:29 Ikam
Hello

Je créé ce message pour informer ceux qui voudrait utiliser les vbo et qui rencontre des problemes

Dans la version 1.5 qu'on trouve sur le svn irrlicht ajoute le support des vbo (seulement pour opengl pour l'instant)

Seulement il y a une petite limitation sur le nombre de vertex min d'un mesh pour pouvoir exploiter ces vbo. Cette limite est pour l'instant codé en dur et fixé à 500 mais d'après le commentaire à coté elle devrait etre modifié à l'avenir pour devenir modifiable par l'utilisateur.

En attendant cette modif si vous voulez donc exploiter les vbo pour un mesh dont le nombre de vertex est inferieur à 500 je vous conseille de mettre en commentaire ce test qui se trouve dans le fichier CNullDriver.cpp dans la fonction isHardwareBufferRecommend() et de recompiler irrlicht.

Pour l'utilisation des vbo, il suffit de spécifier à votre meshbuffer d'utilise un type de transfert STATIC, STREAM ou DYNAMIC selon le type de vbo que vous voulez.

Une doc sur les VBO defini l'utilisation pour ces 3 modes de transfert :

STREAM : Ce mode est particulièrement efficace pour les objets animés tel un personnage.

DYNAMIC : Ce mode est recommandé pour le rendu d’objets animés affichés plusieurs fois par frame, par exemple pour le rendu multi passe.

STATIC : Ce mode est parfaitement adapté pour les objets non déformables, c’est-à-dire pour toute géométrie qui reste valable pour plusieurs frames.


Voici un exemple d'utilisation que j'ai trouvé sur le forum officiel.


scene::IAnimatedMesh* animMesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* node = 0;

if (animMesh) {
scene::IMesh *mesh = animMesh->getMesh(0);
for (unsigned int i=0; i<mesh->getMeshBufferCount(); i++)
{
mesh->getMeshBuffer(i)->setHardwareMappingHint(scene::EHM_STATIC);
}
node = smgr->addMeshSceneNode(mesh);
}

PS pour copland : la limitation a 500 ne permet pas d'exploiter ta classe de terrain avec les vbo, une fois commentée on fait exploser le fps meter :p

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
149 invités en ligne
membre en ligne: -
RSS Feed