begin process at 2012 05 30 17:54:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

les sous fenetres en glut n'en font qu'a leurs tetes


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

les sous fenetres en glut n'en font qu'a leurs tetes

mardi 12 juillet 2005 à 21:10:04 | les sous fenetres en glut n'en font qu'a leurs tetes

whikie

Bonjour,

je voudrais comprendre le placement des glutSubWindow.

Voici les infos que j'ai :
glutCreateSubWindow

La fonction glutCreateSubWindow crée une sous-fenêtre à l'intérieur d'une fenêtre parent.

  1. Usage

    int glutCreateSubWindow ( int win, int x, int y, int width, int height );

    win

    Identificateur de la fenêtre parent.

    Coordonnées en pixels de la position en x relativement à la fenêtre parent.

    y

    Coordonnées en pixels de la position en y relativement à la fenêtre parent.

    width

    Largeur en pixels.

    height

    Hauteur en pixels.

Il est à remarquer que l'origine se trouve dans le coin supérieur gauche de la fenêtre.

Donc si je cree une sous fenetre a la position 50,50 je devrais trouver ma sous fenetre a 50 pixels du bord de ma fenetre principale non ?

Ben ca se passe pas comme prevu, le code fonctionne pourtant 

C'est un melange de tuto trouvé ici (merci Keniiyk) et d'essai :

#include<gl/glut.h>

static float RX=0.0;
static float RY=0.0;
static float RZ=0.0;

int principale,deux,trois,quatre;

void Reshape(int width, int height)
{
   glViewport(0,0,width,height);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluPerspective(45,(float)width/(float)height,0.01,20);
   glMatrixMode(GL_MODELVIEW);
}

void InitGL(void)
{
 glEnable(GL_DEPTH_TEST);
 glShadeModel(GL_SMOOTH);
}

void Draw()
{
int changer,souviens;
souviens=glutGetWindow();
if (souviens==1) {changer=2;} else {changer=1;}    

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glLoadIdentity();
gluLookAt(1,changer,1,0,-1,0,0,1,0);

glRotatef(RX,1.0f,0,0);
glRotatef(RY,0,1.0f,0);
glRotatef(RZ,0,0,1.0f);

glColor3f(1.0f,0,0);
glBegin(GL_QUADS);
  glVertex3f(1.0f,1.0f,1.0f);
  glVertex3f(1.0f,-1.0f,1.0f);
  glVertex3f(-1.0f,-1.0f,1.0f);
  glVertex3f(-1.0f,1.0f,1.0f);
glEnd();

glColor3f(0,1.0f,0);
glBegin(GL_QUADS);

  glVertex3f(1.0f,1.0f,-1.0f);
  glVertex3f(1.0f,-1.0f,-1.0f);
  glVertex3f(-1.0f,-1.0f,-1.0f);
  glVertex3f(-1.0f,1.0f,-1.0f);
glEnd();

glColor3f(0,0,1.0f);
glBegin(GL_QUADS);

  glVertex3f(1.0f,1.0f,1.0f);
  glVertex3f(1.0f,-1.0f,1.0f);
  glVertex3f(1.0f,-1.0f,-1.0f);
  glVertex3f(1.0f,1.0f,-1.0f);
glEnd();

glColor3f(0,1.0f,1.0f);
glBegin(GL_QUADS);

  glVertex3f(-1.0f,1.0f,1.0f);
  glVertex3f(-1.0f,-1.0f,1.0f);
  glVertex3f(-1.0f,-1.0f,-1.0f);
  glVertex3f(-1.0f,1.0f,-1.0f);
glEnd();

glColor3f(1.0f,1.0f,0);
glBegin(GL_QUADS);

  glVertex3f(-1.0f,1.0f,-1.0f);
  glVertex3f(-1.0f,1.0f,1.0f);
  glVertex3f(1.0f,1.0f,1.0f);
  glVertex3f(1.0f,1.0f,-1.0f);
glEnd();

glColor3f(1.0f,0,1.0f);
glBegin(GL_QUADS);

  glVertex3f(-1.0f,-1.0f,-1.0f);
  glVertex3f(-1.0f,-1.0f,1.0f);
  glVertex3f(1.0f,-1.0f,1.0f);
  glVertex3f(1.0f,-1.0f,-1.0f);
glEnd();

glutSwapBuffers();
glutPostRedisplay();
}

void idle()
{
 RX+=1.0f;
 RY+=2.0f;
 RZ+=3.0f;
 glutPostRedisplay();
}

int main( int argc, char *argv[ ])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(800,600); //Optionnel
principale=glutCreateWindow("Ma première fenêtre OpenGL !");
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
//glutFullScreen(); //Optionnel
deux=glutCreateSubWindow(1,100,100,100,100);
glutSetWindow(deux);
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
trois=glutCreateSubWindow(1,300,300,100,100);
glutSetWindow(trois);
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
quatre=glutCreateSubWindow(1,315,250,135,50);
glutSetWindow(quatre);
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);

InitGL();

glutIdleFunc(idle);
glutMainLoop();

return 0;
}

Je developpe en Dev-c++ version 4.9.9.2 sous windows XP service pack 2

Merci d'avance

mardi 12 juillet 2005 à 21:26:27 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

mondrone

Membre Club
Et ca te fait quoi exactement ? Paske je vien de tester ton code sous Dev-C++ 4.9.8.0 (quoi que suis pas sur que ce soit reellement important) sous XP SP2 comme toi et je voit rien d'anormal !
Les fenetre on l'air de correctement se placer !


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 12 juillet 2005 à 21:41:49 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

whikie

les sous fenetres se collent l'une a l'autre en haut a gauche de l'ecran

mardi 12 juillet 2005 à 21:49:20 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

whikie

voici l'image
mardi 12 juillet 2005 à 21:52:13 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

mondrone

Membre Club
Je n'ai pas eu ce problème avec ton code !

Le problème doit provenir d'autre chose que le code en lui-même !

Tu est sur de bien avoir configuré ton projet (si projet tu utilise) ?


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 12 juillet 2005 à 21:53:08 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

whikie

oups j'espere que l'image va suivre cette fois

mardi 12 juillet 2005 à 21:59:43 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

whikie

effectivement j'utilise un projet mais je decouvre le C++ depuis samedi dernier. jke ne maitrise pas encore les configs des projets

grosso mode

projet/options du projet/general
Win32 gui

projet/options du projet/paramet.. :
 lib/libopenglut.a
-lglu32
-lopengl32
-lwinmm
-lgdi32
lib/libglut32.a
mardi 12 juillet 2005 à 22:02:50 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

mondrone

Membre Club
LOL a première vue non pas cette fois non plus, mais ca ne change rien.

Attend. Voila un imprim de ce que ca me donne chez moi :



  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 12 juillet 2005 à 22:04:41 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

mondrone

Membre Club
tien ton image arrive maintenant. Ya un peu de retard dans l'air.

Perso g juste ajouté au projet les fichiers suivants : libglu32.a libglut32.a et libopengl32.a


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 12 juillet 2005 à 22:06:36 | Re : les sous fenetres en glut n'en font qu'a leurs tetes

mondrone

Membre Club
O fé quand tu met une image sur un forum, ne met pas une image dont l'@ est locale ! Perso je n'ai pas ton image sur mon disque dur !


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!


1 2 3

Cette discussion est classée dans : int, fenêtre, glvertex3f, gl, 0f


Répondre à ce message

Sujets en rapport avec ce message

3Dexplorateur : Comment utiliser les .cpp OpenGL [ par Amanobuo ] Bonjours. J'ai fait un cube 100cm avec 3D studio max 6 et j ai enregistre en .3dsJ ai ouvert ce .3ds avec 3D explorateur pour l' enregistre sous .cpp SDL Opengl lumiere [ par xian240482 ] Alors là, je comprend pas!Voila un mon code (ultra simplifier) et il ne marche pas : Il plante sur le glend() !Si c'est ,comme je le crois, une erreur probleme de texture pour creer une explosion [ par elfiosi ] Bonjour a tous,Jai un probleme de texture lorsque jessaie de creer une explosion pour un jeu video. jutilise une image qui represente une etincelle av PB POUR LA GESTION MULTIFENETRES [ par algeros ] Voici un code ://////////////////////////////////////////////////////////////////                                                          //   Name: GL_POINTS--> au bord du suicide [ par satellite34 ] bon voila, je reposte car je pense avoir ciblé le probleme, et c'est du coté d'openGL qui a un truc qui m'echappe et non du wxGLCanvas;En fait j'arriv Problème avec les polygones [ par nisaloncaje ] Bonjour, j'ai le code source suivant : #include #include double a=0,inca=0.1; /* Prototype des fonctions */void affichage();void clavier(unsigned Probleme sur une forme simple [ par faucheuse ] Tout d'abord je ne travaille pas sous Linux mais sous WindowsXP mais je n'ai pas trouver de sous-forum correspondant dsl.Alors voila, j'essaye de fair pikcing opengl [ par znb ] J 'ai fait un code et ça marche très bien; il détecte les couleurs des objets. Mais je veux que, pour une valeur particulière de la couleur, dessiner message erreur access violation [ par beautyordi ] bonjour a tous Je suis débutant et je souhaite juste lancer une fenêtre vierge avec glut j'ai recopier le code de mon bouquin voila mon code: [code=cp transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose<


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,624 sec (4)

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