Re: utiliser gluUnProject dans la vue 3D ?

Posté par mwipliez le 31/3/2007 20:57:58
La vache, j'ai essayé de faire exactement la même chose sans succès... Il faut dire que j'avais mis 0. pour la profondeur (au lieu de faire comme tu as fait avec depth). J'ai donc essayé ton script, et réussi à le faire marcher ! Et je te dis merci au passage

Donc bref je t'explique ce que j'ai fait : en fait gluUnProject prend des buffers de type GL_DOUBLE en entrée (et sortie aussi)... Donc il suffit de changer les types des buffers, ça donne ça :

def get_modelview_matrix():
model_matrix = BGL.Buffer(BGL.GL_DOUBLE, 16)
BGL.glGetDoublev(BGL.GL_MODELVIEW_MATRIX, model_matrix)
return model_matrix

def get_projection_matrix():
proj_matrix = BGL.Buffer(BGL.GL_DOUBLE, 16)
BGL.glGetDoublev(BGL.GL_PROJECTION_MATRIX, proj_matrix)
return proj_matrix

De même pour les coordonnées :
world_x = BGL.Buffer(BGL.GL_DOUBLE, 1)
world_y = BGL.Buffer(BGL.GL_DOUBLE, 1)
world_z = BGL.Buffer(BGL.GL_DOUBLE, 1)

Voilà, ça devrait marcher (en tous cas ça marche chez moi).

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=2&topic_id=8170&post_id=94393