begin process at 2012 05 30 05:57:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

OpenGL

 > 

prog en opengl


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

prog en opengl

jeudi 19 juin 2008 à 22:33:08 | prog en opengl

wildTiger

salut tt le monde
je veux dessiner des points en cliquant par la souris sur ma fenêtre. mais mon prog ne marche pas. est ce que qlq'1 peut m'aider?
voici mon prog:
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
using namespace std;

static int c = 0 ;
void mouse(int bouton,int etat,int x,int y) {
FILE *stream;
 stream = fopen("point.txt", "w");
 stream = fopen("point.txt", "a");

  if ( etat == GLUT_DOWN )

    switch ( bouton ) {
      case GLUT_LEFT_BUTTON  : 
                               printf("%4d %4d\n",x,y);
                               fprintf(stream,"%4d %4d\n",x,y);
                              glBegin (GL_POINTS);
                             glColor3f(0, 0, 0);
                            glPointSize (32.0); 
                            glVertex2i(x,y);
                           glEnd();
                          glFlush(); 
                          glutSwapBuffers();
                            break ;
        fclose(stream);
        glutPostRedisplay();
    
      case GLUT_RIGHT_BUTTON : exit(0);
                               break; }
}
 
void display(void) {
  glClearColor(1, 1, 0, 0) ;
  glClear(GL_COLOR_BUFFER_BIT) ;
  glOrtho(-1.0,1.0,-1.0,1.0,
          -1.0,1.0);  
    glPushMatrix();
    glFlush();
}

int main(int argc,char **argv) {
 
  glutInit(&argc,argv);
  glutInitWindowSize(400,400);
  glutInitWindowPosition(100,100);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutCreateWindow("Clics de souris") ;      
  glutDisplayFunc(display) ;
  glutMouseFunc(mouse) ; glutMainLoop() ;
  return(0);
}

vendredi 20 juin 2008 à 00:06:39 | Re : prog en opengl

luhtor

Ca marche pas comme ca openGL, glut non plus. Tu n'as pas le droit de dessiner en dehors de la fonction "display". Faut stocker les points à afficher dans des tableaux puis les tracer à chaque frame.
vendredi 20 juin 2008 à 10:12:43 | Re : prog en opengl

faucheuse

Mdr, ya a peine une heure je me suis dit "tiens se serais marrant de faire un programme Opengl qui desisne des formes selon l'emplacement de la souris"
Et la je trouve se post XD
vendredi 20 juin 2008 à 13:42:36 | Re : prog en opengl

wildTiger

wé luthor j'ai lu un tutoriel sur opengl ce matin et je me suis rendu compte que le code du dessin des points doit être ds la fonction d'affichage.

mais pourriez vs m'expliquer un peu plus comment récupérer mes points dans un tableau?
merci d'avance

vendredi 20 juin 2008 à 18:10:33 | Re : prog en opengl

luhtor

Tu créés une liste en variable globale.

void mouse(int bouton,int etat,int x,int y)
{
if ( etat == GLUT_DOWN )
{
switch ( bouton )

{
        case GLUT_LEFT_BUTTON  :
        Ajouter point (x,y) à la fin de la liste de points.
        glutPostRedisplay();
       break;  

      case GLUT_RIGHT_BUTTON : exit(0);
      break;
}
}
}
void display(void) {
  glClearColor(1, 1, 0, 0) ;
  glClear(GL_COLOR_BUFFER_BIT) ;
  glOrtho(-1.0,1.0,-1.0,1.0,
          -1.0,1.0); 

   glBegin(GL_POINTS);

    pour chaque point de la liste:
    glVertex(element[i].x, element[i].y);

    glEnd();

    glFlush();
}



Sinon, il y a d'autres erreurs dans ton programme:

Ici:
stream = fopen("point.txt", "w");
stream = fopen("point.txt", "a");

Et le "PushMatrix()" qui n'a aucun sens et qui génère des erreurs opengl.




Cette discussion est classée dans : int, prog, include, stream, glut


Répondre à ce message

Sujets en rapport avec ce message

problèmes ds mon prog [ par wildTiger ] salut tt le mondeje veux dessiner des points en cliquant par la souris sur ma fenêtre. mais mon prog ne marche pas. est ce que qlq'1 peut m'aider?voic Unix: sockets & Co [ par bounkolh ] Bonjour, Je cherche de l'aide pour compléter les ............ du fichier client.c permettant d'interroger le serveur implementé par server.c. Listing .h et .cpp avec DEV [ par medACK ] salut, après avoir avoir fais plein d'applications en 2D, je veux maintenant monter 1 moteur.mon problème n'est pas coté algorithmique mais plutôt cot Probléme avec la fonction SetPixel de l'api windows [ par Mareck666 ] Salut Salut tous le monde si je vien poster sur ce forum c'est parce que je n'arrive pas a trouver des explication a un mystérieux bug de la fonction Argument - argv etc.. [ par oshin ] Bonjour,J'ai créer un petit programme mais j'ai un probleme :#include #include #include char ident[600];int main(int argc, char *argv[]) {<b Segmentation fault sur un tableau de char [ par MaxSoldier ] Bonsoir tout le monde !Je me suis mis au C/C++ sous linux il y a quelques jours et j'ai de nombreuses erreur de dépassement de tampon (segmentation fa Lecture fichier impossible avec SDL [ par CCJ ] Hello.j'utilise SDL pour me faire un petit jeu 2D. Seulement je recontre actuellement un petit probleme. Il semblerait en effet qu'il bloque l'utilisa Remplir une matrice ? [ par MmDHost ] Bonjour,J'ai besoin de crée une matrice pour un projet sur un Modèle Numérique de Terrain cependant j'ai une érreur que je n'arrive pas à corriger, po


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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