begin process at 2012 02 12 13:19:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

espace openGL


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

espace openGL

vendredi 4 février 2005 à 23:14:23 | espace openGL

sebrs1

j'ai une petite question, voila je debute en openGL, mais je voudrais avoir un pti renseignement, est-ce que dans openGL, chaque axe de l'espace ne depasse pas l'interval [-1.0;1.0].  Moi mon but est de faire une map, donc pour l'instant j'apprend mais bon c pour la suite que je voudrais savoir ça. sinon pour la camera, avec glulookat,  j'ai fait un programme qui est censé faire tourner une camera autour d'un triangle plat (2D) seulement apparemment le triangle fait un cercle  mais devant la camera .

voici mon prog

/* inclusion des fichiers d'en-tete Glut */

#include <glut.h>
#include <math.h>
#include <stdio.h>

void affichage();
void clavier(unsigned char touche,int x,int y);

double anglescamera[80][2];
int angle;

int main(int argc,char **argv)
{
  int i;

  angle = 0;

  /* initialisation de glut et creation
     de la fenetre */
  glutInit(&argc,argv);
  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
  glutInitWindowPosition(10,10);
  glutInitWindowSize(800,600);
  glutCreateWindow("principale");

  for (i=0;i<=79;i++){
    anglescamera[i][0] = cos(((3.1415927*2.0)/360.0)*4.5*(float)i);
    anglescamera[i][1] = sin(((3.1415927*2.0)/360.0)*4.5*(float)i);
    //printf ("x=%f et z=%f ",anglescamera[i][0],anglescamera[i][1]);
  }

  /* Initialisation d'OpenGL */
  glClearColor(0.0,0.0,0.0,0.0);
  glColor3f(1.0,1.0,1.0);
  glPointSize(2.0);

  /* enregistrement des fonctions de rappel */
  glutDisplayFunc(affichage);
  glutKeyboardFunc(clavier);


  /* Entree dans la boucle principale glut */
  glutMainLoop();
  return 0;
}

void affichage()
{
  /* effacement de l'image avec la couleur de fond */
  glClear(GL_COLOR_BUFFER_BIT);

  glLoadIdentity();

  gluLookAt(anglescamera[angle][0],0.5,anglescamera[angle][1],0.0,0.0,10.0,0.0,0.1,0.0);

  /* Dessin du polygone */
  glBegin(GL_TRIANGLES);
  glColor3f(1.0,0.0,0.0);
  glVertex3f(0.0,1.0,0.0);
  glColor3f(0.0,1.0,0.0);
  glVertex3f(0.5,0.0,0.0);
  glColor3f(0.0,0.0,1.0);
  glVertex3f(-0.5,0.0,0.0);
  glEnd();

  glFlush();
  /* on force l'affichage du resultat */

  glutSwapBuffers();
}

void clavier(unsigned char touche,int x,int y)
{
  switch (touche)
    {
    case 'p': /* affichage du carre plein */
      glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
      glutPostRedisplay();
      angle +=1;
      if (angle > 79) angle -=80;
      printf ("x=%f et z=%f \n",anglescamera[angle][0],anglescamera[angle][1]);

      break;
    case 'f': /* affichage en mode fil de fer */
      glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
      glutPostRedisplay();
      break;
    case 's' : /* Affichage en mode sommets seuls */
      glPolygonMode(GL_FRONT_AND_BACK,GL_POINT);
      glutPostRedisplay();
      break;
    case 'q' : /*la touche 'q' permet de quitter le programme */
      exit(0);
    }
}



pouvez vous m'aider??


@+
Sebrs1

PS (qui ne signifie pas playstation :-)) : visitez mon site qui fait ses début svp
http://universal-glandeur.fr.st
samedi 5 février 2005 à 21:20:23 | Re : espace openGL

Arnaud16022

Membre Club
"chaque axe de l'espace ne depasse pas l'interval [-1.0;1.0]."
??????
???
qui t'a raconté une connerie comme ca?

sinon:
a quoi set ca:
for (i=0;i<=79;i++){
    anglescamera[i][0] = cos(((3.1415927*2.0)/360.0)*4.5*(float)i);
    anglescamera[i][1] = sin(((3.1415927*2.0)/360.0)*4.5*(float)i);
  }
tu précalcules toutes les positions de la caméra c'est ca? absolument inutile, t'imagine s'ils devaient faire ca dans gta?
c'est d'ailleur beaucoup plus pratique sans:
case 'p': /* affichage du carre plein */
      glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
      //glutPostRedisplay();
      angle +=0.01;
      //if (angle > 79) angle -=80;
      camera_X=
cos(((PI)/360.0)*angle);
// idem pour cam_Y

     break;

je crois que tes
glutPostRedisplay();
sont inutiles itou

si ca affiche un cercle je pense que c'est pasque ca tourne trop vite.
pas besoin de 2 buffers pour un rtuc comme ca
évite glut ( enfin ca c'est avis perso)
glPointSize(1.0);

c'est tout je crois...
va sur gametutorials.com, rubrique prog->openGL->page 2 (je crois) -> time-based movement
ou sur glinfrench (connais pas bien mais doit y avoir)

++
ad
_______________________
Omnia vincit labor improbus


Cette discussion est classée dans : int, affichage, gl, angle, anglescamera


Répondre à ce message

Sujets en rapport avec ce message

Problème d'affichage, couleurs, faces visibles/cachées [ par Tibabou ] Bonjour/soir, Avec le code ci-dessous, j'obtiens une sphère "bizarre", j'ai le même problème avec des cubes, on voit le fond à certains endroits:<IMG Fenetre MS DOS derrière ma fenêtre opengl [ par nisaloncaje ] ReBonjour, j'utilise dev c++ et lorsque je compile le projet fourni dans le tutorial : http://www.linuxgraphic.org/section3d/openGL/disponible ici :<A [opengl] glGenTextures et new [ par gillescpp ] Voila, J'ai un probleme avec opengl. J'explique rapidement : apres un appel de glGenTextures, il m'est impossible d'allouer de la mémoire dynamiquemen Affichage correct d'une sphère et de sa texture [ par mikey84 ] bonjour jai un gros problème que je n'arrive pas a résoudre et la je sais plus quoi faire! je m'explique : j'affiche une shpère à l'écran et je la pla Snake tsssssssssss aidez moiiiiiiii [ par AmK ] Salut ,Je suis en train de coder un snake et la je crois avoir bien compris le principe de l'algo mais niveau code ça foire je sais pas pourquoi voila [C et Ncurses] Déplacement de curseur et Insertion de texte [ par gulix ] Dans le cadre d'un projet, je dois développer un éditeur de texte de type Vi. Pour cela, j'utilise la bibliothèque ncurses. J'arrive ainsi à gérer san les sous fenetres en glut n'en font qu'a leurs tetes [ par whikie ] Bonjour,je voudrais comprendre le placement des glutSubWindow.Voici les infos que j'ai :glutCreateSubWindow La fonction glutCreateSubWindow crée une TEXTURE SUR UNE SPHERE TOURNANTE [ par Batman60 ] bonsoirj'ai un problème de texture sur une spherela texture ne  tourne pas et ne prend pas la forme de la sphere ,mais la sphere tournevoic Affichage de int dans une CString [ par ekinox17 ] voila j'aimerai afficher l'heure dans mon prog MFC : bon je l'ai fait sa marche mais ya un truc que je sais pas faire : mon affichage donne ceci 11:9: Problème avec TGA Loader [ par psykocrash ] Bonjour, J'ai commencé depuis peut la programmation avec OpenGL/GLut et j'ai trouvé la classe TGA Loader de Funto66 mais je n'arrive pas à afficher le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,201 sec (3)

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