| 514 | AdvancedLightBinManager::smUseLightFade = mRenderUseLightFade; |
| 515 | } |
| 516 | void RenderProbeMgr::bakeProbe(ReflectionProbe* probe) |
| 517 | { |
| 518 | GFXDEBUGEVENT_SCOPE(RenderProbeMgr_Bake, ColorI::WHITE); |
| 519 | |
| 520 | Con::warnf("RenderProbeMgr::bakeProbe() - Beginning bake!"); |
| 521 | U32 startMSTime = Platform::getRealMilliseconds(); |
| 522 | |
| 523 | preBake(); |
| 524 | |
| 525 | String path = Con::getVariable("$pref::ReflectionProbes::CurrentLevelPath", "levels/"); |
| 526 | U32 resolution = Con::getIntVariable("$pref::ReflectionProbes::BakeResolution", 64); |
| 527 | U32 prefilterMipLevels = mLog2(F32(resolution)) + 1; |
| 528 | bool renderWithProbes = Con::getIntVariable("$pref::ReflectionProbes::RenderWithProbes", false); |
| 529 | |
| 530 | ReflectionProbe* clientProbe = nullptr; |
| 531 | |
| 532 | if (probe->isServerObject()) |
| 533 | clientProbe = static_cast<ReflectionProbe*>(probe->getClientObject()); |
| 534 | else |
| 535 | return; |
| 536 | |
| 537 | if (clientProbe == nullptr) |
| 538 | return; |
| 539 | |
| 540 | String probePrefilterPath = clientProbe->getPrefilterMapPath(); |
| 541 | String probeIrradPath = clientProbe->getIrradianceMapPath(); |
| 542 | |
| 543 | if (clientProbe->mReflectionModeType != ReflectionProbe::DynamicCubemap) |
| 544 | { |
| 545 | //Prep our bake path |
| 546 | if (probePrefilterPath.isEmpty() || probeIrradPath.isEmpty()) |
| 547 | { |
| 548 | Con::errorf("RenderProbeMgr::bake() - Unable to bake our captures because probe doesn't have a path set"); |
| 549 | return; |
| 550 | } |
| 551 | } |
| 552 | |
| 553 | // Save the current transforms so we can restore |
| 554 | // it for child control rendering below. |
| 555 | GFXTransformSaver saver; |
| 556 | |
| 557 | bool probeRenderState = RenderProbeMgr::smRenderReflectionProbes; |
| 558 | |
| 559 | F32 farPlane = 1000.0f; |
| 560 | |
| 561 | ReflectorDesc reflDesc; |
| 562 | reflDesc.texSize = resolution; |
| 563 | reflDesc.farDist = farPlane; |
| 564 | reflDesc.detailAdjust = (F32)resolution; |
| 565 | reflDesc.objectTypeMask = probe->mCaptureMask; |
| 566 | |
| 567 | CubeReflector cubeRefl; |
| 568 | cubeRefl.registerReflector(probe, &reflDesc); |
| 569 | |
| 570 | ReflectParams reflParams; |
| 571 | |
| 572 | //need to get the query somehow. Likely do some sort of get function to fetch from the guiTSControl that's active |
| 573 | CameraQuery query; //need to get the last cameraQuery |
no test coverage detected