diff options
| author | Oz Linden <oz@lindenlab.com> | 2013-07-16 11:50:03 -0400 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2013-07-16 11:50:03 -0400 |
| commit | cf33a9a7b31b19d0f87e11997aaba938a8ee950d (patch) | |
| tree | f64996ebb904ec562447be92b2e5273b9261d41c /indra/newview/pipeline.h | |
| parent | 1108cd0e5c052176f9dacc69b04d702a06b744de (diff) | |
| parent | e12b6caaa0596eae2fad43636663dd4e14a1949c (diff) | |
merge changes for storm-1951
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 2c023a6f70..70dcf80407 100755 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -176,6 +176,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); @@ -275,7 +281,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); @@ -603,6 +609,7 @@ public: LLRenderTarget mFXAABuffer; LLRenderTarget mEdgeMap; LLRenderTarget mDeferredDepth; + LLRenderTarget mOcclusionDepth; LLRenderTarget mDeferredLight; LLRenderTarget mHighlight; LLRenderTarget mPhysicsDisplay; @@ -615,6 +622,7 @@ public: //sun shadow map LLRenderTarget mShadow[6]; + LLRenderTarget mShadowOcclusion[6]; std::vector<LLVector3> mShadowFrustPoints[4]; LLVector4 mShadowError; LLVector4 mShadowFOV; |
