TERRAIN 3D, LOD ET RÉFLEXION

Signaler
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36584-terrain-3d-lod-et-reflexion

Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

Salut,

Pas mal ta source, c'est propre et bien découpé.
Peux-tu compiler un exe qui permette de visualiser la scène en fil de fer (quand on appuye sur F par exemple), ça illustrerait bien l'objectif de la source.

Au fait, lorsque tu génères les indices pour le maillage LOD, pourquoi ajoutes-tu les indices des triangles de jointure entre les zones. Les triangles des modèles LOD, sont 2^(LOD+1) fois plus grands (en surface) et sont déjà joints puisque tu utilises la même poignet de vertices d'une boucle à l'autre quand tu génères la liste initiale avec la première boucle:

for(int z = 0 ; z < NB_TRIANGLE_R/LOD2 ; z++)
{
for(int y = 0 ; y < NB_TRIANGLE_R/LOD2 ; y++)
{
*pt++ = (y+1)*LOD2 + (z+1)*NB_VERTEX_R*LOD2;
*pt++ = (y+1)*LOD2 + (z)*NB_VERTEX_R*LOD2;
*pt++ = (y)*LOD2 + (z)*NB_VERTEX_R*LOD2;
*pt++ = (y)*LOD2 + (z)*NB_VERTEX_R*LOD2;
*pt++ = (y)*LOD2 + (z+1)*NB_VERTEX_R*LOD2;
*pt++ = (y+1)*LOD2 + (z+1)*NB_VERTEX_R*LOD2;
}
}
nan ?
Messages postés
121
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
29 novembre 2006

Salut, ta source est geniale ^^
J'ai juste eu quelque petits problème a la compilé avec VS2005 :
j'ai du remplacer les :
LOD2 = int(pow(2, LOD));

par:
LOD2 = int(pow(2.0f, (float)LOD));

et je me suis d'ailleur demander si ce n'etait pas mieu de faire une simple multiplication aulieu de faire appel a pow() ?

Il y avait ensuite un problème a l'edition de liens car VS2005 Générai un Manifest alors qu'il y en avait deja un dans le projet. Il faut donc lui dire de ne pas générer de Manifest dans les options du projet.

J'espere que ca pourra aider ceux qui veulent compiler cette super source avec Visual Studio 2005 :)
Messages postés
1
Date d'inscription
mardi 18 avril 2006
Statut
Membre
Dernière intervention
4 novembre 2006

Salut ! Ton code est super. J'ai aimé tes 3 démos. Je ne comprends pas trop comment fonctionne les lumières. En fait selon la théorie (les bouquins de DirectX), il faut faire un RenderState de D3DRS_LIGHTING = TRUE pour activer les lumières. Le point est que j'aimerais bien éteindre la lumière ambiante pour pouvoir essayer une lampe de poche dans la scène que tu proposes. Lorsque je mets la lumière à OFF (D3DRS_LIGHTING, FALSE), ça ne fonctionne pas ou disons que c'est seulement le Sky Box qui disparaît. Dans ton exemple de mirroir et de bumping avec la chaise et le globe terrestre, seule la chaise disparaît. Je ne comprends pas pourquoi le reste est visible.

Merci.
Messages postés
5
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
29 mai 2006

Super source !

J'avoue que je m'etais un peu inspiré de l'eau de ton dernier terrain mais la je suis bluffé... va falloir que je recommence ;)

non plus serieusement bravo, rien a dire de plus.
Afficher les 19 commentaires