From 65ce9c84c6200708081625a513ce5ac5d85de542 Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Wed, 18 Mar 2026 02:34:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(RHI):=20=E5=9C=A8=20RHIBuffer=20=E5=9F=BA?= =?UTF-8?q?=E7=B1=BB=E4=B8=AD=E6=B7=BB=E5=8A=A0=E8=B5=84=E6=BA=90=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 GetState() 和 SetState() 纯虚函数到 RHIBuffer 抽象基类 - D3D12Buffer 已有实现,现在通过基类接口可用 - OpenGLBuffer 添加空实现(OpenGL 无资源状态概念) --- engine/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h | 3 +++ engine/include/XCEngine/RHI/RHIBuffer.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/engine/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h b/engine/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h index 5f4bd654..2da6c3e6 100644 --- a/engine/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h +++ b/engine/include/XCEngine/RHI/OpenGL/OpenGLBuffer.h @@ -51,6 +51,9 @@ public: void* GetNativeHandle() override { return reinterpret_cast(static_cast(m_buffer)); } + ResourceStates GetState() const override { return ResourceStates::Common; } + void SetState(ResourceStates state) override { } + const std::string& GetName() const override { return m_name; } void SetName(const std::string& name) override { m_name = name; } diff --git a/engine/include/XCEngine/RHI/RHIBuffer.h b/engine/include/XCEngine/RHI/RHIBuffer.h index b64f9c95..c6f0658a 100644 --- a/engine/include/XCEngine/RHI/RHIBuffer.h +++ b/engine/include/XCEngine/RHI/RHIBuffer.h @@ -23,6 +23,9 @@ public: virtual void* GetNativeHandle() = 0; + virtual ResourceStates GetState() const = 0; + virtual void SetState(ResourceStates state) = 0; + virtual const std::string& GetName() const = 0; virtual void SetName(const std::string& name) = 0;