mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-07 19:58:32 +09:00
[Feat] (MG_Util/Converters): Implement converters related to framebuffer enum.
This commit is contained in:
@@ -35,13 +35,16 @@ set(SOURCE_FILES
|
||||
MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToStr/FramebufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToStr/TextureEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/GLToGlslang/GLShaderLangConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToGL/ErrorCodeConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToGL/BufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToGL/FramebufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToGL/TextureEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp
|
||||
MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/GLToMG/FramebufferEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp
|
||||
MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
|
||||
MobileGL/MG_Util/Converters/MGToMG/TextureEnumConverter.cpp
|
||||
@@ -56,6 +59,7 @@ set(SOURCE_FILES
|
||||
MobileGL/MG_Impl/EGLImpl/Temporary/TemporaryEGLImpl.cpp
|
||||
|
||||
# @INSERTION_POINT:SOURCE_FILE_GLIMPL@ #
|
||||
#MobileGL/MG_Impl/GLImpl/Framebuffer/GL_Framebuffer.cpp
|
||||
MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp
|
||||
MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp
|
||||
MobileGL/MG_Impl/GLImpl/Texture/Validators.cpp
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#include "FramebufferEnumConverter.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
FramebufferTarget ConvertGLEnumToFramebufferTarget(GLenum framebufferTarget) {
|
||||
switch (framebufferTarget) {
|
||||
case GL_FRAMEBUFFER:
|
||||
case GL_DRAW_FRAMEBUFFER:
|
||||
return FramebufferTarget::Draw;
|
||||
case GL_READ_FRAMEBUFFER:
|
||||
return FramebufferTarget::Read;
|
||||
case GL_UNKNOWN_MGL:
|
||||
default:
|
||||
return FramebufferTarget::Unknown;
|
||||
}
|
||||
}
|
||||
|
||||
FramebufferAttachmentType ConvertGLEnumToFramebufferAttachmentType(GLenum attachment) {
|
||||
if (attachment >= GL_COLOR_ATTACHMENT0 && attachment <= GL_COLOR_ATTACHMENT31) {
|
||||
return static_cast<FramebufferAttachmentType>(static_cast<SizeT>(FramebufferAttachmentType::Color0) +
|
||||
(attachment - GL_COLOR_ATTACHMENT0));
|
||||
}
|
||||
|
||||
switch (attachment) {
|
||||
case GL_DEPTH_ATTACHMENT:
|
||||
return FramebufferAttachmentType::Depth;
|
||||
case GL_STENCIL_ATTACHMENT:
|
||||
return FramebufferAttachmentType::Stencil;
|
||||
case GL_DEPTH_STENCIL_ATTACHMENT:
|
||||
return FramebufferAttachmentType::DepthStencil;
|
||||
case GL_UNKNOWN_MGL:
|
||||
default:
|
||||
return FramebufferAttachmentType::Unknown;
|
||||
}
|
||||
}
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
#include <Includes.h>
|
||||
#include <MG_State/GLState/FramebufferState/FramebufferObject.h>
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
FramebufferTarget ConvertGLEnumToFramebufferTarget(GLenum bufferTarget);
|
||||
FramebufferAttachmentType ConvertGLEnumToFramebufferAttachmentType(GLenum attachment);
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
@@ -0,0 +1,37 @@
|
||||
#include "FramebufferEnumConverter.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
FramebufferTarget ConvertGLEnumToFramebufferTarget(GLenum framebufferTarget) {
|
||||
switch (framebufferTarget) {
|
||||
case GL_FRAMEBUFFER:
|
||||
case GL_DRAW_FRAMEBUFFER:
|
||||
return FramebufferTarget::Draw;
|
||||
case GL_READ_FRAMEBUFFER:
|
||||
return FramebufferTarget::Read;
|
||||
case GL_UNKNOWN_MGL:
|
||||
default:
|
||||
return FramebufferTarget::Unknown;
|
||||
}
|
||||
}
|
||||
|
||||
FramebufferAttachmentType ConvertGLEnumToFramebufferAttachmentType(GLenum attachment) {
|
||||
if (attachment >= GL_COLOR_ATTACHMENT0 && attachment <= GL_COLOR_ATTACHMENT31) {
|
||||
return static_cast<FramebufferAttachmentType>(static_cast<SizeT>(FramebufferAttachmentType::Color0) +
|
||||
(attachment - GL_COLOR_ATTACHMENT0));
|
||||
}
|
||||
|
||||
switch (attachment) {
|
||||
case GL_DEPTH_ATTACHMENT:
|
||||
return FramebufferAttachmentType::Depth;
|
||||
case GL_STENCIL_ATTACHMENT:
|
||||
return FramebufferAttachmentType::Stencil;
|
||||
case GL_DEPTH_STENCIL_ATTACHMENT:
|
||||
return FramebufferAttachmentType::DepthStencil;
|
||||
case GL_UNKNOWN_MGL:
|
||||
default:
|
||||
return FramebufferAttachmentType::Unknown;
|
||||
}
|
||||
}
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
#include <Includes.h>
|
||||
#include <MG_State/GLState/FramebufferState/FramebufferObject.h>
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
GLenum ConvertFramebufferTargetToGLEnum(FramebufferTarget bufferTarget);
|
||||
GLenum ConvertFramebufferAttachmentTypeToGLEnum(FramebufferAttachmentType attachment);
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
@@ -0,0 +1,36 @@
|
||||
#include "FramebufferEnumConverter.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
String ConvertFramebufferTargetToString(FramebufferTarget bufferTarget) {
|
||||
switch (bufferTarget) {
|
||||
case FramebufferTarget::Draw:
|
||||
return "Draw";
|
||||
case FramebufferTarget::Read:
|
||||
return "Read";
|
||||
case FramebufferTarget::Unknown:
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
String ConvertFramebufferAttachmentTypeToString(FramebufferAttachmentType attachment) {
|
||||
if (attachment >= FramebufferAttachmentType::Color0 && attachment <= FramebufferAttachmentType::Color31) {
|
||||
return "Color" + std::to_string(static_cast<SizeT>(attachment) -
|
||||
static_cast<SizeT>(FramebufferAttachmentType::Color0));
|
||||
}
|
||||
|
||||
switch (attachment) {
|
||||
case FramebufferAttachmentType::Depth:
|
||||
return "Depth";
|
||||
case FramebufferAttachmentType::Stencil:
|
||||
return "Stencil";
|
||||
case FramebufferAttachmentType::DepthStencil:
|
||||
return "DepthStencil";
|
||||
case FramebufferAttachmentType::Unknown:
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
#include <Includes.h>
|
||||
#include <MG_State/GLState/FramebufferState/FramebufferObject.h>
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_Util {
|
||||
String ConvertFramebufferTargetToString(FramebufferTarget bufferTarget);
|
||||
String ConvertFramebufferAttachmentTypeToString(FramebufferAttachmentType attachment);
|
||||
} // namespace MG_Util
|
||||
} // namespace MobileGL
|
||||
Reference in New Issue
Block a user