|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
[openGL]
Problema problemino...
Uso openGL + glut (+ glui) e c++... Quando l'utente clicca sulla finestra openGL parte chiaramente la callback del mouse che mi restituisce le coordinate in pixel del punto su cui ha cliccato... Io avrei bisogno di inserire un punto esattamente dove ha cliccato ma per fare ciò dovrei sapere le coordinate mondo del punto su cui ha cliccato... come faccio? Grazie mille... PS: ho visto dopo tanta assenza dal forum il nuovo moderatore ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Grazie soalle
![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Oct 2003
Messaggi: 22
|
Questo dovrebbe esserti più che utile, non è proprio il tuo problema ma gli somiglia:
http://www.gamedev.net/community/for...opic_id=201999 gluUnProject ( (double) mouse_x, (double) mouse_y, 0.0, modelMatrix, projMatrix, viewPort, &x, &y, &z ); - mouse_x e mouse_y te li prendi dalla callback del mouse, - il tipo in questione chiede le coordinate globali per una profondità di 0.0 che sarebbe il piano di clipping vicino all'osservatore. z = 1 è il piano di clipping più lontano. In generale z deve essere calcolato volta per volta e passato alla funzione. - x, y e z sono i valori in coordinate globali dove vai a scrivere Ti rimando alla documentazione di gluUnProject() nel red book a pagina 110. ciao |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Non potevo chiedere di meglio
![]() Grazie mille ci do un'occhiata... |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Altra domandina...
Ho una finestra GLUT con dentro controlli GLUI che mi diminuiscono l'area visibile (ma credo che questo non porti alcun problema...) Il fatto è che se ridimensiono la finestra in altezza, un uqdrato mi rimane quadrato e mi diminuisce leggermente le dimensioni per poterlo visualizzare completamente... Se invece ridimensiono la finestra in larghezza, il quadrato non viene deformato ma non mi diminuisce in dimensioni facendolo uscire dalla finestra stessa dopo poco... questo è il codice della callback di reshape: Codice:
int tx, ty, tw, th; GLUI_Master.get_viewport_area( &tx, &ty, &tw, &th ); glViewport( tx, ty, tw, th ); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective (45.0, ((double)tw)/((double)th), 2.0, 8.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef (0.0, 0.0, -5.0); |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:08.