diff options
Diffstat (limited to 'indra/newview/pipeline.h')
| -rw-r--r-- | indra/newview/pipeline.h | 34 | 
1 files changed, 26 insertions, 8 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index dff0af46e2..41e428fce9 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -125,11 +125,14 @@ 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      //returns true if allocation successful, false otherwise -    bool allocateScreenBufferInternal(U32 resX, U32 resY); +    //type 0 = screen, 1 = probe, 2 = mirror +    bool allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_ = 0);      bool allocateShadowBuffer(U32 resX, U32 resY);      // rebuild all LLVOVolume render batches @@ -158,15 +161,18 @@ public:      void tonemap(LLRenderTarget* src, LLRenderTarget* dst, bool gamma_correct);      void gammaCorrect(LLRenderTarget* src, LLRenderTarget* dst);      void generateGlow(LLRenderTarget* src); -    void applyCAS(LLRenderTarget* src, LLRenderTarget* dst); -    void applyFXAA(LLRenderTarget* src, LLRenderTarget* dst); -    void generateSMAABuffers(LLRenderTarget* src); -    void applySMAA(LLRenderTarget* src, LLRenderTarget* dst); -    void renderDoF(LLRenderTarget* src, LLRenderTarget* dst); +    bool applyCAS(LLRenderTarget* src, LLRenderTarget* dst); +    bool generateFXAABuffer(LLRenderTarget* src); +    bool applyFXAA(LLRenderTarget* src, LLRenderTarget* dst); +    bool generateSMAABuffers(LLRenderTarget* src); +    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; }; @@ -308,6 +314,7 @@ public:      void renderGeomDeferred(LLCamera& camera, bool do_occlusion = false);      void renderGeomPostDeferred(LLCamera& camera); +    void renderGeomPostDeferredOnlyHud(LLCamera& camera);      void renderGeomShadow(LLCamera& camera);      void bindLightFunc(LLGLSLShader& shader); @@ -702,7 +709,7 @@ public:          LLRenderTarget          shadow[4];      }; -    // main full resoltuion render target +    // main full resolution render target      RenderTargetPack mMainRT;      // auxillary 512x512 render target pack @@ -729,14 +736,22 @@ public:      LLRenderTarget          mExposureMap;      LLRenderTarget          mLastExposure; +    LLRenderTarget          mBloomMap; +    LLRenderTarget          mBloomBlur[2]; +      // tonemapped and gamma corrected render ready for post +/*      LLRenderTarget          mPostPingMap;      LLRenderTarget          mPostPongMap; +*/ +    LLRenderTarget          mPostMaps[2];      // FXAA helper target      LLRenderTarget          mFXAAMap;      LLRenderTarget          mSMAABlendBuffer; +    //LLRenderTarget          mDummyRT; +      // render ui to buffer target      LLRenderTarget          mUIScreen; @@ -813,6 +828,9 @@ public:      bool                    mShadersLoaded;      U32                     mTransformFeedbackPrimitives; //number of primitives expected to be generated by transform feedback + +    bool                    mHDRDisplay; +  protected:      bool                    mRenderTypeEnabled[NUM_RENDER_TYPES];      std::stack<std::string> mRenderTypeEnableStack; @@ -1009,7 +1027,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 RenderShadowSplits;  | 
