Bonjour tout le monde, je bosse actuellement sur de l'affichage de grand terrain, j'ai donc réussi pour les meshs en chargant mes données au fur et à mesure du rendu en faisant du multi-threading (un thread qui construit la mesh, un autre qui fait le rendu).
Maintenant j'aimerais bien pouvoir appliquer des textures sur mon terrain, ce dernier étant découpé en plein de chtit morceaux (environs 9000), j'ai donc des textures pour pour chacun des petits morceaux (7 par tuilles avec des niveaux de def différentes).
Pour charger les textures j'utilise un autre thread, et c'est la que commence les problème, au début je me suis dit que j'allais créer un IDirect3dTexture9 pour chaque images, le tout dans le pool managed, problème y'en a trop, ca coince, alors je me suis dit que j'allais crée des intance au fur et à mesure des besoins, le problème c'est que créer ces fameuses instance pendant que la carte fait du rendu, ça fait tout ramer pire ça plante (j'ai même eu droit à un blue screen of the death). Un autre truc aurais été de créer seulement 7 instance et que les tuilles allaient ceux les partager, ca ne marche pas non plus (remarquez c'est logique).
Maintenant j'en suis rendue à créer mes instance en mémoire systeme (POOL_SYSTEMMEM) donc la grande question est comment je fait passé une texture d'un pool à un autre ? Sans oublier que je crée mes instances au début du programme mais que je ne chare les données que pendant le rendu et que je décharge quand j'en ai plus besoin.
En vous remerciant
Partager