refactor: Refactor OpenGL backend to use OpenGLEnums

Use centralized OpenGLEnums.h for enum conversion:
- Remove local ToGL* functions from OpenGLCommandList
- Replace with ToOpenGL() and ToOpenGLClearBuffer() from OpenGLEnums
- Simplify OpenGLTexture, OpenGLBuffer, OpenGLSampler, etc.
This commit is contained in:
2026-03-25 19:01:36 +08:00
parent 773d1aa38a
commit 712e975610
13 changed files with 108 additions and 297 deletions

View File

@@ -1,21 +1,11 @@
#include "XCEngine/RHI/OpenGL/OpenGLRenderTargetView.h"
#include "XCEngine/RHI/OpenGL/OpenGLEnums.h"
#include <glad/glad.h>
namespace XCEngine {
namespace RHI {
static unsigned int ToGLRenderTargetType(RenderTargetType type) {
switch (type) {
case RenderTargetType::Texture2D: return GL_TEXTURE_2D;
case RenderTargetType::Texture2DArray: return GL_TEXTURE_2D_ARRAY;
case RenderTargetType::Texture3D: return GL_TEXTURE_3D;
case RenderTargetType::TextureCube: return GL_TEXTURE_CUBE_MAP;
case RenderTargetType::TextureCubeArray: return GL_TEXTURE_CUBE_MAP_ARRAY;
default: return GL_TEXTURE_2D;
}
}
OpenGLRenderTargetView::OpenGLRenderTargetView()
OpenGLRenderTargetView::OpenGLRenderTargetView()
: m_texture(0)
, m_framebuffer(0)
, m_mipLevel(0)
@@ -36,7 +26,7 @@ bool OpenGLRenderTargetView::Initialize(unsigned int texture, const OpenGLRender
glGenFramebuffers(1, &m_framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, m_framebuffer);
unsigned int target = ToGLRenderTargetType(desc.type);
unsigned int target = ToOpenGL(desc.type);
GLenum attachment = GL_COLOR_ATTACHMENT0;
switch (desc.type) {