diff --git a/filament/src/Engine.cpp b/filament/src/Engine.cpp index 0a87b2503e0..fb4ad59c9e6 100644 --- a/filament/src/Engine.cpp +++ b/filament/src/Engine.cpp @@ -325,6 +325,11 @@ void FEngine::prepare() { item->commit(*this); } } + + // Commit default material instances. + for (auto& material : mMaterials) { + material->getDefaultInstance()->commit(*this); + } } void FEngine::gc() { diff --git a/filament/src/MaterialInstance.cpp b/filament/src/MaterialInstance.cpp index 4646ca223d5..bc4902167a8 100644 --- a/filament/src/MaterialInstance.cpp +++ b/filament/src/MaterialInstance.cpp @@ -69,7 +69,7 @@ void FMaterialInstance::initDefaultInstance(FEngine& engine, FMaterial const* ma if (!material->getUniformInterfaceBlock().isEmpty()) { mUniforms = UniformBuffer(material->getUniformInterfaceBlock()); - mUbHandle = driver.createUniformBuffer(mUniforms.getSize(), driver::BufferUsage::STATIC); + mUbHandle = driver.createUniformBuffer(mUniforms.getSize(), driver::BufferUsage::DYNAMIC); } if (!material->getSamplerInterfaceBlock().isEmpty()) {