| 195 | // <- |
| 196 | |
| 197 | void Default::loadRendererConfig() |
| 198 | { |
| 199 | // Destroy render passes and images |
| 200 | { |
| 201 | for (uint32_t i = 0u; i < _renderPassesGenericFullScreen.size(); ++i) |
| 202 | { |
| 203 | _renderPassesGenericFullScreen[i].destroy(); |
| 204 | } |
| 205 | _renderPassesGenericFullScreen.clear(); |
| 206 | for (uint32_t i = 0u; i < _renderPassesGenericMesh.size(); ++i) |
| 207 | { |
| 208 | _renderPassesGenericMesh[i].destroy(); |
| 209 | } |
| 210 | _renderPassesGenericMesh.clear(); |
| 211 | |
| 212 | ImageManager::destroyImagesAndResources(_images); |
| 213 | _images.clear(); |
| 214 | } |
| 215 | _renderSteps.clear(); |
| 216 | _cameraNames.clear(); |
| 217 | |
| 218 | rapidjson::Document rendererConfig; |
| 219 | { |
| 220 | const _INTR_STRING rendererConfigFilePath = |
| 221 | "config/" + Settings::Manager::_rendererConfig; |
| 222 | |
| 223 | FILE* fp = fopen(rendererConfigFilePath.c_str(), "rb"); |
| 224 | |
| 225 | if (fp == nullptr) |
| 226 | { |
| 227 | _INTR_LOG_WARNING("Failed to load renderer config from file '%s'...", |
| 228 | Settings::Manager::_rendererConfig.c_str()); |
| 229 | return; |
| 230 | } |
| 231 | |
| 232 | char* readBuffer = (char*)Memory::Tlsf::MainAllocator::allocate(65536u); |
| 233 | { |
| 234 | rapidjson::FileReadStream is(fp, readBuffer, 65536u); |
| 235 | rendererConfig.ParseStream<rapidjson::kParseCommentsFlag>(is); |
| 236 | fclose(fp); |
| 237 | } |
| 238 | Memory::Tlsf::MainAllocator::free(readBuffer); |
| 239 | } |
| 240 | |
| 241 | _INTR_LOG_INFO("Loading renderer config '%s'...", |
| 242 | rendererConfig["name"].GetString()); |
| 243 | |
| 244 | const rapidjson::Value& renderSteps = rendererConfig["renderSteps"]; |
| 245 | const rapidjson::Value& uniformBuffers = rendererConfig["uniformBuffers"]; |
| 246 | const rapidjson::Value& images = rendererConfig["images"]; |
| 247 | |
| 248 | // Uniform buffers |
| 249 | UniformManager::load(uniformBuffers); |
| 250 | |
| 251 | // Images |
| 252 | { |
| 253 | for (uint32_t i = 0u; i < images.Size(); ++i) |
| 254 | { |
nothing calls this directly
no test coverage detected