TERRAIN 3D, LOD ET RÉFLEXION

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 17 mars 2006 à 09:34
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 1 déc. 2006 à 16:57
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

Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
1 déc. 2006 à 16:57
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 ?
cs_babboss Messages postés 121 Date d'inscription vendredi 27 octobre 2000 Statut Membre Dernière intervention 29 novembre 2006
29 nov. 2006 à 00:27
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 :)
dannygilbert3 Messages postés 1 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 4 novembre 2006
4 nov. 2006 à 15:33
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.
cs_Bouteille Messages postés 5 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 29 mai 2006
29 mai 2006 à 18:31
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.
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
26 avril 2006 à 18:29
Voila comme tu l'a indiqué dans l'autre source il faut mettre le Depth Buffer en 16bits ^^
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 avril 2006 à 01:41
Bon j'ai tracer avec le debuggeur et jai pu avoir des message dans la console:

Creation Fenetre : 800, 600, 0
Description de la carte 3D : NVIDIA GeForce4 MX 440
Impossible d'initialiser le peripherique 3D
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
22 avril 2006 à 01:22
Non j'ai aucun shader. Je vois pas d'ou ca vien :(
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
21 avril 2006 à 04:47
Les driver sont à jour. Si ton program a des Shaders Vertex, c'est normal. Ils sont pas géré par la carte. Mais il devrais etre calculé par le CPU. Et ce n'est pas le cas car ni le HARDWARE ni le SOFTWARE roule.
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
21 avril 2006 à 04:42
C'est normale que ce programme ne marche pas sur cette carte à cause du bump mapping mais par contre sur ma gf440 mon premier terrain marche nikel. Les drivers sont à jour???
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
19 avril 2006 à 23:05
Non ya pas de messages dans la console. J'ai une petit carte. C'est un nVidia GeForce 4 MX 440
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
19 avril 2006 à 12:35
Salut, est que il y a un message dans la console qui apparait? et quel carte graphique a tu?
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
19 avril 2006 à 04:00
En passant, ça fait la même chose pour ton premier Terrain 3D
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
19 avril 2006 à 03:50
C'est normal qu'a chaque fois que je veux démmarrer l'application, ya une érreur qui apparait:"Erreur à la creation de l'application". J'ai regarder ta source et j'ai vue que cette erreur apparaissait si il étais impossible d'initialiser ni le HARDWARE ni le SOFTWARE. Bizzard.
cs_miki2000 Messages postés 5 Date d'inscription dimanche 9 avril 2006 Statut Membre Dernière intervention 12 novembre 2007
9 avril 2006 à 20:32
Et bien dis donc je reste la bouche ouverte devant ton screen!
Je n'en reviens pas, moi j'en suis a essayer de donner une valeur a ma variable en console et toi tu as réussi une superbe rivière en 3D avec une tres belle reflection etc... Je ne vois pas pourquoi ta source mériterait moins de 10 sur 10!
Encore bravo.
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
18 mars 2006 à 13:54
Salut dans le zip il y a juste le code source, les données graphiques ne tenais pas dans le zip, c'est pour ca que j'ai donnée une adresse pour les télécharger :
http://perso.wanadoo.fr/mesprog/programmes/Terrain 3D et LOD.zip
Tous les fichiers de données sont dedant ^^
lolont Messages postés 5 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 8 août 2010
18 mars 2006 à 13:12
ou peut on trouver
"Donnees\MapRocheDroite.raw" ?
ce n'est pas inclu dans le zip
merci
rei3 Messages postés 24 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 26 avril 2006
17 mars 2006 à 12:46
Salut ^^ j'ai divisé mon terrain en zone de 64 quad sur 64. Puis on fonction de la distance j'affiche les zones à des résolutions différente. Si l'objet est proche la zone à une résolution de 64/64, si l'objet est plus éloignier 32/32, trés éloignier 16/16 ansi de suite.
Pour maitriser directx les examples du sdk et la msdn suffisent. Pour les algo une feuille de papier un stylo et un peu de réflexion ^^
Sinon http://www.codesampler.com/ est un bon site pour trouver des examples directx ^^
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
17 mars 2006 à 12:27
salut :) tres joli screen, j'ai pas eu le temps de regarder la source mais sa a l'air tres bien.
Je vois que tu maitrise pas mal l'engin, si tu a lu des cours sur le net pourait tu me filler l'adresse merci :)
@+
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
17 mars 2006 à 09:34
Salut, la screen est sympathique :)
Je voulais avoir des détails sur le lod. C'est quoi exactement comme lod que tu utilises ?
Rejoignez-nous