MCPcopy Create free account
hub / github.com/begla/Intrinsic / loadRendererConfig

Method loadRendererConfig

IntrinsicCore/src/IntrinsicRendererRenderProcess.cpp:197–356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195// <-
196
197void 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 {

Callers

nothing calls this directly

Calls 11

RenderStepClass · 0.85
GenericFullscreenClass · 0.85
GenericBlurClass · 0.85
GenericMeshClass · 0.85
clearMethod · 0.80
push_backMethod · 0.80
getTypeMethod · 0.80
sizeMethod · 0.45
destroyMethod · 0.45
initMethod · 0.45
onReinitRenderingMethod · 0.45

Tested by

no test coverage detected