houmiak
Messages postés44Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention27 août 2003
-
27 août 2003 à 13:33
KoniKoni88
Messages postés1Date d'inscriptionmercredi 26 mai 2010StatutMembreDernière intervention 6 février 2011
-
6 févr. 2011 à 18:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
KoniKoni88
Messages postés1Date d'inscriptionmercredi 26 mai 2010StatutMembreDernière intervention 6 février 2011 6 févr. 2011 à 18:05
Salut,
J'ai pas mal étudié ton programme, et j'ai aussi un problème pour "colorier" le paysage montagneux. En fait j'utilise une fonction pour que la couleur varie avec l'altitude mais je n'arrive pas à obtenir une texture ...
DedeSurf
Messages postés156Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention23 novembre 2011 21 mai 2004 à 14:05
Salut,
Il faut dire que sa vaut le coup d'oeil
je mettrai 8/10 a 9/10, j'y réfflaichirais !
Thyraël
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 18 nov. 2003 à 23:23
kidpigeyre je t'ai envoyé la réponse en MP
kidpigeyre
Messages postés96Date d'inscriptionmardi 3 juillet 2001StatutMembreDernière intervention 2 novembre 2006 18 nov. 2003 à 16:09
Bonjour,
J'ai longuement regardé ton programme car je dois réaliser un logiciel de modélisation et statistiques en un ensemble de montagne 3D.
Cependant, lors de l'éxécution de ton programme, je trouve un problème d'affichage. En effet certain point lors d'une rotation par les fleches de mouvements ne sont plus reliés par des filaments, on ne les voit plus, ainsi lorsque j'ai essayé d'y rajouter les textures, j'ai des plaques noires ou il y a rien.
Je n'ai aps bien compris ton système pour dessiner les vecteurs dans la fonction draw.
Tu pourrais me l'expliquer? Jpense que ça vient d'ici mais je ne suis pas sur.
Mci.
Romain
houmiak
Messages postés44Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention27 août 20032 17 sept. 2003 à 08:38
en groupant tes donnée localement, tu as de grandes chances de retrouver dans ton cache la donnée que tu vas utiliser au prochain step de ton prog (les ram et les caches L2 des CPU transfèrent souvent des bloc, pas une donnée) donc avec un tel tableau (a condition de le parcourir inteligemment), ce que tu perd en multiplication, tu le gagne largement en latence mémoire.
de plus, si tu commence a envisager des calcul vectoriel, une telle organisation est indispensable pour de bonnes performances.
a bientot ;o)
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 16 sept. 2003 à 22:34
A daccord j'avais pas pensé à ça. Bon faire un seul tableau ça évite les pointeurs sur pointeurs mais tu fais une multiplication à chaque fois... je ne sais pas si l'on s'y retrouve
En tout cas merci
houmiak
Messages postés44Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention27 août 20032 16 sept. 2003 à 20:43
pour les différent algo, je pense que google trouvera mieu que moi.
quand aux tableau, pour qu'il soient rapides, il vaut mieu grouper les données, donc eviter les doubles pointeur(catastrophique pour les caches).
donc un tableau a deux dimension : int tab2D[dim1][dim2];
ou encore (ce qui est équivalent) int tab2D[dim1*dim2];
pour accéder a la case (x,y):
tab2D[x][y];
ou encore
tab[x + y*dim1];
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 16 sept. 2003 à 19:46
Si tu a regardé dans le zip (et c'est même inscrit tout en haut) , j'ai fait ce prog suite a un article dans un magazine avec le code en ADA.
Il y avait une explication de la méthode et il était dit qu'une méthode récursive était très longue et moins adaptée pour des tableaux un peu grand.
Si j'aurais eu a faire tout cela de moi même, j'aurais certainement utilisé une méthode recursive.
Par contre pour l'histoire des tableaux 2d, je serait intéresé de savoir comment tu stocke les differentes hauteurs.
Et si tu as un line vers une page contenant cette méthode récursive,....
houmiak
Messages postés44Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention27 août 20032 3 sept. 2003 à 17:11
c'est une implementation du "diamond square algorithm", neanmoin, ta facon de coder est quelque peu 'particuliere'. j'ai eu du mal a comprendre tes tableaux 2d, qui se revelent etre peu efficaces et pas optimisées. par contre, une version recursive existe de l'algorithme, qui est nettement plus efficace. je fais des tests et je te tient au courant...
Maegis
Messages postés101Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention 6 août 2007 27 août 2003 à 21:52
Ok pas de probleme
houmiak
Messages postés44Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention27 août 20032 27 août 2003 à 13:33
salut!
j'aimes bien ton prog, le paysage généré est pas mal :o)
j'ai actuellement un debut d'embryon de moteur de paysage en DirectX qui genere un paysage, mais a partir d'un Heighmap.
le paysage est texturé et l'eclairage est géré.
je vais essayer d'integrer ta génération a mon programmes si tu es d'accord
a bientot
6 févr. 2011 à 18:05
J'ai pas mal étudié ton programme, et j'ai aussi un problème pour "colorier" le paysage montagneux. En fait j'utilise une fonction pour que la couleur varie avec l'altitude mais je n'arrive pas à obtenir une texture ...
21 mai 2004 à 14:05
Il faut dire que sa vaut le coup d'oeil
je mettrai 8/10 a 9/10, j'y réfflaichirais !
Thyraël
18 nov. 2003 à 23:23
18 nov. 2003 à 16:09
J'ai longuement regardé ton programme car je dois réaliser un logiciel de modélisation et statistiques en un ensemble de montagne 3D.
Cependant, lors de l'éxécution de ton programme, je trouve un problème d'affichage. En effet certain point lors d'une rotation par les fleches de mouvements ne sont plus reliés par des filaments, on ne les voit plus, ainsi lorsque j'ai essayé d'y rajouter les textures, j'ai des plaques noires ou il y a rien.
Je n'ai aps bien compris ton système pour dessiner les vecteurs dans la fonction draw.
Tu pourrais me l'expliquer? Jpense que ça vient d'ici mais je ne suis pas sur.
Mci.
Romain
17 sept. 2003 à 08:38
de plus, si tu commence a envisager des calcul vectoriel, une telle organisation est indispensable pour de bonnes performances.
a bientot ;o)
16 sept. 2003 à 22:34
En tout cas merci
16 sept. 2003 à 20:43
http://www.gameprogrammer.com/fractal.html
et un article sur l'excellent site flipcode:
http://www.flipcode.com/tfiles/alexc06.shtml
pour les différent algo, je pense que google trouvera mieu que moi.
quand aux tableau, pour qu'il soient rapides, il vaut mieu grouper les données, donc eviter les doubles pointeur(catastrophique pour les caches).
donc un tableau a deux dimension : int tab2D[dim1][dim2];
ou encore (ce qui est équivalent) int tab2D[dim1*dim2];
pour accéder a la case (x,y):
tab2D[x][y];
ou encore
tab[x + y*dim1];
sinon, pour voir comment je gere mes tableaux, va voir ma source:
http://www.cppfrance.com/article.aspx?Val=2531
voili :o)
16 sept. 2003 à 19:46
Il y avait une explication de la méthode et il était dit qu'une méthode récursive était très longue et moins adaptée pour des tableaux un peu grand.
Si j'aurais eu a faire tout cela de moi même, j'aurais certainement utilisé une méthode recursive.
Par contre pour l'histoire des tableaux 2d, je serait intéresé de savoir comment tu stocke les differentes hauteurs.
Et si tu as un line vers une page contenant cette méthode récursive,....
3 sept. 2003 à 17:11
27 août 2003 à 21:52
27 août 2003 à 13:33
j'aimes bien ton prog, le paysage généré est pas mal :o)
j'ai actuellement un debut d'embryon de moteur de paysage en DirectX qui genere un paysage, mais a partir d'un Heighmap.
le paysage est texturé et l'eclairage est géré.
je vais essayer d'integrer ta génération a mon programmes si tu es d'accord
a bientot