Progressive Mesh (PMesh) / MultiResolutionMesh (MRM) in Managed DirectX

L’utilisation de MRM est une véritable merveille pour accroître de manière significative les performances de ses applications. Le principe est simple : transformer un model 3D détaillé et formé de très nombreux polygones en une version allégée utilisant moins de faces mais aillant un aspect aussi similaire que possible. Cette technique est la plupart du temps couplée avec la camera pour réduire proportionnellement la qualité du modèle 3D en fonction de la distance à laquelle il se trouve de la camera. Au final, nous pouvons ainsi grappiller des FPS et libérer le GPU en lui évitant d’afficher des modèles détaillés au … Continue reading Progressive Mesh (PMesh) / MultiResolutionMesh (MRM) in Managed DirectX

Les Regular Expression & la "Find And Replace" dialog box de Visual Studio

J’étais en train de préparer le sample de mon prochain post sur ce blog (sur les progressive Mesh) lorsque je me suis rendu compte que je n’avais qu’un exemple à donner pour mettre en évidence le LOD (Level Of Detail). J’ai donc cherché sur Internet des models 3D à incorporer rapidement dans mon programme. Je me suis tourné tout naturellement vers les programmes de MRM (MultiResolutionMesh) qui existent déjà et notamment vers celui de Stan Melax (www.melax.com) le grand nom du MRM. Il possède tout un tas de fichiers très interessants au format PLY. Fichtre ! Kesaco ? En fait je … Continue reading Les Regular Expression & la "Find And Replace" dialog box de Visual Studio

"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

  Un post sur l’utilité de la méthode Clear de ICollection  Voila une exception de type System.AccessViolationException qui peut vous gâcher la vie lorsque vous manipulez des listes. Beaucoup de développeurs DirectX débutants tombent dessus sans savoir que la réponse est toute simple. I n c o m p r é h e n s i b l e au premier abord. Si vous regardez sur le net les autres personnes qui sont tombées dessus, soit elles n’y comprennent rien, soit elles tombent sur des gens qui leur donnent des réponses complètement à coté de la plaque (c’est très drôle d’ailleur vous … Continue reading "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

Chargement asynchrone d’objets 3D

La classe Mesh et la classe ProgressiveMesh de Direct3D (D3DX pour être précis) sont d’une très grande utilité lorsqu’il s’agit de réaliser un sample pour le DSK DirectX browser ou pour réaliser soit même des tests… mais dès qu’il s’agit de développer un moteur ou d’exploiter à outrance les performances de sa machine, ces deux classes sont à proscrire :   Elles sont lentes à charger,même en lisant des .x binaires. Mesh offre de nombreuses fonctionnalités qui demandent un chargement avec plus de traitement. Elles ne permettent pas un chargement à deux temps. Par chargement en deux temps j’entend pouvoir, … Continue reading Chargement asynchrone d’objets 3D