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
Sem resumo de edição |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Linha 39:
* Page_up/Page_down rodara a câmera no eixo X.
<
/* code here */
</syntaxhighlight>
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:
<
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>
Por ultimo, vamos implmentar strifing:
<
/* code here */
</syntaxhighlight>
|