Bonjour.

J'aimerais recuperer les coordonnees de ma souris par rapport a mon monde.
J'utilise donc GluUnproject, mais les coordonnees retournees ne sont pas exactes, le point en 'x' pas de soucis, mais celui en 'y' pose probleme, il est toujours faux.

Je suis en projection Ortho

Voici mon code
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 Private Sub OpenGlControlKontur_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles OpenGlControlKontur.MouseMove
 
        Dim X, Y, Z As Double
        Dim viewport(3) As Integer
        Dim mvmatrix(15) As Double
        Dim projmatrix(15) As Double
        Gl.glGetIntegerv(Gl.GL_VIEWPORT, viewport)
        Gl.glGetDoublev(Gl.GL_MODELVIEW_MATRIX, mvmatrix) 'REINITIALISEE A CHAQUE FOIS
        Gl.glGetDoublev(Gl.GL_PROJECTION_MATRIX, projmatrix)
 
        Glu.gluUnProject(e.Location.X, viewport(3) - e.Location.Y, 0, mvmatrix, projmatrix, viewport, X, Y, Z)
        Label1.Text = X.ToString + "//" + Y.ToString + "//" + viewport(3).ToString
 
    End Sub

Et voici le code pour le reglagle de la camera (Zoom,deplacement...)
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Gl.glMatrixMode(Gl.GL_PROJECTION) 'reglage projection
        Gl.glLoadIdentity()
            Gl.glOrtho(-2 * translatez, 2 * translatez, 2 * -translatez, 2 * translatez, 0.01, 100)
 
        Glu.gluLookAt(0, 0, 6, 0, 0, 0, 0, 1, 0)
        Gl.glScaled(Scalex, Scaley, 1)
        Gl.glTranslated(translatex, translatey, translatez - 1)
        Gl.glRotated(_angle, 0, 1, 0)
        Gl.glRotated(_anglex, 1, 0, 0)

Comment avoir des coordonnees exactes?
Merci

EDIT:
C'est bon jai trouve par moi meme, petit probleme d'initialisation et le viewport(3) - y qui manquait.