-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathConfig.cpp
More file actions
61 lines (56 loc) · 1.68 KB
/
Config.cpp
File metadata and controls
61 lines (56 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "Config.h"
#include <bx/commandline.h>
#include "Renderer/Renderer.h"
Config::Config() :
writeLog(true),
logFile("Cluster.log"),
renderer(bgfx::RendererType::Count), // default renderer, chosen by platform
renderPath(Cluster::RenderPath::Clustered),
tonemappingMode(Renderer::TonemappingMode::ACES),
multipleScattering(true),
whiteFurnace(false),
profile(true),
vsync(false),
sceneFile("assets/models/Sponza/Sponza.gltf"),
customScene(false),
lights(1),
maxLights(3000),
movingLights(false),
fullscreen(false),
showUI(true),
showConfigWindow(true),
showLog(false),
showStatsOverlay(false),
overlays({ true, true, true, true }),
showBuffers(false),
debugVisualization(false)
{
}
void Config::readArgv(int argc, char* argv[])
{
// argv must outlive Config
// we store pointers into argv for the scene file
bx::CommandLine cmdLine(argc, argv);
if(cmdLine.hasArg("noop"))
renderer = bgfx::RendererType::Noop;
else if(cmdLine.hasArg("gl"))
renderer = bgfx::RendererType::OpenGL;
else if(cmdLine.hasArg("vk"))
renderer = bgfx::RendererType::Vulkan;
// missing required features
else if(cmdLine.hasArg("d3d9"))
renderer = bgfx::RendererType::Direct3D9;
else if(cmdLine.hasArg("d3d11"))
renderer = bgfx::RendererType::Direct3D11;
else if(cmdLine.hasArg("d3d12"))
renderer = bgfx::RendererType::Direct3D12;
// not tested
else if(cmdLine.hasArg("mtl"))
renderer = bgfx::RendererType::Metal;
const char* scene = cmdLine.findOption("scene");
if(scene)
{
sceneFile = scene;
customScene = true;
}
}