From 7a8dd968089cae1fe5f4279cf6250685efdb86ff Mon Sep 17 00:00:00 2001 From: Azaezel Date: Mon, 28 Jan 2019 01:36:17 -0600 Subject: [PATCH] should only need to set the brdf texture the once --- Engine/source/renderInstance/renderProbeMgr.cpp | 4 ++++ Engine/source/renderInstance/renderProbeMgr.h | 1 + 2 files changed, 5 insertions(+) diff --git a/Engine/source/renderInstance/renderProbeMgr.cpp b/Engine/source/renderInstance/renderProbeMgr.cpp index 9bc3cc2a9..2a3c84148 100644 --- a/Engine/source/renderInstance/renderProbeMgr.cpp +++ b/Engine/source/renderInstance/renderProbeMgr.cpp @@ -35,6 +35,7 @@ #include "shaderGen/shaderGenVars.h" #include "materials/shaderData.h" +#include "gfx/gfxTextureManager.h" IMPLEMENT_CONOBJECT(RenderProbeMgr); ConsoleDocClass( RenderProbeMgr, @@ -243,6 +244,8 @@ RenderProbeMgr::RenderProbeMgr() mLastShader(nullptr), mLastConstants(nullptr) { + String brdfPath = Con::getVariable("$Core::BRDFTexture", "core/art/pbr/brdfTexture.dds"); + mBrdfTexture = TEXMGR->createTexture(brdfPath, &GFXTexturePersistentProfile); } RenderProbeMgr::RenderProbeMgr(RenderInstType riType, F32 renderOrder, F32 processAddOrder) @@ -786,6 +789,7 @@ void RenderProbeMgr::render( SceneRenderState *state ) GFX->setCubeArrayTexture(3, mCubemapArray); GFX->setCubeArrayTexture(4, mIrradArray); + GFX->setTexture(5, mBrdfTexture); matParams->set(probePositionSC, probePositions); matParams->set(probeWorldToObjSC, probeWorldToObj.address(), probeWorldToObj.size()); diff --git a/Engine/source/renderInstance/renderProbeMgr.h b/Engine/source/renderInstance/renderProbeMgr.h index d9b7b9fab..4535f1a04 100644 --- a/Engine/source/renderInstance/renderProbeMgr.h +++ b/Engine/source/renderInstance/renderProbeMgr.h @@ -280,6 +280,7 @@ protected: GFXShaderConstHandle *probeLocalPosSC, GFXShaderConstBuffer *shaderConsts); + GFXTextureObject * mBrdfTexture; public: RenderProbeMgr(); RenderProbeMgr(RenderInstType riType, F32 renderOrder, F32 processAddOrder);