Sto disegnando una scena in cui la telecamera si muove liberamente nell'universo. La classe della telecamera tiene traccia del punto di vista (o dello sguardo ), della posizione della telecamera e del vettore verso l'alto. Questi vettori / punti vengono quindi passati a gluLookAt.
Pan e zoom sono quasi banali da implementare. Tuttavia, mi sto trovando rotazione intorno sguardo al punto di essere molto più di un problema. Voglio scrivere una funzione Camera.rotate che richiede 2 angoli, uno che ruota su / giù e uno che ruota a sinistra / destra lungo una sfera immaginaria che è centrata sullo sguardo nel punto.
C'è un modo semplice per farlo?
Ho (brevemente) letto dei quaternioni, ma volevo vedere se c'era una soluzione più semplice data la costruzione relativamente semplice della mia scena.