Sam84 Inviato 8 Maggio 2008 Segnala Condividi Inviato 8 Maggio 2008 Ciao! Devo realizzare una trackball virtuale, con OpenGL e il C. La funzione principale della trackball è: void mouseTrack(Vect* vRotAxis, GLfloat* angle, Vect vin) { Vect vDiff; float len=0.0, alpha=0.0; *angle=0.0; vCurr=projectOnSphere(vin, TRACK_RAY); normalize(&vCurr); *vRotAxis=cross(vPrev, vCurr); normalize(vRotAxis); vDiff=sub(vCurr, vPrev); alpha=len/(2*TRACK_RAY); if(alpha<-1.0) alpha=-1.0; if(alpha>1.0) alpha=1.0; *angle=2*RAD_TO_DEG*asin(alpha); vPrev=vCurr; } Xcode però mi da l'errore: "incompatible types in assignment" per le righe: *vRotAxis=cross(vPrev, vCurr); e vDiff=sub(vCurr, vPrev); Qualcuno ha idea di come mai? O mi sa suggerire un altro modo di realizzare una virtual trackball? Grazie... Link al commento Condividi su altri siti Altre opzioni di condivisione...
Havvk Inviato 8 Maggio 2008 Segnala Condividi Inviato 8 Maggio 2008 sicuro che la funzione cross non restituisca un puntatore invece di un elemento? in tal caso togli * davanti a vRotAxis per quanto riguarda la funzione sub anche qui bisogna vedere il suo prototype perche` se restituisce un puntatore vDiff deve essere dichiarato come puntatore a Vect e in tal caso dovrai anche allocare dinamicamente lo spazio con una malloc Expertise Areas: MacGenius && Networking Expert Link al commento Condividi su altri siti Altre opzioni di condivisione...
Sam84 Inviato 13 Maggio 2008 Autore Segnala Condividi Inviato 13 Maggio 2008 Grazie. Il problema era che quelle due funzioni (sub e cross) non erano definite. Purtroppo è un'implementazione che mi ha passato il docente del corso di OpenGL e pensavo proprio che avesse messo tutto. In ogni caso... ... ora quel problema l'ho risolto, vedendo altre versioni di trackball virtuali. Però la trackball funziona proprio male (nel senso che la scena si vede tutta distorta e solo da quando clicco con il mouse). Se posto il codice, qualcuno mi può aiutare? Link al commento Condividi su altri siti Altre opzioni di condivisione...
Sam84 Inviato 14 Maggio 2008 Autore Segnala Condividi Inviato 14 Maggio 2008 Nessuno? Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.