diff --git a/filament/src/Skybox.cpp b/filament/src/Skybox.cpp index 21a2832a7c..3da96519c6 100644 --- a/filament/src/Skybox.cpp +++ b/filament/src/Skybox.cpp @@ -102,9 +102,8 @@ FSkybox::FSkybox(FEngine& engine, const Builder& builder) noexcept TextureSampler sampler(TextureSampler::MagFilter::LINEAR, TextureSampler::WrapMode::REPEAT); auto pInstance = static_cast(mSkyboxMaterialInstance); - if (mSkyboxTexture != nullptr) { - pInstance->setParameter("skybox", mSkyboxTexture, sampler); - } + FTexture const* texture = mSkyboxTexture ? mSkyboxTexture : engine.getDummyCubemap(); + pInstance->setParameter("skybox", texture, sampler); pInstance->setParameter("showSun", builder->mShowSun); pInstance->setParameter("constantColor", mSkyboxTexture == nullptr); pInstance->setParameter("color", builder->mColor); diff --git a/filament/src/details/Engine.h b/filament/src/details/Engine.h index 4613cb0a92..0dcba3ab6c 100644 --- a/filament/src/details/Engine.h +++ b/filament/src/details/Engine.h @@ -152,6 +152,7 @@ public: const FMaterial* getDefaultMaterial() const noexcept { return mDefaultMaterial; } const FMaterial* getSkyboxMaterial() const noexcept; const FIndirectLight* getDefaultIndirectLight() const noexcept { return mDefaultIbl; } + const FTexture* getDummyCubemap() const noexcept { return mDefaultIblTexture; } backend::Handle getFullScreenRenderPrimitive() const noexcept { return mFullScreenTriangleRph;