mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Feat] (MG_Util/Converters): Implement converters related to RenderState enum.
This commit is contained in:
@@ -33,6 +33,7 @@ set(SOURCE_FILES
|
|||||||
|
|
||||||
MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
|
MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp
|
MobileGL/MG_Util/Converters/MGToStr/DataTypeConverter.cpp
|
||||||
|
MobileGL/MG_Util/Converters/MGToStr/RenderStateEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp
|
MobileGL/MG_Util/Converters/MGToStr/GLExtensionConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp
|
MobileGL/MG_Util/Converters/MGToStr/BufferEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToStr/FramebufferEnumConverter.cpp
|
MobileGL/MG_Util/Converters/MGToStr/FramebufferEnumConverter.cpp
|
||||||
@@ -43,10 +44,12 @@ set(SOURCE_FILES
|
|||||||
MobileGL/MG_Util/Converters/MGToGL/FramebufferEnumConverter.cpp
|
MobileGL/MG_Util/Converters/MGToGL/FramebufferEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToGL/TextureEnumConverter.cpp
|
MobileGL/MG_Util/Converters/MGToGL/TextureEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp
|
MobileGL/MG_Util/Converters/MGToGL/DataTypeConverter.cpp
|
||||||
|
MobileGL/MG_Util/Converters/MGToGL/RenderStateEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp
|
MobileGL/MG_Util/Converters/GLToMG/BufferEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/GLToMG/FramebufferEnumConverter.cpp
|
MobileGL/MG_Util/Converters/GLToMG/FramebufferEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp
|
MobileGL/MG_Util/Converters/GLToMG/TextureEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
|
MobileGL/MG_Util/Converters/GLToMG/DataTypeConverter.cpp
|
||||||
|
MobileGL/MG_Util/Converters/GLToMG/RenderStateEnumConverter.cpp
|
||||||
MobileGL/MG_Util/Converters/MGToMG/TextureEnumConverter.cpp
|
MobileGL/MG_Util/Converters/MGToMG/TextureEnumConverter.cpp
|
||||||
|
|
||||||
MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
|
MobileGL/MG_Util/ShaderTranspiler/ShaderCompiler.cpp
|
||||||
@@ -59,6 +62,7 @@ set(SOURCE_FILES
|
|||||||
MobileGL/MG_Impl/EGLImpl/Temporary/TemporaryEGLImpl.cpp
|
MobileGL/MG_Impl/EGLImpl/Temporary/TemporaryEGLImpl.cpp
|
||||||
|
|
||||||
# @INSERTION_POINT:SOURCE_FILE_GLIMPL@ #
|
# @INSERTION_POINT:SOURCE_FILE_GLIMPL@ #
|
||||||
|
#MobileGL/MG_Impl/GLImpl/RenderState/GL_RenderState.cpp
|
||||||
MobileGL/MG_Impl/GLImpl/Framebuffer/Validators.cpp
|
MobileGL/MG_Impl/GLImpl/Framebuffer/Validators.cpp
|
||||||
MobileGL/MG_Impl/GLImpl/Framebuffer/GL_Framebuffer.cpp
|
MobileGL/MG_Impl/GLImpl/Framebuffer/GL_Framebuffer.cpp
|
||||||
MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp
|
MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp
|
||||||
|
|||||||
@@ -3,113 +3,113 @@
|
|||||||
#include <Includes.h>
|
#include <Includes.h>
|
||||||
|
|
||||||
namespace MobileGL {
|
namespace MobileGL {
|
||||||
|
enum class BlendFactor {
|
||||||
|
Zero,
|
||||||
|
One,
|
||||||
|
SrcColor,
|
||||||
|
OneMinusSrcColor,
|
||||||
|
DstColor,
|
||||||
|
OneMinusDstColor,
|
||||||
|
SrcAlpha,
|
||||||
|
OneMinusSrcAlpha,
|
||||||
|
DstAlpha,
|
||||||
|
OneMinusDstAlpha,
|
||||||
|
ConstantColor,
|
||||||
|
OneMinusConstantColor,
|
||||||
|
ConstantAlpha,
|
||||||
|
OneMinusConstantAlpha,
|
||||||
|
BlendFactorCount,
|
||||||
|
Unknown = -1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class DepthFunc {
|
||||||
|
Never,
|
||||||
|
Less,
|
||||||
|
Equal,
|
||||||
|
LessEqual,
|
||||||
|
Greater,
|
||||||
|
NotEqual,
|
||||||
|
GreaterEqual,
|
||||||
|
Always,
|
||||||
|
DepthFuncCount,
|
||||||
|
Unknown = -1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class PixelStoreParam {
|
||||||
|
// Pack Parameters
|
||||||
|
PackAlignment,
|
||||||
|
PackRowLength,
|
||||||
|
PackImageHeight,
|
||||||
|
PackSkipRows,
|
||||||
|
PackSkipPixels,
|
||||||
|
PackSkipImages,
|
||||||
|
PackSwapBytes,
|
||||||
|
PackLsbFirst,
|
||||||
|
|
||||||
|
// Unpack Parameters
|
||||||
|
UnpackAlignment,
|
||||||
|
UnpackRowLength,
|
||||||
|
UnpackImageHeight,
|
||||||
|
UnpackSkipRows,
|
||||||
|
UnpackSkipPixels,
|
||||||
|
UnpackSkipImages,
|
||||||
|
UnpackSwapBytes,
|
||||||
|
UnpackLsbFirst,
|
||||||
|
|
||||||
|
PixelStoreParamCount,
|
||||||
|
Unknown = -1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class CullFaceMode {
|
||||||
|
Front,
|
||||||
|
Back,
|
||||||
|
FrontAndBack,
|
||||||
|
CullFaceModeCount,
|
||||||
|
Unknown = -1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class CapabilityInput {
|
||||||
|
Blend,
|
||||||
|
ClipDistance0,
|
||||||
|
ClipDistance1,
|
||||||
|
ClipDistance2,
|
||||||
|
ClipDistance3,
|
||||||
|
ClipDistance4,
|
||||||
|
ClipDistance5,
|
||||||
|
ClipDistance6,
|
||||||
|
ClipDistance7,
|
||||||
|
ColorLogicOp,
|
||||||
|
CullFace,
|
||||||
|
DebugOutput,
|
||||||
|
DebugOutputSynchronous,
|
||||||
|
DepthClamp,
|
||||||
|
DepthTest,
|
||||||
|
Dither,
|
||||||
|
FramebufferSrgb,
|
||||||
|
LineSmooth,
|
||||||
|
Multisample,
|
||||||
|
PolygonOffsetFill,
|
||||||
|
PolygonOffsetLine,
|
||||||
|
PolygonOffsetPoint,
|
||||||
|
PolygonSmooth,
|
||||||
|
PrimitiveRestart,
|
||||||
|
PrimitiveRestartFixedIndex,
|
||||||
|
RasterizerDiscard,
|
||||||
|
SampleAlphaToCoverage,
|
||||||
|
SampleAlphaToOne,
|
||||||
|
SampleCoverage,
|
||||||
|
SampleShading,
|
||||||
|
SampleMask,
|
||||||
|
ScissorTest,
|
||||||
|
StencilTest,
|
||||||
|
TextureCubeMapSeamless,
|
||||||
|
ProgramPointSize,
|
||||||
|
CapabilityInputCount,
|
||||||
|
Unknown = -1
|
||||||
|
};
|
||||||
|
|
||||||
namespace MG_State {
|
namespace MG_State {
|
||||||
namespace GLState {
|
namespace GLState {
|
||||||
enum class BlendFactor {
|
|
||||||
Zero,
|
|
||||||
One,
|
|
||||||
SrcColor,
|
|
||||||
OneMinusSrcColor,
|
|
||||||
DstColor,
|
|
||||||
OneMinusDstColor,
|
|
||||||
SrcAlpha,
|
|
||||||
OneMinusSrcAlpha,
|
|
||||||
DstAlpha,
|
|
||||||
OneMinusDstAlpha,
|
|
||||||
ConstantColor,
|
|
||||||
OneMinusConstantColor,
|
|
||||||
ConstantAlpha,
|
|
||||||
OneMinusConstantAlpha,
|
|
||||||
BlendFactorCount,
|
|
||||||
Unknown = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
enum class DepthFunc {
|
|
||||||
Never,
|
|
||||||
Less,
|
|
||||||
Equal,
|
|
||||||
LessEqual,
|
|
||||||
Greater,
|
|
||||||
NotEqual,
|
|
||||||
GreaterEqual,
|
|
||||||
Always,
|
|
||||||
DepthFuncCount,
|
|
||||||
Unknown = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
enum class PixelStoreParam {
|
|
||||||
// Pack Parameters
|
|
||||||
PackAlignment,
|
|
||||||
PackRowLength,
|
|
||||||
PackImageHeight,
|
|
||||||
PackSkipRows,
|
|
||||||
PackSkipPixels,
|
|
||||||
PackSkipImages,
|
|
||||||
PackSwapBytes,
|
|
||||||
PackLsbFirst,
|
|
||||||
|
|
||||||
// Unpack Parameters
|
|
||||||
UnpackAlignment,
|
|
||||||
UnpackRowLength,
|
|
||||||
UnpackImageHeight,
|
|
||||||
UnpackSkipRows,
|
|
||||||
UnpackSkipPixels,
|
|
||||||
UnpackSkipImages,
|
|
||||||
UnpackSwapBytes,
|
|
||||||
UnpackLsbFirst,
|
|
||||||
|
|
||||||
PixelStoreParamCount,
|
|
||||||
Unknown = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
enum class CullFaceMode {
|
|
||||||
Front,
|
|
||||||
Back,
|
|
||||||
FrontAndBack,
|
|
||||||
CullFaceModeCount,
|
|
||||||
Unknown = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
enum class CapabilityInput {
|
|
||||||
Blend,
|
|
||||||
ClipDistance0,
|
|
||||||
ClipDistance1,
|
|
||||||
ClipDistance2,
|
|
||||||
ClipDistance3,
|
|
||||||
ClipDistance4,
|
|
||||||
ClipDistance5,
|
|
||||||
ClipDistance6,
|
|
||||||
ClipDistance7,
|
|
||||||
ColorLogicOp,
|
|
||||||
CullFace,
|
|
||||||
DebugOutput,
|
|
||||||
DebugOutputSynchronous,
|
|
||||||
DepthClamp,
|
|
||||||
DepthTest,
|
|
||||||
Dither,
|
|
||||||
FramebufferSrgb,
|
|
||||||
LineSmooth,
|
|
||||||
Multisample,
|
|
||||||
PolygonOffsetFill,
|
|
||||||
PolygonOffsetLine,
|
|
||||||
PolygonOffsetPoint,
|
|
||||||
PolygonSmooth,
|
|
||||||
PrimitiveRestart,
|
|
||||||
PrimitiveRestartFixedIndex,
|
|
||||||
RasterizerDiscard,
|
|
||||||
SampleAlphaToCoverage,
|
|
||||||
SampleAlphaToOne,
|
|
||||||
SampleCoverage,
|
|
||||||
SampleShading,
|
|
||||||
SampleMask,
|
|
||||||
ScissorTest,
|
|
||||||
StencilTest,
|
|
||||||
TextureCubeMapSeamless,
|
|
||||||
ProgramPointSize,
|
|
||||||
CapabilityInputCount,
|
|
||||||
Unknown = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
class RenderState {
|
class RenderState {
|
||||||
public:
|
public:
|
||||||
RenderState();
|
RenderState();
|
||||||
|
|||||||
@@ -0,0 +1,192 @@
|
|||||||
|
#include "RenderStateEnumConverter.h"
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
BlendFactor ConvertGLEnumToBlendFactor(GLenum v) {
|
||||||
|
switch (v) {
|
||||||
|
case GL_ZERO:
|
||||||
|
return BlendFactor::Zero;
|
||||||
|
case GL_ONE:
|
||||||
|
return BlendFactor::One;
|
||||||
|
case GL_SRC_COLOR:
|
||||||
|
return BlendFactor::SrcColor;
|
||||||
|
case GL_ONE_MINUS_SRC_COLOR:
|
||||||
|
return BlendFactor::OneMinusSrcColor;
|
||||||
|
case GL_DST_COLOR:
|
||||||
|
return BlendFactor::DstColor;
|
||||||
|
case GL_ONE_MINUS_DST_COLOR:
|
||||||
|
return BlendFactor::OneMinusDstColor;
|
||||||
|
case GL_SRC_ALPHA:
|
||||||
|
return BlendFactor::SrcAlpha;
|
||||||
|
case GL_ONE_MINUS_SRC_ALPHA:
|
||||||
|
return BlendFactor::OneMinusSrcAlpha;
|
||||||
|
case GL_DST_ALPHA:
|
||||||
|
return BlendFactor::DstAlpha;
|
||||||
|
case GL_ONE_MINUS_DST_ALPHA:
|
||||||
|
return BlendFactor::OneMinusDstAlpha;
|
||||||
|
case GL_CONSTANT_COLOR:
|
||||||
|
return BlendFactor::ConstantColor;
|
||||||
|
case GL_ONE_MINUS_CONSTANT_COLOR:
|
||||||
|
return BlendFactor::OneMinusConstantColor;
|
||||||
|
case GL_CONSTANT_ALPHA:
|
||||||
|
return BlendFactor::ConstantAlpha;
|
||||||
|
case GL_ONE_MINUS_CONSTANT_ALPHA:
|
||||||
|
return BlendFactor::OneMinusConstantAlpha;
|
||||||
|
default:
|
||||||
|
return BlendFactor::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DepthFunc ConvertGLEnumToDepthFunc(GLenum v) {
|
||||||
|
switch (v) {
|
||||||
|
case GL_NEVER:
|
||||||
|
return DepthFunc::Never;
|
||||||
|
case GL_LESS:
|
||||||
|
return DepthFunc::Less;
|
||||||
|
case GL_EQUAL:
|
||||||
|
return DepthFunc::Equal;
|
||||||
|
case GL_LEQUAL:
|
||||||
|
return DepthFunc::LessEqual;
|
||||||
|
case GL_GREATER:
|
||||||
|
return DepthFunc::Greater;
|
||||||
|
case GL_NOTEQUAL:
|
||||||
|
return DepthFunc::NotEqual;
|
||||||
|
case GL_GEQUAL:
|
||||||
|
return DepthFunc::GreaterEqual;
|
||||||
|
case GL_ALWAYS:
|
||||||
|
return DepthFunc::Always;
|
||||||
|
default:
|
||||||
|
return DepthFunc::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PixelStoreParam ConvertGLEnumToPixelStoreParam(GLenum v) {
|
||||||
|
switch (v) {
|
||||||
|
case GL_PACK_ALIGNMENT:
|
||||||
|
return PixelStoreParam::PackAlignment;
|
||||||
|
case GL_PACK_ROW_LENGTH:
|
||||||
|
return PixelStoreParam::PackRowLength;
|
||||||
|
case GL_PACK_IMAGE_HEIGHT:
|
||||||
|
return PixelStoreParam::PackImageHeight;
|
||||||
|
case GL_PACK_SKIP_ROWS:
|
||||||
|
return PixelStoreParam::PackSkipRows;
|
||||||
|
case GL_PACK_SKIP_PIXELS:
|
||||||
|
return PixelStoreParam::PackSkipPixels;
|
||||||
|
case GL_PACK_SKIP_IMAGES:
|
||||||
|
return PixelStoreParam::PackSkipImages;
|
||||||
|
case GL_PACK_SWAP_BYTES:
|
||||||
|
return PixelStoreParam::PackSwapBytes;
|
||||||
|
case GL_PACK_LSB_FIRST:
|
||||||
|
return PixelStoreParam::PackLsbFirst;
|
||||||
|
case GL_UNPACK_ALIGNMENT:
|
||||||
|
return PixelStoreParam::UnpackAlignment;
|
||||||
|
case GL_UNPACK_ROW_LENGTH:
|
||||||
|
return PixelStoreParam::UnpackRowLength;
|
||||||
|
case GL_UNPACK_IMAGE_HEIGHT:
|
||||||
|
return PixelStoreParam::UnpackImageHeight;
|
||||||
|
case GL_UNPACK_SKIP_ROWS:
|
||||||
|
return PixelStoreParam::UnpackSkipRows;
|
||||||
|
case GL_UNPACK_SKIP_PIXELS:
|
||||||
|
return PixelStoreParam::UnpackSkipPixels;
|
||||||
|
case GL_UNPACK_SKIP_IMAGES:
|
||||||
|
return PixelStoreParam::UnpackSkipImages;
|
||||||
|
case GL_UNPACK_SWAP_BYTES:
|
||||||
|
return PixelStoreParam::UnpackSwapBytes;
|
||||||
|
case GL_UNPACK_LSB_FIRST:
|
||||||
|
return PixelStoreParam::UnpackLsbFirst;
|
||||||
|
default:
|
||||||
|
return PixelStoreParam::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CullFaceMode ConvertGLEnumToCullFaceMode(GLenum v) {
|
||||||
|
switch (v) {
|
||||||
|
case GL_FRONT:
|
||||||
|
return CullFaceMode::Front;
|
||||||
|
case GL_BACK:
|
||||||
|
return CullFaceMode::Back;
|
||||||
|
case GL_FRONT_AND_BACK:
|
||||||
|
return CullFaceMode::FrontAndBack;
|
||||||
|
default:
|
||||||
|
return CullFaceMode::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CapabilityInput ConvertGLEnumToCapabilityInput(GLenum v) {
|
||||||
|
switch (v) {
|
||||||
|
case GL_BLEND:
|
||||||
|
return CapabilityInput::Blend;
|
||||||
|
case GL_CLIP_DISTANCE0:
|
||||||
|
return CapabilityInput::ClipDistance0;
|
||||||
|
case GL_CLIP_DISTANCE1:
|
||||||
|
return CapabilityInput::ClipDistance1;
|
||||||
|
case GL_CLIP_DISTANCE2:
|
||||||
|
return CapabilityInput::ClipDistance2;
|
||||||
|
case GL_CLIP_DISTANCE3:
|
||||||
|
return CapabilityInput::ClipDistance3;
|
||||||
|
case GL_CLIP_DISTANCE4:
|
||||||
|
return CapabilityInput::ClipDistance4;
|
||||||
|
case GL_CLIP_DISTANCE5:
|
||||||
|
return CapabilityInput::ClipDistance5;
|
||||||
|
case GL_CLIP_DISTANCE6:
|
||||||
|
return CapabilityInput::ClipDistance6;
|
||||||
|
case GL_CLIP_DISTANCE7:
|
||||||
|
return CapabilityInput::ClipDistance7;
|
||||||
|
case GL_COLOR_LOGIC_OP:
|
||||||
|
return CapabilityInput::ColorLogicOp;
|
||||||
|
case GL_CULL_FACE:
|
||||||
|
return CapabilityInput::CullFace;
|
||||||
|
case GL_DEBUG_OUTPUT:
|
||||||
|
return CapabilityInput::DebugOutput;
|
||||||
|
case GL_DEBUG_OUTPUT_SYNCHRONOUS:
|
||||||
|
return CapabilityInput::DebugOutputSynchronous;
|
||||||
|
case GL_DEPTH_CLAMP:
|
||||||
|
return CapabilityInput::DepthClamp;
|
||||||
|
case GL_DEPTH_TEST:
|
||||||
|
return CapabilityInput::DepthTest;
|
||||||
|
case GL_DITHER:
|
||||||
|
return CapabilityInput::Dither;
|
||||||
|
case GL_FRAMEBUFFER_SRGB:
|
||||||
|
return CapabilityInput::FramebufferSrgb;
|
||||||
|
case GL_LINE_SMOOTH:
|
||||||
|
return CapabilityInput::LineSmooth;
|
||||||
|
case GL_MULTISAMPLE:
|
||||||
|
return CapabilityInput::Multisample;
|
||||||
|
case GL_POLYGON_OFFSET_FILL:
|
||||||
|
return CapabilityInput::PolygonOffsetFill;
|
||||||
|
case GL_POLYGON_OFFSET_LINE:
|
||||||
|
return CapabilityInput::PolygonOffsetLine;
|
||||||
|
case GL_POLYGON_OFFSET_POINT:
|
||||||
|
return CapabilityInput::PolygonOffsetPoint;
|
||||||
|
case GL_POLYGON_SMOOTH:
|
||||||
|
return CapabilityInput::PolygonSmooth;
|
||||||
|
case GL_PRIMITIVE_RESTART:
|
||||||
|
return CapabilityInput::PrimitiveRestart;
|
||||||
|
case GL_PRIMITIVE_RESTART_FIXED_INDEX:
|
||||||
|
return CapabilityInput::PrimitiveRestartFixedIndex;
|
||||||
|
case GL_RASTERIZER_DISCARD:
|
||||||
|
return CapabilityInput::RasterizerDiscard;
|
||||||
|
case GL_SAMPLE_ALPHA_TO_COVERAGE:
|
||||||
|
return CapabilityInput::SampleAlphaToCoverage;
|
||||||
|
case GL_SAMPLE_ALPHA_TO_ONE:
|
||||||
|
return CapabilityInput::SampleAlphaToOne;
|
||||||
|
case GL_SAMPLE_COVERAGE:
|
||||||
|
return CapabilityInput::SampleCoverage;
|
||||||
|
case GL_SAMPLE_SHADING:
|
||||||
|
return CapabilityInput::SampleShading;
|
||||||
|
case GL_SAMPLE_MASK:
|
||||||
|
return CapabilityInput::SampleMask;
|
||||||
|
case GL_SCISSOR_TEST:
|
||||||
|
return CapabilityInput::ScissorTest;
|
||||||
|
case GL_STENCIL_TEST:
|
||||||
|
return CapabilityInput::StencilTest;
|
||||||
|
case GL_TEXTURE_CUBE_MAP_SEAMLESS:
|
||||||
|
return CapabilityInput::TextureCubeMapSeamless;
|
||||||
|
case GL_PROGRAM_POINT_SIZE:
|
||||||
|
return CapabilityInput::ProgramPointSize;
|
||||||
|
default:
|
||||||
|
return CapabilityInput::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <Includes.h>
|
||||||
|
#include <MG_State/GLState/RenderState/RenderState.h>
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
BlendFactor ConvertGLEnumToBlendFactor(GLenum value);
|
||||||
|
DepthFunc ConvertGLEnumToDepthFunc(GLenum value);
|
||||||
|
PixelStoreParam ConvertGLEnumToPixelStoreParam(GLenum value);
|
||||||
|
CullFaceMode ConvertGLEnumToCullFaceMode(GLenum value);
|
||||||
|
CapabilityInput ConvertGLEnumToCapabilityInput(GLenum value);
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
@@ -0,0 +1,193 @@
|
|||||||
|
#include "RenderStateEnumConverter.h"
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
|
||||||
|
GLenum ConvertBlendFactorToGLEnum(BlendFactor v) {
|
||||||
|
switch (v) {
|
||||||
|
case BlendFactor::Zero:
|
||||||
|
return GL_ZERO;
|
||||||
|
case BlendFactor::One:
|
||||||
|
return GL_ONE;
|
||||||
|
case BlendFactor::SrcColor:
|
||||||
|
return GL_SRC_COLOR;
|
||||||
|
case BlendFactor::OneMinusSrcColor:
|
||||||
|
return GL_ONE_MINUS_SRC_COLOR;
|
||||||
|
case BlendFactor::DstColor:
|
||||||
|
return GL_DST_COLOR;
|
||||||
|
case BlendFactor::OneMinusDstColor:
|
||||||
|
return GL_ONE_MINUS_DST_COLOR;
|
||||||
|
case BlendFactor::SrcAlpha:
|
||||||
|
return GL_SRC_ALPHA;
|
||||||
|
case BlendFactor::OneMinusSrcAlpha:
|
||||||
|
return GL_ONE_MINUS_SRC_ALPHA;
|
||||||
|
case BlendFactor::DstAlpha:
|
||||||
|
return GL_DST_ALPHA;
|
||||||
|
case BlendFactor::OneMinusDstAlpha:
|
||||||
|
return GL_ONE_MINUS_DST_ALPHA;
|
||||||
|
case BlendFactor::ConstantColor:
|
||||||
|
return GL_CONSTANT_COLOR;
|
||||||
|
case BlendFactor::OneMinusConstantColor:
|
||||||
|
return GL_ONE_MINUS_CONSTANT_COLOR;
|
||||||
|
case BlendFactor::ConstantAlpha:
|
||||||
|
return GL_CONSTANT_ALPHA;
|
||||||
|
case BlendFactor::OneMinusConstantAlpha:
|
||||||
|
return GL_ONE_MINUS_CONSTANT_ALPHA;
|
||||||
|
default:
|
||||||
|
return GL_UNKNOWN_MGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GLenum ConvertDepthFuncToGLEnum(DepthFunc v) {
|
||||||
|
switch (v) {
|
||||||
|
case DepthFunc::Never:
|
||||||
|
return GL_NEVER;
|
||||||
|
case DepthFunc::Less:
|
||||||
|
return GL_LESS;
|
||||||
|
case DepthFunc::Equal:
|
||||||
|
return GL_EQUAL;
|
||||||
|
case DepthFunc::LessEqual:
|
||||||
|
return GL_LEQUAL;
|
||||||
|
case DepthFunc::Greater:
|
||||||
|
return GL_GREATER;
|
||||||
|
case DepthFunc::NotEqual:
|
||||||
|
return GL_NOTEQUAL;
|
||||||
|
case DepthFunc::GreaterEqual:
|
||||||
|
return GL_GEQUAL;
|
||||||
|
case DepthFunc::Always:
|
||||||
|
return GL_ALWAYS;
|
||||||
|
default:
|
||||||
|
return GL_UNKNOWN_MGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GLenum ConvertPixelStoreParamToGLEnum(PixelStoreParam v) {
|
||||||
|
switch (v) {
|
||||||
|
case PixelStoreParam::PackAlignment:
|
||||||
|
return GL_PACK_ALIGNMENT;
|
||||||
|
case PixelStoreParam::PackRowLength:
|
||||||
|
return GL_PACK_ROW_LENGTH;
|
||||||
|
case PixelStoreParam::PackImageHeight:
|
||||||
|
return GL_PACK_IMAGE_HEIGHT;
|
||||||
|
case PixelStoreParam::PackSkipRows:
|
||||||
|
return GL_PACK_SKIP_ROWS;
|
||||||
|
case PixelStoreParam::PackSkipPixels:
|
||||||
|
return GL_PACK_SKIP_PIXELS;
|
||||||
|
case PixelStoreParam::PackSkipImages:
|
||||||
|
return GL_PACK_SKIP_IMAGES;
|
||||||
|
case PixelStoreParam::PackSwapBytes:
|
||||||
|
return GL_PACK_SWAP_BYTES;
|
||||||
|
case PixelStoreParam::PackLsbFirst:
|
||||||
|
return GL_PACK_LSB_FIRST;
|
||||||
|
case PixelStoreParam::UnpackAlignment:
|
||||||
|
return GL_UNPACK_ALIGNMENT;
|
||||||
|
case PixelStoreParam::UnpackRowLength:
|
||||||
|
return GL_UNPACK_ROW_LENGTH;
|
||||||
|
case PixelStoreParam::UnpackImageHeight:
|
||||||
|
return GL_UNPACK_IMAGE_HEIGHT;
|
||||||
|
case PixelStoreParam::UnpackSkipRows:
|
||||||
|
return GL_UNPACK_SKIP_ROWS;
|
||||||
|
case PixelStoreParam::UnpackSkipPixels:
|
||||||
|
return GL_UNPACK_SKIP_PIXELS;
|
||||||
|
case PixelStoreParam::UnpackSkipImages:
|
||||||
|
return GL_UNPACK_SKIP_IMAGES;
|
||||||
|
case PixelStoreParam::UnpackSwapBytes:
|
||||||
|
return GL_UNPACK_SWAP_BYTES;
|
||||||
|
case PixelStoreParam::UnpackLsbFirst:
|
||||||
|
return GL_UNPACK_LSB_FIRST;
|
||||||
|
default:
|
||||||
|
return GL_UNKNOWN_MGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GLenum ConvertCullFaceModeToGLEnum(CullFaceMode v) {
|
||||||
|
switch (v) {
|
||||||
|
case CullFaceMode::Front:
|
||||||
|
return GL_FRONT;
|
||||||
|
case CullFaceMode::Back:
|
||||||
|
return GL_BACK;
|
||||||
|
case CullFaceMode::FrontAndBack:
|
||||||
|
return GL_FRONT_AND_BACK;
|
||||||
|
default:
|
||||||
|
return GL_UNKNOWN_MGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GLenum ConvertCapabilityInputToGLEnum(CapabilityInput v) {
|
||||||
|
switch (v) {
|
||||||
|
case CapabilityInput::Blend:
|
||||||
|
return GL_BLEND;
|
||||||
|
case CapabilityInput::ClipDistance0:
|
||||||
|
return GL_CLIP_DISTANCE0;
|
||||||
|
case CapabilityInput::ClipDistance1:
|
||||||
|
return GL_CLIP_DISTANCE1;
|
||||||
|
case CapabilityInput::ClipDistance2:
|
||||||
|
return GL_CLIP_DISTANCE2;
|
||||||
|
case CapabilityInput::ClipDistance3:
|
||||||
|
return GL_CLIP_DISTANCE3;
|
||||||
|
case CapabilityInput::ClipDistance4:
|
||||||
|
return GL_CLIP_DISTANCE4;
|
||||||
|
case CapabilityInput::ClipDistance5:
|
||||||
|
return GL_CLIP_DISTANCE5;
|
||||||
|
case CapabilityInput::ClipDistance6:
|
||||||
|
return GL_CLIP_DISTANCE6;
|
||||||
|
case CapabilityInput::ClipDistance7:
|
||||||
|
return GL_CLIP_DISTANCE7;
|
||||||
|
case CapabilityInput::ColorLogicOp:
|
||||||
|
return GL_COLOR_LOGIC_OP;
|
||||||
|
case CapabilityInput::CullFace:
|
||||||
|
return GL_CULL_FACE;
|
||||||
|
case CapabilityInput::DebugOutput:
|
||||||
|
return GL_DEBUG_OUTPUT;
|
||||||
|
case CapabilityInput::DebugOutputSynchronous:
|
||||||
|
return GL_DEBUG_OUTPUT_SYNCHRONOUS;
|
||||||
|
case CapabilityInput::DepthClamp:
|
||||||
|
return GL_DEPTH_CLAMP;
|
||||||
|
case CapabilityInput::DepthTest:
|
||||||
|
return GL_DEPTH_TEST;
|
||||||
|
case CapabilityInput::Dither:
|
||||||
|
return GL_DITHER;
|
||||||
|
case CapabilityInput::FramebufferSrgb:
|
||||||
|
return GL_FRAMEBUFFER_SRGB;
|
||||||
|
case CapabilityInput::LineSmooth:
|
||||||
|
return GL_LINE_SMOOTH;
|
||||||
|
case CapabilityInput::Multisample:
|
||||||
|
return GL_MULTISAMPLE;
|
||||||
|
case CapabilityInput::PolygonOffsetFill:
|
||||||
|
return GL_POLYGON_OFFSET_FILL;
|
||||||
|
case CapabilityInput::PolygonOffsetLine:
|
||||||
|
return GL_POLYGON_OFFSET_LINE;
|
||||||
|
case CapabilityInput::PolygonOffsetPoint:
|
||||||
|
return GL_POLYGON_OFFSET_POINT;
|
||||||
|
case CapabilityInput::PolygonSmooth:
|
||||||
|
return GL_POLYGON_SMOOTH;
|
||||||
|
case CapabilityInput::PrimitiveRestart:
|
||||||
|
return GL_PRIMITIVE_RESTART;
|
||||||
|
case CapabilityInput::PrimitiveRestartFixedIndex:
|
||||||
|
return GL_PRIMITIVE_RESTART_FIXED_INDEX;
|
||||||
|
case CapabilityInput::RasterizerDiscard:
|
||||||
|
return GL_RASTERIZER_DISCARD;
|
||||||
|
case CapabilityInput::SampleAlphaToCoverage:
|
||||||
|
return GL_SAMPLE_ALPHA_TO_COVERAGE;
|
||||||
|
case CapabilityInput::SampleAlphaToOne:
|
||||||
|
return GL_SAMPLE_ALPHA_TO_ONE;
|
||||||
|
case CapabilityInput::SampleCoverage:
|
||||||
|
return GL_SAMPLE_COVERAGE;
|
||||||
|
case CapabilityInput::SampleShading:
|
||||||
|
return GL_SAMPLE_SHADING;
|
||||||
|
case CapabilityInput::SampleMask:
|
||||||
|
return GL_SAMPLE_MASK;
|
||||||
|
case CapabilityInput::ScissorTest:
|
||||||
|
return GL_SCISSOR_TEST;
|
||||||
|
case CapabilityInput::StencilTest:
|
||||||
|
return GL_STENCIL_TEST;
|
||||||
|
case CapabilityInput::TextureCubeMapSeamless:
|
||||||
|
return GL_TEXTURE_CUBE_MAP_SEAMLESS;
|
||||||
|
case CapabilityInput::ProgramPointSize:
|
||||||
|
return GL_PROGRAM_POINT_SIZE;
|
||||||
|
default:
|
||||||
|
return GL_UNKNOWN_MGL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <Includes.h>
|
||||||
|
#include <MG_State/GLState/RenderState/RenderState.h>
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
GLenum ConvertBlendFactorToGLEnum(BlendFactor value);
|
||||||
|
GLenum ConvertDepthFuncToGLEnum(DepthFunc value);
|
||||||
|
GLenum ConvertPixelStoreParamToGLEnum(PixelStoreParam value);
|
||||||
|
GLenum ConvertCullFaceModeToGLEnum(CullFaceMode value);
|
||||||
|
GLenum ConvertCapabilityInputToGLEnum(CapabilityInput value);
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
#include "RenderStateEnumConverter.h"
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
String ConvertBlendFactorToString(BlendFactor v) {
|
||||||
|
switch (v) {
|
||||||
|
case BlendFactor::Zero:
|
||||||
|
return "Zero";
|
||||||
|
case BlendFactor::One:
|
||||||
|
return "One";
|
||||||
|
case BlendFactor::SrcColor:
|
||||||
|
return "SrcColor";
|
||||||
|
case BlendFactor::OneMinusSrcColor:
|
||||||
|
return "OneMinusSrcColor";
|
||||||
|
case BlendFactor::DstColor:
|
||||||
|
return "DstColor";
|
||||||
|
case BlendFactor::OneMinusDstColor:
|
||||||
|
return "OneMinusDstColor";
|
||||||
|
case BlendFactor::SrcAlpha:
|
||||||
|
return "SrcAlpha";
|
||||||
|
case BlendFactor::OneMinusSrcAlpha:
|
||||||
|
return "OneMinusSrcAlpha";
|
||||||
|
case BlendFactor::DstAlpha:
|
||||||
|
return "DstAlpha";
|
||||||
|
case BlendFactor::OneMinusDstAlpha:
|
||||||
|
return "OneMinusDstAlpha";
|
||||||
|
case BlendFactor::ConstantColor:
|
||||||
|
return "ConstantColor";
|
||||||
|
case BlendFactor::OneMinusConstantColor:
|
||||||
|
return "OneMinusConstantColor";
|
||||||
|
case BlendFactor::ConstantAlpha:
|
||||||
|
return "ConstantAlpha";
|
||||||
|
case BlendFactor::OneMinusConstantAlpha:
|
||||||
|
return "OneMinusConstantAlpha";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String ConvertDepthFuncToString(DepthFunc v) {
|
||||||
|
switch (v) {
|
||||||
|
case DepthFunc::Never:
|
||||||
|
return "Never";
|
||||||
|
case DepthFunc::Less:
|
||||||
|
return "Less";
|
||||||
|
case DepthFunc::Equal:
|
||||||
|
return "Equal";
|
||||||
|
case DepthFunc::LessEqual:
|
||||||
|
return "LessEqual";
|
||||||
|
case DepthFunc::Greater:
|
||||||
|
return "Greater";
|
||||||
|
case DepthFunc::NotEqual:
|
||||||
|
return "NotEqual";
|
||||||
|
case DepthFunc::GreaterEqual:
|
||||||
|
return "GreaterEqual";
|
||||||
|
case DepthFunc::Always:
|
||||||
|
return "Always";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String ConvertPixelStoreParamToString(PixelStoreParam v) {
|
||||||
|
switch (v) {
|
||||||
|
case PixelStoreParam::PackAlignment:
|
||||||
|
return "PackAlignment";
|
||||||
|
case PixelStoreParam::PackRowLength:
|
||||||
|
return "PackRowLength";
|
||||||
|
case PixelStoreParam::PackImageHeight:
|
||||||
|
return "PackImageHeight";
|
||||||
|
case PixelStoreParam::PackSkipRows:
|
||||||
|
return "PackSkipRows";
|
||||||
|
case PixelStoreParam::PackSkipPixels:
|
||||||
|
return "PackSkipPixels";
|
||||||
|
case PixelStoreParam::PackSkipImages:
|
||||||
|
return "PackSkipImages";
|
||||||
|
case PixelStoreParam::PackSwapBytes:
|
||||||
|
return "PackSwapBytes";
|
||||||
|
case PixelStoreParam::PackLsbFirst:
|
||||||
|
return "PackLsbFirst";
|
||||||
|
case PixelStoreParam::UnpackAlignment:
|
||||||
|
return "UnpackAlignment";
|
||||||
|
case PixelStoreParam::UnpackRowLength:
|
||||||
|
return "UnpackRowLength";
|
||||||
|
case PixelStoreParam::UnpackImageHeight:
|
||||||
|
return "UnpackImageHeight";
|
||||||
|
case PixelStoreParam::UnpackSkipRows:
|
||||||
|
return "UnpackSkipRows";
|
||||||
|
case PixelStoreParam::UnpackSkipPixels:
|
||||||
|
return "UnpackSkipPixels";
|
||||||
|
case PixelStoreParam::UnpackSkipImages:
|
||||||
|
return "UnpackSkipImages";
|
||||||
|
case PixelStoreParam::UnpackSwapBytes:
|
||||||
|
return "UnpackSwapBytes";
|
||||||
|
case PixelStoreParam::UnpackLsbFirst:
|
||||||
|
return "UnpackLsbFirst";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String ConvertCullFaceModeToString(CullFaceMode v) {
|
||||||
|
switch (v) {
|
||||||
|
case CullFaceMode::Front:
|
||||||
|
return "Front";
|
||||||
|
case CullFaceMode::Back:
|
||||||
|
return "Back";
|
||||||
|
case CullFaceMode::FrontAndBack:
|
||||||
|
return "FrontAndBack";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String ConvertCapabilityInputToString(CapabilityInput v) {
|
||||||
|
switch (v) {
|
||||||
|
case CapabilityInput::Blend:
|
||||||
|
return "Blend";
|
||||||
|
case CapabilityInput::ClipDistance0:
|
||||||
|
return "ClipDistance0";
|
||||||
|
case CapabilityInput::ClipDistance1:
|
||||||
|
return "ClipDistance1";
|
||||||
|
case CapabilityInput::ClipDistance2:
|
||||||
|
return "ClipDistance2";
|
||||||
|
case CapabilityInput::ClipDistance3:
|
||||||
|
return "ClipDistance3";
|
||||||
|
case CapabilityInput::ClipDistance4:
|
||||||
|
return "ClipDistance4";
|
||||||
|
case CapabilityInput::ClipDistance5:
|
||||||
|
return "ClipDistance5";
|
||||||
|
case CapabilityInput::ClipDistance6:
|
||||||
|
return "ClipDistance6";
|
||||||
|
case CapabilityInput::ClipDistance7:
|
||||||
|
return "ClipDistance7";
|
||||||
|
case CapabilityInput::ColorLogicOp:
|
||||||
|
return "ColorLogicOp";
|
||||||
|
case CapabilityInput::CullFace:
|
||||||
|
return "CullFace";
|
||||||
|
case CapabilityInput::DebugOutput:
|
||||||
|
return "DebugOutput";
|
||||||
|
case CapabilityInput::DebugOutputSynchronous:
|
||||||
|
return "DebugOutputSynchronous";
|
||||||
|
case CapabilityInput::DepthClamp:
|
||||||
|
return "DepthClamp";
|
||||||
|
case CapabilityInput::DepthTest:
|
||||||
|
return "DepthTest";
|
||||||
|
case CapabilityInput::Dither:
|
||||||
|
return "Dither";
|
||||||
|
case CapabilityInput::FramebufferSrgb:
|
||||||
|
return "FramebufferSrgb";
|
||||||
|
case CapabilityInput::LineSmooth:
|
||||||
|
return "LineSmooth";
|
||||||
|
case CapabilityInput::Multisample:
|
||||||
|
return "Multisample";
|
||||||
|
case CapabilityInput::PolygonOffsetFill:
|
||||||
|
return "PolygonOffsetFill";
|
||||||
|
case CapabilityInput::PolygonOffsetLine:
|
||||||
|
return "PolygonOffsetLine";
|
||||||
|
case CapabilityInput::PolygonOffsetPoint:
|
||||||
|
return "PolygonOffsetPoint";
|
||||||
|
case CapabilityInput::PolygonSmooth:
|
||||||
|
return "PolygonSmooth";
|
||||||
|
case CapabilityInput::PrimitiveRestart:
|
||||||
|
return "PrimitiveRestart";
|
||||||
|
case CapabilityInput::PrimitiveRestartFixedIndex:
|
||||||
|
return "PrimitiveRestartFixedIndex";
|
||||||
|
case CapabilityInput::RasterizerDiscard:
|
||||||
|
return "RasterizerDiscard";
|
||||||
|
case CapabilityInput::SampleAlphaToCoverage:
|
||||||
|
return "SampleAlphaToCoverage";
|
||||||
|
case CapabilityInput::SampleAlphaToOne:
|
||||||
|
return "SampleAlphaToOne";
|
||||||
|
case CapabilityInput::SampleCoverage:
|
||||||
|
return "SampleCoverage";
|
||||||
|
case CapabilityInput::SampleShading:
|
||||||
|
return "SampleShading";
|
||||||
|
case CapabilityInput::SampleMask:
|
||||||
|
return "SampleMask";
|
||||||
|
case CapabilityInput::ScissorTest:
|
||||||
|
return "ScissorTest";
|
||||||
|
case CapabilityInput::StencilTest:
|
||||||
|
return "StencilTest";
|
||||||
|
case CapabilityInput::TextureCubeMapSeamless:
|
||||||
|
return "TextureCubeMapSeamless";
|
||||||
|
case CapabilityInput::ProgramPointSize:
|
||||||
|
return "ProgramPointSize";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <Includes.h>
|
||||||
|
#include <MG_State/GLState/RenderState/RenderState.h>
|
||||||
|
|
||||||
|
namespace MobileGL {
|
||||||
|
namespace MG_Util {
|
||||||
|
String ConvertBlendFactorToString(BlendFactor value);
|
||||||
|
String ConvertDepthFuncToString(DepthFunc value);
|
||||||
|
String ConvertPixelStoreParamToString(PixelStoreParam value);
|
||||||
|
String ConvertCullFaceModeToString(CullFaceMode value);
|
||||||
|
String ConvertCapabilityInputToString(CapabilityInput value);
|
||||||
|
} // namespace MG_Util
|
||||||
|
} // namespace MobileGL
|
||||||
Reference in New Issue
Block a user