Archive pour octobre, 2008

Ca bouge !

Posté le 30 octobre 2008, dans Développement.

Petite update du mercredi soir, il est maintenant possible de déplacer la caméra avec le clavier, le déplacement de la vue avec la souris façon Quake étant pour bientôt.

Autre petite joyeuseté, suite à un gros problème de performances j’ai fouillé un peu et activé le HardwareVertexProcessing ce qui m’a permis de passer de 40fps à 240 sur mon PC de développement (GeForce 8800GTX) par contre aucune amélioration du coté de mon portable (GeForce Go 6600), qui reste bloqué à 8fps :( . Je pense que le problème vient des appels fréquents au DrawIndexedPrimitives, à confirmer !

[Edit le 31 octobre à 00:51] Le problème venait bien du HardwareVertexProcessing, il s’agissait d’une erreur due à la fatigue hier soir :/ J’atteins maintenant les 22 fps sur le portable, ce qui n’est pas mauvais pour 140K polygones avec deux lumières.

Optimisation pour le Multi Render Target (MRT)

Posté le 26 octobre 2008, dans Technique.

Au cours du développement j’ai pu rencontrer un problème de fuite mémoire assez conséquent, il était causé par un nombre croissant de Surface qui n’étaient pas libérés.
Le souci venait des Device.GetRenderTarget(); que j’utilisais à chaque changement de RenderTarget pour récupérer le BackBuffer, ce qui créait un objet Surface à chaque fois, sans le libérer.

Il suffisait en fait de garder une référence vers le BackBuffer tout au long de l’exécution et de l’utiliser pour rétablir la bonne RenderTarget avant l’affichage sur écran.

Et voila les montagnes !

Posté le 26 octobre 2008, dans Développement.

Le moteur gère maintenant l’affichage du paysage grâce à une heightmap. Il suffit de choisir une texture et de charger une image raw (8bits/pixel) comme celle-ci :

Et le moteur se charge de générer des montagnes à partir de ces données :

Un exemple de mise en situation du paysage est affiché dans la section ScreenShots.

Petit historique du projet

Posté le 22 octobre 2008, dans Développement.

Je profite de la mise en ligne pour faire un petit retour sur le développement de Tromoz.
Le projet à commencé en Aout 2007 et avait pour but de créer un jeu, dont le thème restait à définir, mais je me suis peu à peu orienté vers la création d’un moteur 3D.

La première version utilisait XNA et un système de rendu direct avec Shadow Maps, mais des problèmes de déploiement et une trop grande assistance m’ont poussé à passer en DirectX managed sans XNA (Voir la section ScreenShots).

Après une pause d’environ 1 an je relance le projet pratiquement de zéro pour repartir sur de bonnes bases (en utilisant le TDD quand c’est possible).
Cette fois ci le rendu utilise les Shadow Maps pour les lumières, mais avec un système de Deferred Rendering pour le rendu final.

Mise en ligne !

Posté le 20 octobre 2008, dans Annonce.

Je me remet plus sérieusement au développement de mon projet perso en DirectX alors j’en profite pour mettre en place un blog de développement.

La suite bientôt !