Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1471 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Paysage sous OpenGL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Paysage sous OpenGL

n°693902
PETOZAK
Posté le 06-04-2004 à 16:57:00  profilanswer
 

Salut,
J´aimerais creer un ciel pour mon jeu qui se deroule en exterieur (jeu de golf) et je ne sais pas quelle surface  prendre.
Une enorme sphere de rayon 1000?
un cube?un cylindre?
Aussi je ne sais pas si il est possible avec les quadriques de repeter une texture avec les coordonnees auto generees. Parce que une texture de 256*256 sur une sphere pareil ca doit etre vraiment pas beau.
Merci

mood
Publicité
Posté le 06-04-2004 à 16:57:00  profilanswer
 

n°694037
skelter
Posté le 06-04-2004 à 19:04:18  profilanswer
 

tu fe une skybox comme ds la plupart des jeux, tu va pas foutre 1000 faces rien que pour le ciel :D  
 
sinon pour repeter les textures, ca se jout au niveau des coordonnees que tu indique avec glTexCoord
 
==> si tu fait par ex  
 
glTexCoord2i(0,0);  
...
glTexCoord2i(100,0);  
...
glTexCoord2i(100,100);  
...
glTexCoord2i(0,100);  
...
 
ca t'affichera la texture repetée 100 fois sur la surface


Message édité par skelter le 06-04-2004 à 19:05:10
n°694064
PETOZAK
Posté le 06-04-2004 à 19:26:12  profilanswer
 

Merci
Mais cèst quoi une SkyBox au juste un Cube?
et puis glTexCoord2i(100,0) ca equivaut bien tu es sur a 100 fois un glTexCoord2i(1,0) et non pas a un stretching de la texture?

n°694091
skelter
Posté le 06-04-2004 à 19:54:44  profilanswer
 

pour le glTexCoord2i(100,0) le mieux c que tu essay come ca tu verra ;)
 
une skybox c'est un cube dans lequel ya ta map, et ses textures representent le ciel et l'horizon, enfin ce que tu veux quoi
 
par contre il faut que tu te procure une skymap pour eviter que les arret soient visibles


Message édité par skelter le 06-04-2004 à 19:55:16
n°694100
PETOZAK
Posté le 06-04-2004 à 19:57:44  profilanswer
 

et la SkyMap c'est quoi une texture particuliere? sinon je peux en recup ou Skelter?

n°694110
skelter
Posté le 06-04-2004 à 20:05:01  profilanswer
 

oui une skymap c'est 6 textures qui qd tu les foutera sur ton cube coincideront si bien que t'aura pas l'impression que c'est un cube
 
pour les trouver, google est ton ami
 
si tu veux voila le premier lien que j'ai trouvé
http://www.planethalflife.com/crinity/skydes.htm#cliff


Message édité par skelter le 06-04-2004 à 20:06:02
n°694114
PETOZAK
Posté le 06-04-2004 à 20:06:02  profilanswer
 

Merci Skelter je me lance!

n°695275
PETOZAK
Posté le 07-04-2004 à 22:54:13  profilanswer
 

skelter a écrit :

tu fe une skybox comme ds la plupart des jeux, tu va pas foutre 1000 faces rien que pour le ciel :D  
 
sinon pour repeter les textures, ca se jout au niveau des coordonnees que tu indique avec glTexCoord
 
==> si tu fait par ex  
 
glTexCoord2i(0,0);  
...
glTexCoord2i(100,0);  
...
glTexCoord2i(100,100);  
...
glTexCoord2i(0,100);  
...
 
ca t'affichera la texture repetée 100 fois sur la surface


 
j'ai essaye ton truc et ma texture n'est pas repetee? commenet ca se fait :
Voila mon code:

Code :
  1. void CMiniPutt::DrawSkyMap() const
  2. {
  3.  glPushMatrix();
  4.  glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
  5.  //glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
  6.  glEnable(GL_TEXTURE_2D);
  7.  glBindTexture(GL_TEXTURE_2D, 15);
  8.  glRotatef(90.0,1.0,0.0,0.0);
  9.  //glScalef(10.0,10.0,10.0);
  10.     glBegin(GL_QUADS);   // Start Drawing Quads
  11.  // Front Face
  12.  glNormal3f( 0.0f, 0.0f, 1.0f);  // Normal Facing Forward
  13.  glTexCoord2f(0.0f, 0.0f); glVertex3f(-100.0f, -100.0f,  100.0f); // Bottom Left Of The Texture and Quad
  14.  glTexCoord2f(100.0f, 0.0f); glVertex3f( 100.0f, -100.0f,  100.0f); // Bottom Right Of The Texture and Quad
  15.  glTexCoord2f(100.0f, 100.0f); glVertex3f( 100.0f,  100.0f,  100.0f); // Top Right Of The Texture and Quad
  16.  glTexCoord2f(0.0f, 100.0f); glVertex3f(-100.0f,  100.0f,  100.0f); // Top Left Of The Texture and Quad
  17.  glEnd();
  18.  // Back Face
  19.  glBindTexture(GL_TEXTURE_2D, 15);
  20.  glBegin(GL_QUADS);
  21.  glNormal3f( 0.0f, 0.0f,-1.0f);  // Normal Facing Away
  22.  glTexCoord2f(100.0f, 0.0f); glVertex3f(-100.0f, -100.0f, -100.0f); // Bottom Right Of The Texture and Quad
  23.  glTexCoord2f(100.0f, 100.0f); glVertex3f(-100.0f,  100.0f, -100.0f); // Top Right Of The Texture and Quad
  24.  glTexCoord2f(0.0f, 100.0f); glVertex3f( 100.0f,  100.0f, -100.0f); // Top Left Of The Texture and Quad
  25.  glTexCoord2f(0.0f, 0.0f); glVertex3f( 100.0f, -100.0f, -100.0f); // Bottom Left Of The Texture and Quad
  26.  glEnd();
  27.  // Top Face
  28.  glBindTexture(GL_TEXTURE_2D, 15);
  29.  glBegin(GL_QUADS);
  30.  glNormal3f( 0.0f, 1.0f, 0.0f);  // Normal Facing Up
  31.  glTexCoord2f(0.0f, 100.0f); glVertex3f(-100.0f,  100.0f, -100.0f); // Top Left Of The Texture and Quad
  32.  glTexCoord2f(0.0f, 0.0f); glVertex3f(-100.0f,  100.0f,  100.0f); // Bottom Left Of The Texture and Quad
  33.  glTexCoord2f(100.0f, 0.0f); glVertex3f( 100.0f,  100.0f,  100.0f); // Bottom Right Of The Texture and Quad
  34.  glTexCoord2f(100.0f, 100.0f); glVertex3f( 100.0f,  100.0f, -100.0f); // Top Right Of The Texture and Quad
  35.  glEnd();
  36.  // Bottom Face
  37.  glBindTexture(GL_TEXTURE_2D, 15);
  38.  glBegin(GL_QUADS);
  39.  glNormal3f( 0.0f,-1.0f, 0.0f);  // Normal Facing Down
  40.  glTexCoord2f(100.0f, 100.0f); glVertex3f(-100.0f, -100.0f, -100.0f); // Top Right Of The Texture and Quad
  41.  glTexCoord2f(0.0f, 100.0f); glVertex3f( 100.0f, -100.0f, -100.0f); // Top Left Of The Texture and Quad
  42.  glTexCoord2f(0.0f, 0.0f); glVertex3f( 100.0f, -100.0f,  100.0f); // Bottom Left Of The Texture and Quad
  43.  glTexCoord2f(100.0f, 0.0f); glVertex3f(-100.0f, -100.0f,  100.0f); // Bottom Right Of The Texture and Quad
  44.  glEnd();
  45.  // Right face
  46.  glBindTexture(GL_TEXTURE_2D, 15);
  47.  glBegin(GL_QUADS);
  48.  glNormal3f( 1.0f, 0.0f, 0.0f);  // Normal Facing Right
  49.  glTexCoord2f(100.0f, 0.0f); glVertex3f( 100.0f, -100.0f, -100.0f); // Bottom Right Of The Texture and Quad
  50.  glTexCoord2f(100.0f, 100.0f); glVertex3f( 100.0f,  100.0f, -100.0f); // Top Right Of The Texture and Quad
  51.  glTexCoord2f(0.0f, 100.0f); glVertex3f( 100.0f,  100.0f,  100.0f); // Top Left Of The Texture and Quad
  52.  glTexCoord2f(0.0f, 0.0f); glVertex3f( 100.0f, -100.0f,  100.0f); // Bottom Left Of The Texture and Quad
  53.  glEnd();
  54.  // Left Face
  55.  glBindTexture(GL_TEXTURE_2D, 15);
  56.  glBegin(GL_QUADS);
  57.  glNormal3f(-1.0f, 0.0f, 0.0f);  // Normal Facing Left
  58.  glTexCoord2f(0.0f, 0.0f); glVertex3f(-100.0f, -100.0f, -100.0f); // Bottom Left Of The Texture and Quad
  59.  glTexCoord2f(100.0f, 0.0f); glVertex3f(-100.0f, -100.0f,  100.0f); // Bottom Right Of The Texture and Quad
  60.  glTexCoord2f(100.0f, 100.0f); glVertex3f(-100.0f,  100.0f,  100.0f); // Top Right Of The Texture and Quad
  61.  glTexCoord2f(0.0f, 100.0f); glVertex3f(-100.0f,  100.0f, -100.0f); // Top Left Of The Texture and Quad
  62.  glEnd();
  63.  glPopMatrix();
  64. }

n°696849
skelter
Posté le 09-04-2004 à 20:52:17  profilanswer
 

ta pris ca ou ce code douteux? les noms de texture sont generer par opengl, pourquoi ils sont en dur la?
 
sinon un ti link sur les texture
http://www.neogamedev.com/index.php?PageID=2027
 

Citation :

Remarque : Bien que les coordonnées de texture sont généralement compris dans l'intervalle [0.0, 1.0], celles-ci peuvent être supérieur si vous désirez répéter la texture (attention cependant à activer la répétition -> nous le verrons dans la suite de ce chapitre).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Paysage sous OpenGL

 

Sujets relatifs
le fonctionnement de Directx et Opengl ?[OpenGL/software] creer une sphere
OpenGL evolue t'il?Une Methode de Detection optimale et implementable sous OpenGL?
OpenGL : combien de lumières on peut utiliser ?opengl/linux : ATI et NVIDIA : le mystere de glXGetProcAddress
programmation de jeux 3D en OpenGL[OpenGL] Une bonne equation pour heightmap avec grayscale
openGL et ASM (poss de direct 3d)[opengl] generer un paysage en bumpmapping
Plus de sujets relatifs à : Paysage sous OpenGL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR