Resize true, cursor disabled
This commit is contained in:
@@ -1555,12 +1555,12 @@ namespace vapp{
|
|||||||
void Vulkan::initWindow(const char *windowName){
|
void Vulkan::initWindow(const char *windowName){
|
||||||
glfwInit();
|
glfwInit();
|
||||||
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); // tell glfw to not use opengl
|
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); // tell glfw to not use opengl
|
||||||
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE); // disable window resize
|
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // disable window resize
|
||||||
this->window = glfwCreateWindow(static_cast<int>(_width), static_cast<int>(_height), windowName, nullptr, nullptr);
|
this->window = glfwCreateWindow(static_cast<int>(_width), static_cast<int>(_height), windowName, nullptr, nullptr);
|
||||||
glfwSetWindowUserPointer(window, this);
|
glfwSetWindowUserPointer(window, this);
|
||||||
glfwSetFramebufferSizeCallback(window, framebufferResizeCallback);
|
glfwSetFramebufferSizeCallback(window, framebufferResizeCallback);
|
||||||
|
|
||||||
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_CAPTURED);
|
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
|
||||||
glfwSetCursorPosCallback(window, handleMouseInputCallback);
|
glfwSetCursorPosCallback(window, handleMouseInputCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -96,25 +96,20 @@ namespace vapp{
|
|||||||
xoffset *= sensitivity;
|
xoffset *= sensitivity;
|
||||||
yoffset *= sensitivity;
|
yoffset *= sensitivity;
|
||||||
|
|
||||||
// Winkel aktualisieren
|
|
||||||
yaw += xoffset;
|
yaw += xoffset;
|
||||||
pitch += yoffset;
|
pitch += yoffset;
|
||||||
|
|
||||||
// Optional: pitch begrenzen
|
|
||||||
if(pitch > 89.0f)
|
if(pitch > 89.0f)
|
||||||
pitch = 89.0f;
|
pitch = 89.0f;
|
||||||
if(pitch < -89.0f)
|
if(pitch < -89.0f)
|
||||||
pitch = -89.0f;
|
pitch = -89.0f;
|
||||||
|
|
||||||
// Berechnung des neuen Richtungsvektors
|
|
||||||
glm::vec3 direction;
|
glm::vec3 direction;
|
||||||
direction.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch));
|
direction.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch));
|
||||||
direction.y = sin(glm::radians(pitch));
|
direction.y = sin(glm::radians(pitch));
|
||||||
direction.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch));
|
direction.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch));
|
||||||
direction = glm::normalize(direction);
|
direction = glm::normalize(direction);
|
||||||
|
|
||||||
// Der neue "Look-at"-Punkt ergibt sich aus der Kameraposition plus diesem Richtungsvektor
|
|
||||||
cameraFront = cameraPos + direction;
|
cameraFront = cameraPos + direction;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user