Como implementar um trackball no OpenGL?

Depois de tanta leitura sobre transformações, é hora de implementar um trackball para o meu aplicativo. Entendo que preciso criar um vetor da origem para onde o mouse é clicado e depois outro da origem para onde o mouse é liberado. Minha pergunta é: eu tenho que transformar as cordas de pixel (x,...