33 lines
801 B
C++
33 lines
801 B
C++
#include "XCEngine/RHI/RHIScreenshot.h"
|
|
#include "XCEngine/RHI/RHIEnums.h"
|
|
#include "XCEngine/RHI/D3D12/D3D12Screenshot.h"
|
|
#ifdef XCENGINE_SUPPORT_OPENGL
|
|
#include "XCEngine/RHI/OpenGL/OpenGLScreenshot.h"
|
|
#endif
|
|
#ifdef XCENGINE_SUPPORT_VULKAN
|
|
#include "XCEngine/RHI/Vulkan/VulkanScreenshot.h"
|
|
#endif
|
|
|
|
namespace XCEngine {
|
|
namespace RHI {
|
|
|
|
RHIScreenshot* RHIScreenshot::Create(RHIType type) {
|
|
switch (type) {
|
|
case RHIType::D3D12:
|
|
return new D3D12Screenshot();
|
|
#ifdef XCENGINE_SUPPORT_OPENGL
|
|
case RHIType::OpenGL:
|
|
return new OpenGLScreenshot();
|
|
#endif
|
|
#ifdef XCENGINE_SUPPORT_VULKAN
|
|
case RHIType::Vulkan:
|
|
return new VulkanScreenshot();
|
|
#endif
|
|
default:
|
|
return nullptr;
|
|
}
|
|
}
|
|
|
|
} // namespace RHI
|
|
} // namespace XCEngine
|