diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-12-06 06:22:12 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-12-06 06:22:12 +0000 |
| commit | 11ca6d181df62a7ff3f7dee1c0f6724d895dbe36 (patch) | |
| tree | 7c4d7fcc20e38ca23c38d3ff9bd591e1e4882575 /Projects/Asteroids/src/WinWrapper.cpp | |
| parent | Updated core (diff) | |
| download | DiligentEngine-11ca6d181df62a7ff3f7dee1c0f6724d895dbe36.tar.gz DiligentEngine-11ca6d181df62a7ff3f7dee1c0f6724d895dbe36.zip | |
Added cmd line option to select render backend in asteroids demo
Diffstat (limited to 'Projects/Asteroids/src/WinWrapper.cpp')
| -rw-r--r-- | Projects/Asteroids/src/WinWrapper.cpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Projects/Asteroids/src/WinWrapper.cpp b/Projects/Asteroids/src/WinWrapper.cpp index adcb287..bb49888 100644 --- a/Projects/Asteroids/src/WinWrapper.cpp +++ b/Projects/Asteroids/src/WinWrapper.cpp @@ -410,6 +410,7 @@ int main(int argc, char** argv) gSettings.windowWidth *= dpi / 96; gSettings.windowHeight *= dpi / 96; + gSettings.mode = Settings::RenderMode::Undefined; for (int a = 1; a < argc; ++a) { if (_stricmp(argv[a], "-close_after") == 0 && a + 1 < argc) { gSettings.closeAfterSeconds = atof(argv[++a]); @@ -434,6 +435,12 @@ int main(int argc, char** argv) gSettings.lockedFrameRate = atoi(argv[++a]); } else if (_stricmp(argv[a], "-threads") == 0 && a + 1 < argc) { gSettings.numThreads = atoi(argv[++a]); + } else if (_stricmp(argv[a], "-d3d11") == 0) { + gSettings.mode = Settings::RenderMode::DiligentD3D11; + } else if (_stricmp(argv[a], "-d3d12") == 0) { + gSettings.mode = gd3d12Available ? Settings::RenderMode::DiligentD3D12 : Settings::RenderMode::Undefined; + } else if (_stricmp(argv[a], "-vk") == 0) { + gSettings.mode = gVulkanAvailable ? Settings::RenderMode::DiligentVulkan : Settings::RenderMode::Undefined; } else { fprintf(stderr, "error: unrecognized argument '%s'\n", argv[a]); fprintf(stderr, "usage: asteroids_d3d12 [options]\n"); @@ -471,13 +478,15 @@ int main(int argc, char** argv) AsteroidsSimulation asteroids(1337, NUM_ASTEROIDS, NUM_UNIQUE_MESHES, MESH_MAX_SUBDIV_LEVELS, NUM_UNIQUE_TEXTURES); - if (gVulkanAvailable) - gSettings.mode = Settings::RenderMode::DiligentVulkan; - else if (gd3d12Available) - gSettings.mode = Settings::RenderMode::DiligentD3D12; - else - gSettings.mode = Settings::RenderMode::DiligentD3D11; - + if (gSettings.mode == Settings::RenderMode::Undefined) + { + if (gVulkanAvailable) + gSettings.mode = Settings::RenderMode::DiligentVulkan; + else if (gd3d12Available) + gSettings.mode = Settings::RenderMode::DiligentD3D12; + else + gSettings.mode = Settings::RenderMode::DiligentD3D11; + } // init window class WNDCLASSEX windowClass; |
