before shadow2DArray try
This commit is contained in:
@@ -634,6 +634,7 @@ ObjectBase * Light::clone(bool withChildren) {
|
|||||||
o->decay_linear = decay_linear;
|
o->decay_linear = decay_linear;
|
||||||
o->decay_quadratic = decay_quadratic;
|
o->decay_quadratic = decay_quadratic;
|
||||||
o->meta = meta;
|
o->meta = meta;
|
||||||
|
o->shadow_map.reinit();
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,6 +113,10 @@ void Scene::reinitAll() {
|
|||||||
i->reinit();
|
i->reinit();
|
||||||
for (auto * i: td_geometries)
|
for (auto * i: td_geometries)
|
||||||
i->reinit();
|
i->reinit();
|
||||||
|
auto aol = root_->children(true);
|
||||||
|
for (auto * i: aol) {
|
||||||
|
if (i->type() == ObjectBase::glLight) ((Light *)i)->shadow_map.reinit();
|
||||||
|
}
|
||||||
setTreeChanged();
|
setTreeChanged();
|
||||||
mat_changed = lights_changed = true;
|
mat_changed = lights_changed = true;
|
||||||
need_reload_materials = true;
|
need_reload_materials = true;
|
||||||
|
|||||||
@@ -41,7 +41,10 @@ public:
|
|||||||
}
|
}
|
||||||
~Effect1() { deleteShader(mys); }
|
~Effect1() { deleteShader(mys); }
|
||||||
QString name() const { return "Blur"; }
|
QString name() const { return "Blur"; }
|
||||||
void reloadShaders() { QGLEngineShaders::loadShadersMulti(mys, "test1.glsl"); }
|
void reloadShaders() {
|
||||||
|
deleteShader(mys);
|
||||||
|
QGLEngineShaders::loadShadersMulti(mys, "test1.glsl");
|
||||||
|
}
|
||||||
void draw() {
|
void draw() {
|
||||||
if (!mys) return;
|
if (!mys) return;
|
||||||
if (!mys->isLinked()) return;
|
if (!mys->isLinked()) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user