mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 12:24:26 +02:00
Fixed crash in debugShadow.js
This commit is contained in:
parent
ec22f7847e
commit
ae20a5d439
4 changed files with 5 additions and 3 deletions
|
@ -364,7 +364,7 @@ void RenderDeferredTaskDebug::build(JobModel& task, const render::Varying& input
|
||||||
sprintf(jobName, "DrawShadowFrustum%d", i);
|
sprintf(jobName, "DrawShadowFrustum%d", i);
|
||||||
task.addJob<DrawFrustum>(jobName, shadowFrustum, glm::vec3(0.0f, tint, 1.0f));
|
task.addJob<DrawFrustum>(jobName, shadowFrustum, glm::vec3(0.0f, tint, 1.0f));
|
||||||
if (!renderShadowTaskOut.isNull()) {
|
if (!renderShadowTaskOut.isNull()) {
|
||||||
const auto& shadowCascadeSceneBBoxes = renderShadowTaskOut;
|
const auto& shadowCascadeSceneBBoxes = renderShadowTaskOut.get<RenderShadowTask::CascadeBoxes>();
|
||||||
const auto shadowBBox = shadowCascadeSceneBBoxes[ExtractFrustums::SHADOW_CASCADE0_FRUSTUM + i];
|
const auto shadowBBox = shadowCascadeSceneBBoxes[ExtractFrustums::SHADOW_CASCADE0_FRUSTUM + i];
|
||||||
sprintf(jobName, "DrawShadowBBox%d", i);
|
sprintf(jobName, "DrawShadowBBox%d", i);
|
||||||
task.addJob<DrawAABox>(jobName, shadowBBox, glm::vec3(1.0f, tint, 0.0f));
|
task.addJob<DrawAABox>(jobName, shadowBBox, glm::vec3(1.0f, tint, 0.0f));
|
||||||
|
|
|
@ -90,7 +90,7 @@ void RenderShadowTask::build(JobModel& task, const render::Varying& input, rende
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
render::VaryingArray<AABox,4> cascadeSceneBBoxes;
|
CascadeBoxes cascadeSceneBBoxes;
|
||||||
|
|
||||||
for (auto i = 0; i < SHADOW_CASCADE_MAX_COUNT; i++) {
|
for (auto i = 0; i < SHADOW_CASCADE_MAX_COUNT; i++) {
|
||||||
char jobName[64];
|
char jobName[64];
|
||||||
|
|
|
@ -52,8 +52,9 @@ class RenderShadowTask {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// There is one AABox per shadow cascade
|
// There is one AABox per shadow cascade
|
||||||
|
using CascadeBoxes = render::VaryingArray<AABox, SHADOW_CASCADE_MAX_COUNT>;
|
||||||
using Input = render::VaryingSet2<LightStage::FramePointer, LightingModelPointer>;
|
using Input = render::VaryingSet2<LightStage::FramePointer, LightingModelPointer>;
|
||||||
using Output = render::VaryingSet2<render::VaryingArray<AABox, SHADOW_CASCADE_MAX_COUNT>, LightStage::ShadowFramePointer>;
|
using Output = render::VaryingSet2<CascadeBoxes, LightStage::ShadowFramePointer>;
|
||||||
using Config = RenderShadowTaskConfig;
|
using Config = RenderShadowTaskConfig;
|
||||||
using JobModel = render::Task::ModelIO<RenderShadowTask, Input, Output, Config>;
|
using JobModel = render::Task::ModelIO<RenderShadowTask, Input, Output, Config>;
|
||||||
|
|
||||||
|
|
|
@ -152,6 +152,7 @@ public:
|
||||||
|
|
||||||
template <class... A>
|
template <class... A>
|
||||||
static std::shared_ptr<Model> create(const std::string& name, const Varying& input, A&&... args) {
|
static std::shared_ptr<Model> create(const std::string& name, const Varying& input, A&&... args) {
|
||||||
|
assert(input.canCast<I>());
|
||||||
return std::make_shared<Model>(name, input, std::make_shared<C>(), std::forward<A>(args)...);
|
return std::make_shared<Model>(name, input, std::make_shared<C>(), std::forward<A>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue