Programação com OpenGL/Modern OpenGL Tutorial Navegacao: diferenças entre revisões

[edição verificada][revisão pendente]
Conteúdo apagado Conteúdo adicionado
Abacaxi (discussão | contribs)
Sem resumo de edição
m <source> -> <syntaxhighlight> (phab:T237267)
 
Linha 39:
* Page_up/Page_down rodara a câmera no eixo X.
 
<sourcesyntaxhighlight lang="cpp">
/* code here */
</syntaxhighlight>
</source>
 
Para if para frente/Para trás, vamos usar <code>glm::translate</code> Temos duas formas:
Linha 56:
Esta implementação tem os seguintes problemas ao usar: Quando a câmera estiver rodando para esquerda/direita enquanto é dobrado, não usaremos a rotação do corpo da nossa entidade no dobro do eixo.
Em vez disto, vamos usar a rotação apenas sobre nossa cabeça alinhada ao eixo Y. assim vamos movimentar o mundo no eixo Y da coordenada local da câmera:
<sourcesyntaxhighlight lang="cpp">
glm::vec3 y_axis_world = glm::mat3(transforms[MODE_CAMERA]) * glm::vec3(0.0, 1.0, 0.0);
transforms[MODE_CAMERA] = glm::rotate(glm::mat4(1.0), -delta_rotY, y_axis_world) * transforms[MODE_CAMERA];
</syntaxhighlight>
</source>
 
Por ultimo, vamos implmentar strifing:
<sourcesyntaxhighlight lang="cpp">
/* code here */
</syntaxhighlight>
</source>