Historique des modifications - Message

Message #11161

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


TypeDateAuteurContenu
Création du message02-04-2013 09:18:40johnplayer
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
88 invités en ligne
membre en ligne: -
RSS Feed