engine/bin/data/config.json

270 lines
6.5 KiB
JSON

{
"engine": {
"scenes": {
"start": "SH2_McDonalds",
"meshes": { "interleave": true },
"matrix": { "reverseInfinite": true },
"lights": {
"max": 16,
"enabled": true
},
"shadows": {
"enabled": true,
"update": 3,
"max": 6,
"samples": 2,
"experimental mode": 1
},
"textures": {
"max": {
"2D": 1024,
"cube": 128,
"3D": 1
}
},
"vxgi": {
"limiter": 2,
"size": 96,
"dispatch": 8,
"cascades": 2,
"cascadePower": 4,
"shadows": 0,
"granularity": 4,
"extents": {
"min": [ -1.5, -1.5, -1.5 ],
"max": [ 1.5, 1.5, 1.5 ]
}
},
"bloom": {
"scale": 1.0,
"strength": 0.125,
"sigma": 0.8,
"samples": 5,
"threshold": 1.0
}
},
"ext": {
"vulkan": {
"validation": {
"enabled": false,
"filters": [
"MessageID = 0x4dae5635", // UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (false positive for cubemaps)
"MessageID = 0x609a13b", // UNASSIGNED-CoreValidation-Shader-OutputNotConsumed (from depth-only calls)
"MessageID = 0x23e43bb7" // UNASSIGNED-CoreValidation-Shader-InputNotProduced (from depth-only calls)
// "MessageID = 0xe91b58a0" // VUID-vkCmdDrawIndexed-None-02686 (?)
// "MessageID = 0x71500fba", // VUID-vkDestroyDevice-device-00378 (don't care about a clean cleanup)
// "MessageID = 0x124ffb34", // VUID-VkImageMemoryBarrier-oldLayout-01197 (hacky bloom-shit)
// "MessageID = 0x8ab1932c", // VUID-VkImageViewCreateInfo-imageViewType-04973 (hacky bloom-shit)
// "MessageID = 0x8e1000ad", // VUID-vkCmdDrawIndexedIndirect-None-04008 (bitches without nullDescriptor)
// "MessageID = 0x9dd97212", // VUID-vkCmdDrawIndexedIndirect-None-02721 (bitches without nullDescriptor)
// "MessageID = 0x36481fcb", // VUID-vkCmdBindVertexBuffers-pBuffers-04001 (bitches without nullDescriptor)
]
},
"framebuffer": {
"size": 1,
// "size": [ 640, 480, "NEAREST" ],
// "size": [ 1280, 720 ],
// "size": [ 960, 540 ],
// "size": [ 640, 480 ],
"msaa": 1
},
"experimental": {
"rebuild on tick begin": false,
"wait on render end": false,
"individual pipelines": true,
"multithreaded command recording": true,
"multithreaded command rendering": false,
"deferred mode": "",
"deferred reconstruct position": true,
"deferred alias output to swapchain": false,
"vsync": false,
"hdr": false,
"vxgi": true,
"deferred sampling": true,
"culling": true,
"bloom": false
},
"formats": {
"depth": "D32_SFLOAT",
"color": "R8G8B8A8_UNORM", // "R32G32B32A32_SFLOAT",
"normal": "R16G16B16A16_SFLOAT",
"position": "R16G16B16A16_SFLOAT"
},
"features": [
"shaderDrawParameters",
"multiDrawIndirect",
"fillModeNonSolid",
"wideLines",
"independentBlend",
"deviceCoherentMemory",
"robustBufferAccess",
"samplerAnisotropy",
"sampleRateShading",
"nullDescriptor",
"fragmentStoresAndAtomics",
"geometryShader",
"multiViewport",
"shaderOutputLayer",
// "shaderUniformBufferArrayDynamicIndexing",
// "shaderStorageBufferArrayDynamicIndexing",
"shaderSampledImageArrayDynamicIndexing",
"shaderStorageImageArrayDynamicIndexing"
],
"extensions": {
"instance": [
"VK_KHR_get_physical_device_properties2",
"VK_KHR_get_surface_capabilities2"
],
"device": [
"VK_KHR_swapchain",
"VK_EXT_shader_viewport_index_layer"
]
}
},
"opengl": {
"validation": { "enabled": true },
"framebuffer": { "size": 1, "msaa": 1 },
"experimental": {
"rebuild on tick begin": false,
"wait on render end": false,
"individual pipelines": true,
"multithreaded command recording": false, //
"multithreaded command rendering": false,
"deferred mode": "",
// "deferred mode": "deferredSampling",
"deferred reconstruct position": true,
"deferred alias output to swapchain": true,
"hdr": false,
"culling": true
},
"formats": {
"depth": "D32_SFLOAT",
"color": "R8G8B8A8_UNORM", // "R32G32B32A32_SFLOAT",
"normal": "R16G16B16A16_SFLOAT",
"position": "R16G16B16A16_SFLOAT"
},
"features": [],
"extensions": { "instance": [], "device": [] }
},
"lua": {
"enabled": true,
"main": "/main.lua",
"modules": {
"json": "/json.lua"
}
},
"reactphysics": {
"timescale": 0.01666666666,
"interpolate": false,
"debug draw": {
"enabled": false,
// "layer": "Gui",
"rate": 0.0125
}
},
"bullet": {
"iterations": 1,
"substeps": 4,
"timescale": 1,
"multithreaded": false,
"pool size": {
"max collision algorithm": 65535,
"max persistent manifold": 65535
},
"debug draw": {
"enabled": false,
// "layer": "Gui",
"rate": 0.0125
}
},
"vr" : {
"enable" : false,
"manifest": "./data/openvr_manifest.json",
"swap eyes": false,
"dominant eye": 0,
"scale": 1.0
},
"ultralight": { "enabled": true, "scale": 1.5 },
"discord": { "enabled": false }
},
"audio": {
"mute": false,
"buffers": {
"size": 32768,
"count": 4
},
"volumes": {
"sfx": 0.25,
"bgm": 0.15,
"voice": 1.0
},
"streams by default": true
},
"memory pool": {
"enabled": true,
"subPools": true,
"alignment": 64,
"override": false,
"size": "1024 MiB",
"pools": {
"entity": "256 MiB",
"userdata": "256 MiB",
"component": "256 MiB"
}
},
"render modes": { "gui": true, "deferred": true },
"limiters": {
"deltaTime": 5,
"framerate": "auto"
},
"threads": {
"workers" : "auto", // "async"
"frame limiter": "auto"
},
"debug": {
"framerate": {
"print": true,
"every": 1
},
"garbage collection": {
"enabled": true,
"mode": 1,
"rate": 4,
"announce": true
},
"entity": {
"delete children on destroy": true,
"delete components on destroy": true
},
"loader": {
"assert": true
}
}
},
"window" : {
"terminal" : {
"ncurses" : false,
"visible" : true
},
"keyboard" : {
"repeat" : false
},
"cursor" : {
"visible" : true,
"center" : false,
"sensitivity": [ 0.5, 0.5 ]
},
"mode" : "windowed", // fullscreen, borderless, windowed
"icon" : "./data/textures/icon.png",
"size" : [ 1920, 1080 ],
// "size" : [ 1280, 720 ],
// "size" : [ 960, 540 ],
// "size" : [ 640, 480 ],
// "size" : [ 256, 224 ],
"title" : "Grimgram",
"visible" : true
}
}