Ajuda com OpenGL

Não sei se esse tópico serve pra essa linguagem, mas enfim

Olá galera, tudo bom?
Minha dúvida é a seguinte, eu estou fazendo um projeto que irá ser um jogo de guerra, e o veiculo usado será um tanque, o professor deu a dica de fazer o seguinte: começar a fazer os testes com um polígono qualquer, depois aplicar as mesmas transformações no tanque original [se preocupar com modelagem depois].
Mas em OpenGl, as rotações são feitas através da origem, mas meu tanque ele anda, como qualquer outro, eu queria saber se tem como eu rotacionar o tanque em torno de um ponto fixo, ou seja, dele mesmo, eu ouvi dizer que “coisas” do tipo, temos que transladar pra origem, rotacionar, depois colocar no lugar novamente.
Tem como eu fazer isso de uma forma eficaz? A OpenGl me fornece alguma função que me auxilie em algo? Ou tenho que fazer tudo manualmente ?

Agradeço desde já,
Victor Hugo

Exitem bibliotecas que já possuem todas essas funcionalidades. São as chamas engines 3d.

Olha aqui, um tutorial sobre a glut(embora ela não seja realmente uma engine)

[youtube]http://www.youtube.com/watch?v=SAmD_Aq1Un4[/youtube]

Fazer um tanque andar é simplesmente fazer uma translação.

Desenhe o modelo do tanque na origem, e simplesmente translade no momento de andar.

Leia esses artigos, eles podem te ajudar:
http://www.pontov.com.br/site/arquitetura/54-matematica-e-fisica/238-matrizes-e-transformacoes-parte-1
http://www.pontov.com.br/site/arquitetura/54-matematica-e-fisica/267-matrizes-e-transformacoes-parte-2

Eu vou ler os artigos ainda, mas o problema que falo na movimentação do tanque é o seguinte:
Um tanque ele se movimenta [eu uso apenas as translações pra isso], mas um tanque ele não anda de lado, se é que vocês me entendem, pra ele andar pro lado, ele tem que rotacionar o suficiente pra o lado desejado, depois fazer a movimentação [ transladar ], é nisso que estou com problemas, se eu rotaciono e depois translado saindo da origem, tudo bem, funciona normalmente, mas se eu translado, depois rotaciono, da uma coisa totalmente diferente.
Não sei se expliquei melhor minha dúvida, mas vou olhar esses artigos.

Obrigado !

Os artigos explicam porque dá problema inverter a ordem da rotação e da translação.



Acho que você consegue achar um resumo desses livros para você saber por que é que dá problemas você não executar as transformações afins na ordem correta.