Some cleanup
This commit is contained in:
@@ -7,31 +7,41 @@
|
||||
#ifndef NAZARA_ENUMS_RENDERER_HPP
|
||||
#define NAZARA_ENUMS_RENDERER_HPP
|
||||
|
||||
#include <Nazara/Core/Flags.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
enum RenderAPI
|
||||
enum class RenderAPI
|
||||
{
|
||||
RenderAPI_Direct3D, ///< Microsoft Render API, only works on MS platforms
|
||||
RenderAPI_Mantle, ///< AMD Render API, Vulkan predecessor, only works on AMD GPUs
|
||||
RenderAPI_Metal, ///< Apple Render API, only works on OS X platforms
|
||||
RenderAPI_OpenGL, ///< Khronos Render API, works on Web/Desktop/Mobile and some consoles
|
||||
RenderAPI_Vulkan, ///< New Khronos Render API, made to replace OpenGL, works on desktop (Windows/Linux) and mobile (Android)
|
||||
Direct3D, ///< Microsoft Render API, only works on MS platforms
|
||||
Mantle, ///< AMD Render API, Vulkan predecessor, only works on AMD GPUs
|
||||
Metal, ///< Apple Render API, only works on OS X platforms
|
||||
OpenGL, ///< Khronos Render API, works on Web/Desktop/Mobile and some consoles
|
||||
Vulkan, ///< New Khronos Render API, made to replace OpenGL, works on desktop (Windows/Linux) and mobile (Android), and Apple platform using MoltenVK
|
||||
|
||||
RenderAPI_Other, ///< RenderAPI not corresponding to an entry of the enum, or result of a failed query
|
||||
Unknown, ///< RenderAPI not corresponding to an entry of the enum, or result of a failed query
|
||||
|
||||
RenderAPI_Max = RenderAPI_Other
|
||||
Max = Unknown
|
||||
};
|
||||
|
||||
enum RenderDeviceType
|
||||
enum class RenderDeviceType
|
||||
{
|
||||
RenderDeviceType_Integrated, ///< Hardware-accelerated chipset integrated to a CPU (ex: Intel Graphics HD 4000)
|
||||
RenderDeviceType_Dedicated, ///< Hardware-accelerated GPU (ex: AMD R9 390)
|
||||
RenderDeviceType_Software, ///< Software-renderer
|
||||
RenderDeviceType_Virtual, ///< Proxy renderer relaying instructions to another unknown device
|
||||
Integrated, ///< Hardware-accelerated chipset integrated to a CPU (ex: Intel Graphics HD 4000)
|
||||
Dedicated, ///< Hardware-accelerated GPU (ex: AMD R9 390)
|
||||
Software, ///< Software-renderer
|
||||
Virtual, ///< Proxy renderer relaying instructions to another unknown device
|
||||
|
||||
RenderDeviceType_Unknown, ///< Device type not corresponding to an entry of the enum, or result of a failed query
|
||||
Unknown, ///< Device type not corresponding to an entry of the enum, or result of a failed query
|
||||
|
||||
RenderDeviceType_Max = RenderDeviceType_Unknown
|
||||
Max = Unknown
|
||||
};
|
||||
|
||||
enum class ShaderBindingType
|
||||
{
|
||||
Texture,
|
||||
UniformBuffer,
|
||||
|
||||
Max = UniformBuffer
|
||||
};
|
||||
|
||||
enum class ShaderLanguage
|
||||
@@ -45,8 +55,19 @@ namespace Nz
|
||||
enum class ShaderStageType
|
||||
{
|
||||
Fragment,
|
||||
Vertex
|
||||
Vertex,
|
||||
|
||||
Max = Vertex
|
||||
};
|
||||
|
||||
struct EnumAsFlags<ShaderStageType>
|
||||
{
|
||||
static constexpr ShaderStageType max = ShaderStageType::Max;
|
||||
};
|
||||
|
||||
using ShaderStageTypeFlags = Flags<ShaderStageType>;
|
||||
|
||||
constexpr ShaderStageTypeFlags ShaderStageType_All = ShaderStageType::Fragment | ShaderStageType::Vertex;
|
||||
}
|
||||
|
||||
#endif // NAZARA_ENUMS_RENDERER_HPP
|
||||
|
||||
Reference in New Issue
Block a user