reflector classvar cleanups

This commit is contained in:
Azaezel 2018-03-13 21:26:27 -05:00
parent 68da3176c9
commit f0e5fddde8
2 changed files with 21 additions and 21 deletions

View file

@ -315,20 +315,20 @@ void CubeReflector::updateReflection( const ReflectParams &params )
const GFXFormat reflectFormat = REFLECTMGR->getReflectFormat(); const GFXFormat reflectFormat = REFLECTMGR->getReflectFormat();
if ( texResize || if ( texResize ||
cubemap.isNull() || mCubemap.isNull() ||
cubemap->getFormat() != reflectFormat ) mCubemap->getFormat() != reflectFormat )
{ {
cubemap = GFX->createCubemap(); mCubemap = GFX->createCubemap();
cubemap->initDynamic( texDim, reflectFormat ); mCubemap->initDynamic( texDim, reflectFormat );
} }
GFXTexHandle depthBuff = LightShadowMap::_getDepthTarget( texDim, texDim ); mDepthBuff = LightShadowMap::_getDepthTarget( texDim, texDim );
if ( renderTarget.isNull() ) if ( mRenderTarget.isNull() )
renderTarget = GFX->allocRenderToTextureTarget(); mRenderTarget = GFX->allocRenderToTextureTarget();
GFX->pushActiveRenderTarget(); GFX->pushActiveRenderTarget();
renderTarget->attachTexture( GFXTextureTarget::DepthStencil, depthBuff ); mRenderTarget->attachTexture( GFXTextureTarget::DepthStencil, mDepthBuff );
F32 oldVisibleDist = gClientSceneGraph->getVisibleDistance(); F32 oldVisibleDist = gClientSceneGraph->getVisibleDistance();
@ -407,8 +407,8 @@ void CubeReflector::updateFace( const ReflectParams &params, U32 faceidx )
GFX->setWorldMatrix(matView); GFX->setWorldMatrix(matView);
GFX->clearTextureStateImmediate(0); GFX->clearTextureStateImmediate(0);
renderTarget->attachTexture( GFXTextureTarget::Color0, cubemap, faceidx ); mRenderTarget->attachTexture( GFXTextureTarget::Color0, mCubemap, faceidx );
GFX->setActiveRenderTarget( renderTarget ); GFX->setActiveRenderTarget(mRenderTarget);
GFX->clear( GFXClearStencil | GFXClearTarget | GFXClearZBuffer, gCanvasClearColor, 1.0f, 0 ); GFX->clear( GFXClearStencil | GFXClearTarget | GFXClearZBuffer, gCanvasClearColor, 1.0f, 0 );
SceneRenderState reflectRenderState SceneRenderState reflectRenderState
@ -427,7 +427,7 @@ void CubeReflector::updateFace( const ReflectParams &params, U32 faceidx )
LIGHTMGR->unregisterAllLights(); LIGHTMGR->unregisterAllLights();
// Clean up. // Clean up.
renderTarget->resolve(); mRenderTarget->resolve();
} }
F32 CubeReflector::calcFaceScore( const ReflectParams &params, U32 faceidx ) F32 CubeReflector::calcFaceScore( const ReflectParams &params, U32 faceidx )
@ -746,18 +746,18 @@ void PlaneReflector::setGFXMatrices( const MatrixF &camTrans )
MatrixF relCamTrans = invObjTrans * camTrans; MatrixF relCamTrans = invObjTrans * camTrans;
MatrixF camReflectTrans = getCameraReflection( relCamTrans ); MatrixF camReflectTrans = getCameraReflection( relCamTrans );
MatrixF camTrans = mObject->getRenderTransform() * camReflectTrans; MatrixF objTrans = mObject->getRenderTransform() * camReflectTrans;
camTrans.inverse(); objTrans.inverse();
GFX->setWorldMatrix( camTrans ); GFX->setWorldMatrix(objTrans);
// use relative reflect transform for modelview since clip plane is in object space // use relative reflect transform for modelview since clip plane is in object space
camTrans = camReflectTrans; objTrans = camReflectTrans;
camTrans.inverse(); objTrans.inverse();
// set new projection matrix // set new projection matrix
gClientSceneGraph->setNonClipProjection( (MatrixF&) GFX->getProjectionMatrix() ); gClientSceneGraph->setNonClipProjection( (MatrixF&) GFX->getProjectionMatrix() );
MatrixF clipProj = getFrustumClipProj( camTrans ); MatrixF clipProj = getFrustumClipProj(objTrans);
GFX->setProjectionMatrix( clipProj ); GFX->setProjectionMatrix( clipProj );
} }
else else

View file

@ -153,16 +153,16 @@ public:
virtual void unregisterReflector(); virtual void unregisterReflector();
virtual void updateReflection( const ReflectParams &params ); virtual void updateReflection( const ReflectParams &params );
GFXCubemap* getCubemap() const { return cubemap; } GFXCubemap* getCubemap() const { return mCubemap; }
void updateFace( const ReflectParams &params, U32 faceidx ); void updateFace( const ReflectParams &params, U32 faceidx );
F32 calcFaceScore( const ReflectParams &params, U32 faceidx ); F32 calcFaceScore( const ReflectParams &params, U32 faceidx );
protected: protected:
GFXTexHandle depthBuff; GFXTexHandle mDepthBuff;
GFXTextureTargetRef renderTarget; GFXTextureTargetRef mRenderTarget;
GFXCubemapHandle cubemap; GFXCubemapHandle mCubemap;
U32 mLastTexSize; U32 mLastTexSize;
class CubeFaceReflector : public ReflectorBase class CubeFaceReflector : public ReflectorBase