Axe des x inverse ???

cs_sheeper Messages postés 16 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 octobre 2005 - 19 avril 2004 à 17:15
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 20 avril 2004 à 20:27
Bonjour,
Bon je sais ma question est un peu bete mais est ce que c'est normal que j'ai les x positifs a gauche de mon ecran au lieu de la droite dans un repere normal ??? Et est ce que c possible de l'inverser ??
Merci

8 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
19 avril 2004 à 17:32
t'es dans quel contexte ? winform ? directx ? glut ?

t'as utilisé SetWindowOrgEx ?
0
cs_sheeper Messages postés 16 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 octobre 2005
19 avril 2004 à 17:45
Oups.... :blush) , j'ai oublie l'essentiel....
Donc j'utilise win32 sans glut et je fait de l'opengl.
Et non je n'utilise pas SetWindowOrgEx.
0
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
19 avril 2004 à 17:54
ok, donc désolé, je peux pas t'aider
j'ai jamais fait d'openGL
0
cs_sheeper Messages postés 16 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 octobre 2005
19 avril 2004 à 17:56
merci qd meme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
19 avril 2004 à 18:55
C'est quoi un repère normal ?

...

Je ne puis t'aider, le sens de la question m'échappe...
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 avril 2004 à 20:11
sheeper ==> c'est toi qui defini ton repere en mode ortho, montre ton code pour voir (tu est bien en 2d?)
0
cs_sheeper Messages postés 16 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 octobre 2005
20 avril 2004 à 18:18
Bonour,
Donc pour moi un repere "normal" c un repere avec les x positifs vers la droite comme je l'utilise en maths quoi....
Bon en gros je veux savoir si il est possible de changer le repere et donc de definir les vecteurs i , j et k comme je le veux. Sinon pour repondre a djl se travaille en 3D mais comme ce qui me parait etre une inversion ne touche que l'axe des x (les y positifs sont vers le haut et les z positifs vers moi).
Bon voila le code (j'ai mis que ce qui concerne l'opengl):

void RePaint()
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();

gluLookAt(5,0,0,0,0,0,0,1,0);


SwapBuffers (DC);
}

void InitPixelFormat (HDC hDC)
{
PIXELFORMATDESCRIPTOR pfd =
{
sizeof (PIXELFORMATDESCRIPTOR),
1,
PFD_SUPPORT_OPENGL | PFD_TYPE_RGBA | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER,
16,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16,
0, 0, 0, 0, 0, 0, 0
};

SetPixelFormat (hDC, ChoosePixelFormat (hDC, &pfd), &pfd);
}

LRESULT CALLBACK WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:

DC=GetDC (hwnd);
InitPixelFormat (DC);
RC = wglCreateContext (DC);
wglMakeCurrent (DC, RC);

break;

case WM_CLOSE:

wglMakeCurrent (NULL, NULL);
wglDeleteContext (RC);
ReleaseDC (hwnd,DC);
PostQuitMessage (0);
break;
case WM_SIZE:
glViewport (0,0,LOWORD (lParam),HIWORD (lParam));
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (45,(float)(LOWORD(lParam))/(float)(HIWORD(lParam)),1,100);
break;

case WM_PAINT:
RePaint ();
break;

Voila...
@++
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
20 avril 2004 à 20:27
oui, donc tu est en 3d la, ton repere (2d x,y) depend de ou tu place la camera

gluLookAt( 0,0,0, 0,-10,0, 0,1,0 );

de cette dacon les z seront positif vers toi, mais pour les x si ca te convientas tu sera obliger de faire ca

gluLookAt( 0,0,0, 0,10,0, 0,1,0 );

et les z seront alors negatif vers toi, mais tu peux rein y faire, c'est comme ca que le repere opengl est foutu, atoi de faire des conversin de coordonnee si tu veux

mais je vois pas en quoi ca pose un probleme, tu peux dessiner en 2d en etablissant un mode ortho

glOrtho(gauche,droite,bas,haut,0,1); tres simple et la tu fait ton repere comme tu veux

moi je me sert de ca pour passer en mode ortho/revenir en mode perspective

static void __fastcall OrthoMode(int width=640,int height=480)
{
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0,width,0,height,0,1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

static void PerspectiveMode()
{
glMatrixMode( GL_PROJECTION );
glPopMatrix();
glMatrixMode( GL_MODELVIEW );
}
0
Rejoignez-nous