Autore Topic: rotazione in opengl  (Letto 1622 volte)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
rotazione in opengl
« il: 20 Gennaio 2009, 23:12:42 »
ho notato che effettuando una rotazione sull asse x o y gambas si comporta in modo bizzarro ovvero viene effettuato uno zoom enorme tale da riempire tutto lo schermo e impedire la corretta visualizzazione.

l' errore si presenta in questo caso


vogliamo ruotare sull' asse x, normalmente faremmo così:

Codice: [Seleziona]
gl.Rotatef(angolo, 1.0, 0.0, 0.0)


e qui si presenta il problema!
Per ora come soluzione ho trovato questa:


Codice: [Seleziona]

gl.Rotatef(angolo, 1.0, 0.0, 0.0)
gl.Rotatef(0, 0.0, 1.0, 0.0)
gl.Rotatef(0, 0.0, 0.0, 1.0)


ovvero faccio una finta rotazione degli assi che non devo ruotare

idem se si vuole ruotare sull' asse y

questo problema non si presenta se a ruotare oltre l' asse x o y è anche l' asse z

per le prove ho usato gambas 2.9 su ubuntu 8.10

qualcun altro ha riscontrato lo stesso problema?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: rotazione in opengl
« Risposta #1 il: 22 Gennaio 2009, 09:58:13 »
Io non posso aiutarti, in questo periodo sono in giro per l'Italia, e ho abbandonato temporaneamente lo studio della libreria.
Probabilmente, il problema riscontrato, è proprio dovuto al fatto che stai usando la modalità 3D, per cui l'asse Z ha importanza fondamentale, però è solo una mia impressione...

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: rotazione in opengl
« Risposta #2 il: 22 Gennaio 2009, 18:08:25 »
puo essere che sia come dici tu , anche se mi pare molto strano visto che il componente segue fedelmente la tipologia delle opengl con c++ (a quanto mi è sembrato di vedere) per cui dovrebbe bastare un solo gl.rotatef invece di tre.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: rotazione in opengl
« Risposta #3 il: 22 Gennaio 2009, 23:55:25 »
Bè, era solo un'ipotesi, che tra l'altro non posso al momento verificare.
Comunque, hai ragione sul fatto che sicuramente c'è qualche problema, dato che in altro ambito la cosa funziona.
Però, come più volte detto, Gambas è ancora lontano da essere un linguaggio completo, e completamente affidabile, nel senso che è probilissimo che abbia pecche nell'interpretazione di alcune specifiche funzionali, quali è l'OpenGL.
Tra le altre cose, il più delle volte si appoggia direttamente alle librerie di base esterne (logica anche giusta), ma magari passando per altre, e sicuramente qualcosa non viene linkato nel giusto modo.
Anche questo riporta al discorso sulla decisione di fermare un momento il progetto, e sistemare le cose lasciate un pò appese, e non completamente approfondite...

Io, purtroppo, al momento non ho tempo di mettermi a studiare la cosa, che invece mi ero ripromesso di fare, perchè mi stava incuriosendo un tantino... Ma appena ho un pò di spazio, ci provo.

Al momento leggo il forum, e mi aggiorno sull'avanzamento dei tuoi studi... :-)

Magari poi ci dividiamo il lavoro...
A me interessa.

Ciao