添加多模型渲染,添加贴图渲染,添加平行光, 暂时不上传assets

This commit is contained in:
2026-09-21 14:07:20 +08:00
parent 381b7c0aa6
commit 7d628f8d8a
37 changed files with 9817 additions and 189 deletions
+27 -4
View File
@@ -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;
};