Historique des modifications - Message

Message #11161

Sujet: Afficher, cacher et remplacer les sous-mesh d'un mesh


Type Date Auteur Contenu
Création du message 02-04-2013 09:18:40 johnplayer
Pour les performances il y a aussi les VBO. Tu peux les activer en atteignant les meshbuffer de tes meshs.
Les VBOs sont une méthode qui permet de mettre les objets 3D dans la ram de la carte graphique (VRAM) au lieu de la ram processeur. Le gain de performances peut être conséquent.
Par contre, il faut que la carte graphique le supporte.

Tu peux faire un truc barbare du genre :

Code c++ :



// charge le mesh
IMesh* mon_mesh = smgr->getMesh("mon_fichier.3ds");

// set les VBO pour tous les meshbuffers du mesh
for(u32 a=0; a < mon_mesh->getMeshBufferCount(); a++)
{
    // recupère le mesh buffer courant
    IMeshBuffer* buffer = mon_mesh->getMeshBuffer(a);
    // active les VBO en statique
    buffer->setHardwareMappingHint(EHM_STATIC, EBT_VERTEX_AND_INDEX);
}


Sinon faire :

Code c++ :


// vérifie que la carte graphique accepte les VBO
bool useVBO = driver->queryFeature(EVDF_VERTEX_BUFFER_OBJECT);

// set le minimum de triangles que doit avoir un meshbuffer pour etre mis en VRAM
driver->setMinHardwareBufferVertexCount(2);

// charge le mesh => Si le mesh comporte plus que la limite de vertices, il sera chargé en VRAM
IMesh* mon_mesh = smgr->getMesh("mon_fichier.3ds");


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
134 invités en ligne
membre en ligne: -
RSS Feed