cpp-vulkan-setup/src/WorldView.h

27 lines
672 B
C++

#ifndef VULKANCPPSETUP_WORLDVIEW_H
#define VULKANCPPSETUP_WORLDVIEW_H
#include "camera.h"
#include "VertexUniformBufferObject.h"
#include <QMatrix4x4>
#include <QVulkanWindow>
class WorldView {
public:
explicit WorldView();
void initializeProjectionMatrix(QVulkanWindow *window);
QVector4D multiply(const QVector4D &vector);
VertexUniformBufferObject getBufferObject();
void pitchCamera(float degrees);
void yawCamera(float degrees);
void moveCamera(float amount);
void strafeCamera(float amount);
private:
QMatrix4x4 m_modelMat{};
QMatrix4x4 m_projectionMat{};
Camera m_camera{QVector3D{0.f, 0.f, -1.f}};
};
#endif // VULKANCPPSETUP_WORLDVIEW_H