change camera axis
This commit is contained in:
parent
5b5335164c
commit
fb7f30a406
@ -22,6 +22,7 @@ Core::RenderContext sphereContext;
|
|||||||
glm::vec3 cameraPos = glm::vec3(0, 0, 5);
|
glm::vec3 cameraPos = glm::vec3(0, 0, 5);
|
||||||
glm::vec3 cameraDir; // Wektor "do przodu" kamery
|
glm::vec3 cameraDir; // Wektor "do przodu" kamery
|
||||||
glm::vec3 cameraSide; // Wektor "w bok" kamery
|
glm::vec3 cameraSide; // Wektor "w bok" kamery
|
||||||
|
glm::vec3 cameraUp;
|
||||||
float cameraAngle = 0;
|
float cameraAngle = 0;
|
||||||
|
|
||||||
int lastMouseX, lastMouseY, mouseX, mouseY;
|
int lastMouseX, lastMouseY, mouseX, mouseY;
|
||||||
@ -60,10 +61,11 @@ void mouse(int x, int y)
|
|||||||
|
|
||||||
glm::mat4 createCameraMatrix()
|
glm::mat4 createCameraMatrix()
|
||||||
{
|
{
|
||||||
rotation = glm::normalize(rotation * glm::angleAxis((float)(mouseX * 0.01), cameraDir) * glm::angleAxis((float)(mouseY * 0.01), cameraSide));
|
rotation = glm::normalize(rotation * glm::angleAxis((float)(mouseX * 0.01), cameraUp) * glm::angleAxis((float)(mouseY * 0.01), cameraSide));
|
||||||
mouseX = mouseY = 0;
|
mouseX = mouseY = 0;
|
||||||
cameraDir = glm::inverse(rotation) * glm::vec3(0, 0, -1);
|
cameraDir = glm::inverse(rotation) * glm::vec3(0, 0, -1);
|
||||||
cameraSide = glm::inverse(rotation) * glm::vec3(-1, 0, 0);
|
cameraSide = glm::inverse(rotation) * glm::vec3(-1, 0, 0);
|
||||||
|
cameraUp = glm::inverse(rotation) * glm::vec3(0, -1, 0);
|
||||||
return Core::createViewMatrixQuat(cameraPos, rotation);
|
return Core::createViewMatrixQuat(cameraPos, rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user