summaryrefslogtreecommitdiffstats
path: root/Projects/Asteroids/src/WinWrapper.cpp
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-12-06 06:22:12 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-12-06 06:22:12 +0000
commit11ca6d181df62a7ff3f7dee1c0f6724d895dbe36 (patch)
tree7c4d7fcc20e38ca23c38d3ff9bd591e1e4882575 /Projects/Asteroids/src/WinWrapper.cpp
parentUpdated core (diff)
downloadDiligentEngine-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.cpp23
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;