diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2019-09-13 15:59:15 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-13 15:59:15 -0400 |
| commit | c2e5d2468ad6a38cdb8a067da0678302f6cc6066 (patch) | |
| tree | 97c448d28e54068d84c422e9f172996b7a95f1ed /tools/gfx/render.cpp | |
| parent | 0b6321b3f08c48e37e6b8256d420f05d9727fb5a (diff) | |
Refactor render-test to make cross platform (#1053)
* First pass of render-test refactor.
* Make window construction a function that can choose an implementation.
* Remove OpenGL as currently has windows dependency.
* Disable Vulkan as Renderer impl has dependency on windows.
* Pass Window in as parameter of 'update'.
* Add win-window.cpp as was missing.
* Fix warning on windows about signs during comparison.
Diffstat (limited to 'tools/gfx/render.cpp')
| -rw-r--r-- | tools/gfx/render.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/gfx/render.cpp b/tools/gfx/render.cpp index 44bb4fb04..785343927 100644 --- a/tools/gfx/render.cpp +++ b/tools/gfx/render.cpp @@ -3,6 +3,11 @@ #include "../../source/core/slang-math.h" +#include "d3d11/render-d3d11.h" +#include "d3d12/render-d3d12.h" +#include "open-gl/render-gl.h" +#include "vulkan/render-vk.h" + namespace gfx { using namespace Slang; @@ -404,4 +409,32 @@ ProjectionStyle RendererUtil::getProjectionStyle(RendererType type) } } +/* static */ RendererUtil::CreateFunc RendererUtil::getCreateFunc(RendererType type) +{ + switch (type) + { +#if SLANG_WINDOWS_FAMILY + case RendererType::DirectX11: + { + return &createD3D11Renderer; + } + case RendererType::DirectX12: + { + return &createD3D12Renderer; + } + case RendererType::OpenGl: + { + return &createGLRenderer; + } + case RendererType::Vulkan: + { + return &createVKRenderer; + } +#endif + + default: return nullptr; + } +} + + } // renderer_test |
