begin process at 2012 05 28 20:06:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

OpenGL

 > 

deformation de terrain


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

deformation de terrain

mardi 6 septembre 2011 à 19:04:02 | deformation de terrain

nancyM

bonjour
j'espere que quelqu'un pourra me guider.
voila je souhaiterais réaliser une déformation de terrain (fait de triangle_strip ou de glCylinder je sais pas tout a fait) pour faire un effet de relief.
je sais qu'il faut utiliser les niveaux de gris d'une heigthmap, j'ai aussi regarder le displacement mapping, mais mon plus gros pb est que, en utilisant les niveaux de gris de ma heightmap cela ne fonctionne pas comme je le souhaite.
je me demande si c'est dans mon "fichier.vert (le vertex shader) qu'il faut que je lise le tableau des niveaux de gris, parce que je le fais directement dans la creation de mes triangles et c'est cela qui ne me semble pas correct.
et la je stagne vraiment!!!!
j'espere que quelqu'un pourra au moins me donner une piste.
merci
mercredi 7 septembre 2011 à 14:03:55 | Re : deformation de terrain

buno

Administrateur CodeS-SourceS
Hello,
Heightmap est, comme son nom l'indique, une map destiné à recenser les différentes hauteur de ton terrain.
L'idée est la suivante:
- la taille de ta heightmap correspond à la taille de ton terrain
- pour chaque point de ton terrain, tu va cherchers dans ta heightmap, la hauteur correspondante (la coordonnée Y, si tu es resté dans un repère standard)
- si ton point tombe entre des valeurs, il te vaudra extrapoler


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 7 septembre 2011 à 16:03:12 | Re : deformation de terrain

nancyM

ok, je sais que la heightmap c'est un tableau de haurteur comme tu dis, mais ce que je n'arrive pas à comprendre c'est justement comment la lire de telle sortes qu'elle agisse sur le terrain en question.
je m'explique, j'ai charge une texture, et j'ai une fonction loadBMP qui lit le fichier image.bmp.
le truc c'est que dans un programme .c je dessine le terrains avec ds triangles et tout. mais ce qui me bloque la c'est que je ne vois pas comment recureperer les niveaux de gris de la heigtmap pour les appliquer a la hauteur de mes triangles.
merci
mercredi 7 septembre 2011 à 16:24:06 | Re : deformation de terrain

buno

Administrateur CodeS-SourceS
Ta heightmap correspond à ton image.bmp?
Si oui, à la suite du loadBMP, les valeurs des pixels de ton image correspondent à tes hauteurs.
Du coup, pour accéder à la hauteur du point (I,J), tu dois faire quelque chose du style
Code C/C++ :
hauteur = monImage[I][J];

Bien évidemment, tu vas certainement "tombé à côté", dans le sens où ta matrice n'a pas de représentation continue mais discrète (dans le sens mathématiques). Il te faut donc extrapoler la valeur à partir des plus proches voisins (voir interpolation bilinéaire par exemple)

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 8 septembre 2011 à 10:20:33 | Re : deformation de terrain

nancyM

merci pour tes reponses,
j'ai une derniere question pour voir si j'ai tout bien compris,
qd je recupere les valeurs (i,j) de l'image, ces valeurs corresponde aux triangles de mon sol?ou pas, et du coup pour elever les triangles de sol je fais comment apres avoir recuperes les valeurs.
merci
jeudi 8 septembre 2011 à 10:32:59 | Re : deformation de terrain

buno

Administrateur CodeS-SourceS
Je ne connais pas la granularité de ton terrain (grille régulière ou non?) mais, en règle générale, il n'y a pas concordance entre les points de ton terrain et ta map.
D'ailleurs, la manip se fait dans l'autre sens: c'est quand tu construis tes triangles que tu va regarder la hauteur des sommets correspondants, et non au chargement de ta map.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 8 septembre 2011 à 10:33:43 | Re : deformation de terrain

nancyM

et ce que tu dis j'ai deja essaye d'une autre facon et ca marche, enfin je veux dire les triangles prennent de la hauteur mais en fait j'utilise glCylinder pour dessiner mes triangles qui serviront aux montagnes, du coup je vois pas comment plaquer la texture final apres, et c'est en fait qui me fais penser que ce que je fais n'est pas la bonne methode.
jeudi 8 septembre 2011 à 10:41:50 | Re : deformation de terrain

buno

Administrateur CodeS-SourceS
Tu dessines des cylindres pour tes montagnes? Avec gluCylinder? (je ne connais pas glCylinder...)
Dans ce cas, tu peux récupérer la hauteur du centre du cylindre...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 8 septembre 2011 à 11:20:32 | Re : deformation de terrain

nancyM

oui c'est gluCylinder je me suis trompe, mais le pb avc gluCylinder est que la texture se plaque sur chaque cylindre, qu coup ca marche pas comme il faut.
vendredi 9 septembre 2011 à 16:22:23 | Re : deformation de terrain

LA_Tupac

Membre Club
Il faut effectivement utiliser une heightmap via un vertex shader et fusionner la heightmap avec une autre qui correspond au cratère que tu veux ajouter. Mais il faut partir d'un plan ... pas d'un cylindre...


Cette discussion est classée dans : deformation, niveaux, gris, terrain, espere


Répondre à ce message

Sujets en rapport avec ce message

Coder une image niveaux de gris en RGB [ par gilimcce ] Il semblerait que mes problèmes de texture soit liée à cela :je charge une image en niveau de gris, alors que ma fonctionchargeant l'image attend une Creation d'une Bitmap en niveaux de gris (256 ou 65536) [ par carolivier ] Bonjour,Je cherche un bout de code me permettant de creer (pour l'affichage, pasbesoin) une Bitmap en 256 (ou 65536) niveaux de gris. a chaque fois, j Creation d'une Bitmap en niveaux de gris (256 ou 65536) [ par carolivier ] Bonjour,Je cherche un boutb de code me permettant de creer (pour l'affichage, pasbesoin) une Bitmap en 256 (ou 65536) niveaux de gris. a chaque fois, Besoin d'un algorithme de reconstruction d'images en niveaux de gris [ par mahdouch1 ] Bonjour,Est ce que quelqu'un peut m'aider je suis à la recherche d'un code en C qui fait la reconstruction d'une image en niveau de gris suivant l'alg algorithme de squelettisation en niveau de gris [ par dadou846 ] salut,j'ai besoin d'un programme en c++ qui permet de réaliser la squelettisation d'une image en niveau de gris. j'espère que quelqu'un peut m'aider.m visualisation en openGL [ par Lutin31 ] Bonjour, J'ai un programme en C qui me crée un fichier de données comme ceci : 0 0 7 1 0 -2 2 0 8 3 0 5 etc... Je fais ensuite lire ce fichier dans Surface Bezier Collision [ par Bestnk ] Bonjour à tous le monde, J'espère que mon topic suscitera des réponses afin de m'aider car là je suis vraiment vraiment vraiment coincé. J'ai crée m Segmentation d'une image par région en C [ par Minou09 ] Bonjour, J'espère que j'ai créé mon sujet dans la bonne catégorie. Voila mon problème, je cherche à créer un programme en C permettant de segmenter u segmentation d'image niveau gris en région [ par joud07 ] Bonjour à tous je veux connaitre comment segmenter une image en niveau de gris en région? plutot, espérant de m'envoyer un code source m'explique co multi texturing [ par colonelfr ] Salut,Voila mon nouveau probleme :J'ai un terrain avec deux textures differentes (herbe clair et herbe foncé). Le mélange des deux n'est pas tres reus


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales