begin process at 2010 02 10 10:49:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Afficher un point en opengl


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

Afficher un point en opengl

vendredi 19 mai 2006 à 11:25:25 | Afficher un point en opengl

DMK04

Bonjour,

je commence l'opengl et je n'arrive pas à afficher un point.
J'ulise le code suivant :


#include <stdio.h>
#include <GL\glut.h>


void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}

void afficherPoint(float x, float y)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f,0.0f,0.0f);

glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();

glFlush();
}


void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(500,500);
glutCreateWindow("Afficher un point");
glClearColor(1,1,1,1);
glutDisplayFunc(renderScene);
afficherPoint(0,0);
glutMainLoop();
}




Si je demande à afficher mon point depuis renderScene ça marche mais pas depuis afficherPoint.

Merci pour votre aide

A+
vendredi 19 mai 2006 à 11:32:42 | Re : Afficher un point en opengl

luhtor

Bas c'est normal, dans ta fonction renderscene tu dis de rien n'afficher. Revois le fonctionnement de glut.
Mets ta fonction afficherPoint(0,0); dans renderscene.


vendredi 19 mai 2006 à 11:38:27 | Re : Afficher un point en opengl

DMK04

Mon soucis en fait, c'est que renderScene ne prend  pas de paramètres, et on ne peut pas passer une fonction avec paramètres à la fonction glutDisplayFunc.
Merci
A+
vendredi 19 mai 2006 à 12:25:56 | Re : Afficher un point en opengl

luhtor

Mais tu vois un pb la ou il y en a pas:
Pour afficher un truc avec opengl, faut lui demander a chaque frame ! c'est pas un fonctionnement style paint ou style librairie basique.

void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT);

afficherPoint(0,0);

glFlush();
}

void afficherPoint(float x, float y)
{
glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();
}


void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(500,500);
glutCreateWindow("Afficher un point");
glClearColor(1,1,1,1);
glutDisplayFunc(renderScene);
glutMainLoop();
}


vendredi 19 mai 2006 à 13:44:06 | Re : Afficher un point en opengl

DMK04

Moi je voudrais pouvoir ajouter des points en appelant une fonction, dans ce cas les coordonnées sont fixées.
glutDisplayFunc n'est apparament pas la fonction appropriée. Connaitrais-tu une fonction qui correspondrait mieux à ce que je recherche ?
Merci,
A+
vendredi 19 mai 2006 à 13:52:02 | Re : Afficher un point en opengl

DMK04

Mal exprimé, je reprends ma première phrase :
Moi je voudrais pouvoir ajouter des points en appelant une fonction, et avec glutDisplayFunc les coordonnées sont fixées. On ne peut pas rajouter des points au fur et à mesure ?

Merci
A+
vendredi 19 mai 2006 à 17:03:23 | Re : Afficher un point en opengl

Alcantornet

Réponse acceptée !
Tu peux utiliser les lists d'affichage, exemple (Testé sous dev-cpp):

#include <stdio.h>
#include <GL\glut.h>

int idList;

void renderScene(void) {
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(0.0f,0.0f,0.0f);
  glCallList(idList); // Affiche toute la liste
  glFlush();
}

void addPoint(float x, float y){
    glBegin(GL_POINTS);
      glVertex2f(x,y);
    glEnd();
}

void main(int argc, char **argv) {
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
  glutInitWindowPosition(100,100);
  glutInitWindowSize(500,500);
  glutCreateWindow("Afficher un point");
  glClearColor(1,1,1,1);
 
  idList = glGenLists(1);
  glNewList(idList,GL_COMPILE); // Commence une liste de dessin
 
  addPoint(0, 0);
  addPoint(.2, .2);
  addPoint(-.2, .2);
  addPoint(.2, -.2);
  addPoint(-.2,-.2);
 
  glEndList(); // Une fois tous les points ajouté,
               // on termine la liste
 
  glutDisplayFunc(renderScene);
  glutMainLoop();
}


vendredi 19 mai 2006 à 19:09:46 | Re : Afficher un point en opengl

DMK04

Ok, merci ;)

A+


Cette discussion est classée dans : afficher, opengl, void, gl, renderscene


Répondre à ce message

Sujets en rapport avec ce message

J'ai besoins d'aide please ! [ par mondrone ] #include #include SDL_Surface *screen = NULL; void demarre_opengl(); void creer_fenetre_opengl(); void init_opengl(); void stop_opengl(); void tou Listes OpenGL : Problème de texture [ par smoove5198 ] Bonjour, Je travaille actuellement sur un projet en opengl. Pour des raisons de performence je me suis ecrit une classe qui crée du texte a partir d' Problème OpenGL (GL_POINT) [ par olivier_job ] Bonjour,   J'utilise VC++ 7.0, avec wxWindows. Le problème est le suivant. Sur mon ordinateur, les GL_POINTS apparaissent comme des cercles, alors q Eclairage en OpenGL ? IMPORTANT ! [ par bubbless ] Bonjour à tous ! Je réalise actuellement un programme avec une interface en OpenGL, et, j'ai un problème ! Je voudrais mettre des images en fond d'écr Fond d'écran en OpenGl (entre autres...) [ par bubbless ] Bonjour à tous ! Je réalise actuellement un programme avec une interface en OpenGL, et, j'ai un problème ! Je voudrais mettre des images en fond d'écr opengl : lumière, fog pose problème quand picking [ par kortin ] Bonjour,j'aimerais ajouté le fog et la lumière dynamique dans mon projet openGL.Tout fonctionne bien, mais lors de la sélection d'un objet(picking), l Probléme de textures pour un loader 3DS [OpenGl,DevIl] [ par juliendemomaker ] Bonjour ! Voici mon probléme, je conçois actuellement un loader .3ds en C++ avec OpenGl, le probléme est que quand je charge un model 3D quelconque a Errreur [ par RM50Man ] Mon code ne marche pas: Le compilateur devcpp me met build error 1 #include /* contient déjà et */ #include #include #include void reset De l'openGL sur le bureau [ par Alcantornet ] Hello le peuple, J'ai fait une petite horloge en openGL et j'aimerais pouvoir la mettre à la place de l'arrière plan. Je pense qu'il faut que je lie Texture openGl [ par neodelphi ] Bonjour tout le monde, j'essaye désespérément d'ajouter des textures dans mon projet openGl, mais je devient fou... J'ai écrit une classe qui me perm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

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

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