添加多模型渲染,添加贴图渲染,添加平行光, 暂时不上传assets
This commit is contained in:
@@ -11,6 +11,11 @@
|
||||
#include <vulkan/vulkan.hpp>
|
||||
#include <chrono>
|
||||
|
||||
#include "Engine/Vulkan/Texture.h"
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
#include "Model.h"
|
||||
|
||||
namespace Engine {
|
||||
|
||||
class Window;
|
||||
@@ -24,6 +29,11 @@ namespace Engine {
|
||||
class Buffer;
|
||||
class UniformBuffer;
|
||||
|
||||
struct Object {
|
||||
glm::mat4 transform = glm::mat4(1.0f);
|
||||
Model* model = nullptr;
|
||||
};
|
||||
|
||||
class Renderer {
|
||||
public:
|
||||
Renderer(Window& window);
|
||||
@@ -49,13 +59,16 @@ namespace Engine {
|
||||
Scope<SyncManager> m_SyncManager;
|
||||
Scope<CommandManager> m_CommandManager;
|
||||
|
||||
Scope<Buffer> m_VertexBuffer;
|
||||
Scope<Buffer> m_IndexBuffer;
|
||||
Scope<Model> m_Model;
|
||||
std::vector<Object> m_Objects;
|
||||
Scope<UniformBuffer> m_UniformBuffer;
|
||||
|
||||
vk::DescriptorSetLayout m_DescriptorSetLayout;
|
||||
vk::PipelineLayout m_PipelineLayout;
|
||||
vk::DescriptorSet m_DescriptorSet;
|
||||
|
||||
vk::DescriptorSetLayout m_UBOSetLayout;
|
||||
vk::DescriptorSet m_UBODescriptorSet;
|
||||
vk::DescriptorSetLayout m_TextureSetLayout;
|
||||
|
||||
|
||||
vk::ShaderEXT m_VertShader;
|
||||
vk::ShaderEXT m_FragShader;
|
||||
@@ -66,6 +79,16 @@ namespace Engine {
|
||||
static constexpr u32 kMaxFramesInFlight = 2;
|
||||
u32 m_CurrentFrame = 0;
|
||||
|
||||
|
||||
// 相机
|
||||
glm::vec3 m_CameraPos = glm::vec3(0.0f, 0.0f, 7.0f);
|
||||
f32 m_CameraYaw = -90.0f; // 朝向 -Z
|
||||
f32 m_CameraPitch = 0.0f;
|
||||
f32 m_CameraSpeed = 2.5f;
|
||||
f32 m_MouseSensitivity = 0.1f;
|
||||
f32 m_DeltaTime = 0.016f;
|
||||
f32 m_LastFrameTime = 0.0f;
|
||||
|
||||
std::chrono::steady_clock::time_point m_StartTime;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user