Générateur de terrain 3d

Soyez le premier à donner votre avis sur cette source.

Vue 17 726 fois - Téléchargée 1 788 fois

Description

Ma source génère un mesh 3D grace a une heightmap 2D. La hauteur est définit par l'intensité de blanc de chaque pixel.
J'utilise un Wrapper de Direct3D : Artificial Engine, qui est très simple a prendre en main, je le recommande dailleur a ceux qui veulent se mettre a DirectX mais qui n'ont jamais vraiment eu le courage...

Conclusion :


Pour que la source marche, il faut le SDK DirectX a jour et une driver a jour, les DLL du wrapper sont inclusent.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Kleidp
Messages postés
124
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
10 février 2008
-
Bonsoir,

Je trouve ta source plutot interessante, d'ailleur on retrouve plutot ce genre de projet en C++.
Ca me fait penser a une technique utilisée en 3D: Le "displacement mapping", la texture appliquée a un objet modifie justement les meshe de l'objet (si je dis pas de betises :).
Par contre dommage qu'il n'y est pas de .exe, j'ai pas pu le tester.

Peut etre pourrais tu mettre ta texture sur une sphere pour voir le resultat :)

Sinon je compte me lancer dans la programmation 3D, et bien sûre la grande question que je me pose: OpenGL ou Direct3D ?
j'ai regardé quelques sites et je penche plutot vers OpenGL, tu vois venir ma question ^^: Pourquoi avoir préféré Direct3D ?
MaxSoldier
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
2 -
Bonjour,
D'abord, j'aimerai préciser que je n'utilise pas le displacement mapping, qui s'applique sur un mesh préconcu, pour lui donner un peu plus de relief, a la mannière du bump ou parrallax mapping. Je ne peux donc pas mettre ma texture sur une sphere :
1) Il n'y a pas de texture sur le mesh
2) Ce que tu appels texture, sont en fait des HeightMap, c'est a dire, que pour construire mon mesh, je fais comme ceci :

for(int x = 0 ; x< Largeur;x++){
for(int y = 0; y< Hauteur;y++){
Je crée un vertice, tel que la hauteur dépende de l'intensité du blanc du pixel(x,y).
}
}

Je génère donc un mesh personnalisé en definissant tout ses sommets, et en les joignant pas la suite.

Enfin, je te conseil tout simplement Articial Engine qui est un wrapper de Direct3D, tu arrivera a des résultats rapidement, et surtout très facilement, puis une fois que tu as bien compris comment tout cela marche, passe a DirectX.

J'espère que ca t'as aidé, et si tu pouvais noter ma source ... ;)
survcopt
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
-
Quel est ta version directx car à la compilation j'ai une erreur :
L'assembly 'Artificial.Heart, Version=2.0.8.0, Culture=neutral, PublicKeyToken=f5b04e6ea8716163' utilise 'Microsoft.DirectX.Direct3DX, Version=1.0.2911.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' qui a une version supérieure par rapport à l'assembly 'Microsoft.DirectX.Direct3DX, Version=1.0.2910.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' référencé
MaxSoldier
Messages postés
289
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
28 février 2009
2 -
Celle de SDK de juin
survcopt
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
-
Bon ben tant pis ,j'ai le sdk d'octobre , Le prb vient de la dll de ton moteur "Artificial.Heart.dll".Je recompilerai plus tard.
Comment on note ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.