diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-07-23 23:07:16 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-07-23 23:07:16 -0600 |
commit | 52f292c0637545171749aee18e305c530a76d096 (patch) | |
tree | 8d4446da954686b31450078ef0d609cff17c1116 /indra/newview/pipeline.h | |
parent | 40a7c63e897cee5905270602be4387f5eb4fc2b8 (diff) | |
parent | 6060e5e46acbeb20a301070a0fd0efea029d33d0 (diff) |
Merge
Diffstat (limited to 'indra/newview/pipeline.h')
-rwxr-xr-x | indra/newview/pipeline.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index ef05205844..b03e096042 100755 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -162,6 +162,12 @@ public: // Object related methods void markVisible(LLDrawable *drawablep, LLCamera& camera); void markOccluder(LLSpatialGroup* group); + + //downsample source to dest, taking the maximum depth value per pixel in source and writing to dest + // if source's depth buffer cannot be bound for reading, a scratch space depth buffer must be provided + void downsampleDepthBuffer(LLRenderTarget& source, LLRenderTarget& dest, LLRenderTarget* scratch_space = NULL); + + void doOcclusion(LLCamera& camera, LLRenderTarget& source, LLRenderTarget& dest, LLRenderTarget* scratch_space = NULL); void doOcclusion(LLCamera& camera); void markNotCulled(LLSpatialGroup* group, LLCamera &camera); void markMoved(LLDrawable *drawablep, BOOL damped_motion = FALSE); @@ -261,7 +267,7 @@ public: void renderGeom(LLCamera& camera, BOOL forceVBOUpdate = FALSE); void renderGeomDeferred(LLCamera& camera); - void renderGeomPostDeferred(LLCamera& camera); + void renderGeomPostDeferred(LLCamera& camera, bool do_occlusion=true); void renderGeomShadow(LLCamera& camera); void bindDeferredShader(LLGLSLShader& shader, U32 light_index = 0, U32 noise_map = 0xFFFFFFFF); void setupSpotLight(LLGLSLShader& shader, LLDrawable* drawablep); @@ -582,6 +588,7 @@ public: LLRenderTarget mFXAABuffer; LLRenderTarget mEdgeMap; LLRenderTarget mDeferredDepth; + LLRenderTarget mOcclusionDepth; LLRenderTarget mDeferredLight; LLRenderTarget mHighlight; LLRenderTarget mPhysicsDisplay; @@ -594,6 +601,7 @@ public: //sun shadow map LLRenderTarget mShadow[6]; + LLRenderTarget mShadowOcclusion[6]; std::vector<LLVector3> mShadowFrustPoints[4]; LLVector4 mShadowError; LLVector4 mShadowFOV; |