diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-09-09 12:51:38 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-09-09 12:51:38 +0800 |
commit | 8a9a3dc9d760db37bb963d3e5bfadafdd94ee08d (patch) | |
tree | 22f2533527d63df3736c638c4b9c7a8059ecb4ec /indra/newview/pipeline.h | |
parent | 50fb526c1011d0dd623e312ff70365e32a6d50a7 (diff) | |
parent | 12743eca6958b897d7eb3f0cf791ad8ada3fc790 (diff) |
Merge branch 'main' into 2025.06
Diffstat (limited to 'indra/newview/pipeline.h')
-rw-r--r-- | indra/newview/pipeline.h | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index da9b8189e2..4bba462f78 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,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; }; @@ -729,8 +734,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; @@ -812,6 +821,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; @@ -1008,10 +1020,9 @@ 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; static S32 RenderShadowSplits; static bool RenderDeferredSSAO; static F32 RenderShadowResolutionScale; |