summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/pipeline.h')
-rw-r--r--indra/newview/pipeline.h36
1 files changed, 22 insertions, 14 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index da9b8189e2..c56e181d2d 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -125,6 +125,8 @@ public:
private:
//implementation of above, wrapped for easy error handling
eFBOStatus doAllocateScreenBuffer(U32 resX, U32 resY);
+ void renderTriangle();
+
public:
//attempt to allocate screen buffers at resX, resY
@@ -158,15 +160,17 @@ public:
void tonemap(LLRenderTarget* src, LLRenderTarget* dst);
void gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst);
void generateGlow(LLRenderTarget* src);
- void applyCAS(LLRenderTarget* src, LLRenderTarget* dst);
- void applyFXAA(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applyCAS(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applyFXAA(LLRenderTarget* src, LLRenderTarget* dst);
void generateSMAABuffers(LLRenderTarget* src);
- void applySMAA(LLRenderTarget* src, LLRenderTarget* dst);
- void renderDoF(LLRenderTarget* src, LLRenderTarget* dst);
+ bool applySMAA(LLRenderTarget* src, LLRenderTarget* dst);
+ bool renderDoF(LLRenderTarget* src, LLRenderTarget* dst);
void copyRenderTarget(LLRenderTarget* src, LLRenderTarget* dst);
void combineGlow(LLRenderTarget* src, LLRenderTarget* dst);
void visualizeBuffers(LLRenderTarget* src, LLRenderTarget* dst, U32 bufferIndex);
+ bool renderBloom(LLRenderTarget* src, LLRenderTarget* dst);
+
void init();
void cleanup();
bool isInit() { return mInitialized; };
@@ -228,12 +232,12 @@ public:
LLViewerObject* lineSegmentIntersectInHUD(const LLVector4a& start, const LLVector4a& end,
- bool pick_transparent,
- S32* face_hit, // return the face hit
- LLVector4a* intersection = NULL, // return the intersection point
- LLVector2* tex_coord = NULL, // return the texture coordinates of the intersection point
- LLVector4a* normal = NULL, // return the surface normal at the intersection point
- LLVector4a* tangent = NULL // return the surface tangent at the intersection point
+ bool pick_transparent,
+ S32* face_hit, // return the face hit
+ LLVector4a* intersection = NULL, // return the intersection point
+ LLVector2* tex_coord = NULL, // return the texture coordinates of the intersection point
+ LLVector4a* normal = NULL, // return the surface normal at the intersection point
+ LLVector4a* tangent = NULL // return the surface tangent at the intersection point
);
// Something about these textures has changed. Dirty them.
@@ -729,8 +733,12 @@ public:
LLRenderTarget mExposureMap;
LLRenderTarget mLastExposure;
+ LLRenderTarget mBloomMap;
+ LLRenderTarget mBloomBlur[2];
+
// tonemapped and gamma corrected render ready for post
- LLRenderTarget mPostMap;
+ //LLRenderTarget mPostMap;
+ LLRenderTarget mPostMaps[2];
// FXAA helper target
LLRenderTarget mFXAAMap;
@@ -835,8 +843,8 @@ protected:
{
Light(LLDrawable* ptr, F32 d, F32 f = 0.0f)
: drawable(ptr),
- dist(d),
- fade(f)
+ dist(d),
+ fade(f)
{}
LLPointer<LLDrawable> drawable;
F32 dist;
@@ -1008,7 +1016,7 @@ public:
static bool RenderDeferred;
static F32 RenderDeferredSunWash;
static U32 RenderFSAAType;
- static U32 RenderResolutionDivisor;
+ static F32 RenderResolutionDivisor;
static bool RenderUIBuffer;
static S32 RenderShadowDetail;
static S32 MPRenderShadowOpti;