[opengl] generer un paysage en bumpmapping

generer un paysage en bumpmapping [opengl] - C++ - Programmation

Marsh Posté le 15-06-2003 à 21:10:58    

Bonjour,
comment faire pour generer un terrain en relief a partir d'une image faite de variantes de gris (le bump-mapping koi:)
en c++ et en opengl?
 
J'ai trouvé comment le faire avec direct3D, mais cela minteresserai plus en opengl...
 
Qq peut-il maider?

Reply

Marsh Posté le 15-06-2003 à 21:10:58   

Reply

Marsh Posté le 15-06-2003 à 21:14:30    

houla

Citation :


comment faire pour generer un terrain en relief a partir d'une image faite de variantes de gris (le bump-mapping koi:)


 
rien a voir avec le bumpmapping, la c'est juste une heightmap !
 
 
bah tu reflechis un peu et tu trouveras :D
 
 
 

Citation :

J'ai trouvé comment le faire avec direct3D, mais cela minteresserai plus en opengl...


 
ah ben il a trouvé tout suel :D
 
Serieux je ne vois pas comment la conversion peut poser pb ?

Reply

Marsh Posté le 15-06-2003 à 21:16:15    

mouarf c ma faute alors :/
honte a moi

Reply

Marsh Posté le 15-06-2003 à 21:18:31    

ben la faute a qui d'autre ?
 
Si la convertion d3d->ogl te pose pb, develope, plutot que de rester dans le flou
 
 
le principe est quand meme simple, tu cree une grille de vertex (espacé tous les xx sur X/Z) et pour le pixel de(i,j) de ta grille tu utilises la valeur specifié en (i,j) dans ta heightmap. rien de bien dur, c ou que tu bloques ?

Reply

Marsh Posté le 15-06-2003 à 21:18:55    

je veux alors faire "betement" du heightmapping

Reply

Marsh Posté le 15-06-2003 à 21:22:01    

bon, en gros, crade et caca, mais bon
 

Code :
  1. unsigned char heightmap[256][256];
  2. void dessin()
  3. {
  4. glbegin(GL_TRIANGLES);
  5. for (int i=0;i<255;i++)
  6. for (int j=0;j<255;j++)
  7. {
  8. glVertex3f(i,j,heightmap[i][j];
  9. glVertex3f(i+1,j,heightmap[i+1][j];
  10. glVertex3f(i+1,j+1,heightmap[i+1][j+1];
  11. glVertex3f(i+1,j,heightmap[i+1][j];
  12. glVertex3f(i+1,j+1,heightmap[i+1][j+1];
  13. glVertex3f(i,j+1,heightmap[i][j+1];
  14. }
  15. }
  16. glEnd();
  17. glend();
  18. }


 
c moche, mal programmé, optimisation négative, utilisation lamentable de la CG, mais le principe est la (fait de tete, essaye pas de compiler :D)
 
 
edit : shit, j'emet la hauteur sur la profondeur, mais j'ai la flemme de tout corriger :D


Message édité par chrisbk le 15-06-2003 à 21:22:30
Reply

Marsh Posté le 15-06-2003 à 21:23:50    

ok merci c deja ca :)

Reply

Marsh Posté le 15-06-2003 à 21:24:16    

serieux ca se fait en 30s avec un bout de papier ca quand meme :/
 

Reply

Marsh Posté le 15-06-2003 à 21:25:51    

ouai, mais, jimaginais une commande qui fait ca toute seule a partir d'une image

Reply

Marsh Posté le 15-06-2003 à 21:26:15    

heuh, tu reves la ?

Reply

Marsh Posté le 15-06-2003 à 21:26:15   

Reply

Marsh Posté le 15-06-2003 à 21:32:52    

chrisbk a écrit :

heuh, tu reves la ?  


 
ui un peu :)
avant jutilisais truevision en vb, c pour ca :D

Reply

Marsh Posté le 15-06-2003 à 21:45:44    

ah ouais mais la tu melange un peu API de bas niveau et API de haut niveau [:ddr555]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed