Fix for preview targets not rendering correctly
parent
9dc5c99c57
commit
a2db442dea
|
|
@ -9767,7 +9767,7 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>1024</integer>
|
||||
<integer>2048</integer>
|
||||
</map>
|
||||
<key>PreviewAmbientColor</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -190,8 +190,10 @@ bool LLViewerDynamicTexture::updateAllInstances()
|
|||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
LLRenderTarget& preview_target = gPipeline.mAuxillaryRT.deferredScreen;
|
||||
// <FS:Beq> Add dedicated preview target
|
||||
// LLRenderTarget& preview_target = gPipeline.mAuxillaryRT.deferredScreen;
|
||||
LLRenderTarget& preview_target = gPipeline.mPreviewScreen;
|
||||
// </FS:Beq>
|
||||
LLRenderTarget& bake_target = gPipeline.mBakeMap;
|
||||
if (!preview_target.isComplete() || !bake_target.isComplete())
|
||||
{
|
||||
|
|
@ -199,7 +201,7 @@ bool LLViewerDynamicTexture::updateAllInstances()
|
|||
return false;
|
||||
}
|
||||
llassert(preview_target.getWidth() >= LLPipeline::MAX_PREVIEW_WIDTH);
|
||||
llassert(preview_target.getHeight() >= LLPipeline::MAX_PREVIEW_WIDTH);
|
||||
llassert(preview_target.getHeight() >= LLPipeline::MAX_PREVIEW_HEIGHT); // <FS:Beq/> make this consistent with other render targets
|
||||
llassert(bake_target.getWidth() >= (U32) LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH);
|
||||
llassert(bake_target.getHeight() >= (U32) LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT);
|
||||
|
||||
|
|
|
|||
|
|
@ -235,7 +235,9 @@ S32 LLPipeline::RenderHeroProbeUpdateRate;
|
|||
S32 LLPipeline::RenderHeroProbeConservativeUpdateMultiplier;
|
||||
LLTrace::EventStatHandle<S64> LLPipeline::sStatBatchSize("renderbatchsize");
|
||||
|
||||
const U32 LLPipeline::MAX_PREVIEW_WIDTH = 512;
|
||||
// const U32 LLPipeline::MAX_PREVIEW_WIDTH = 512;
|
||||
constexpr U32 LLPipeline::MAX_PREVIEW_WIDTH = 2048;
|
||||
constexpr U32 LLPipeline::MAX_PREVIEW_HEIGHT = 2048;
|
||||
|
||||
const F32 BACKLIGHT_DAY_MAGNITUDE_OBJECT = 0.1f;
|
||||
const F32 BACKLIGHT_NIGHT_MAGNITUDE_OBJECT = 0.08f;
|
||||
|
|
@ -999,6 +1001,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY)
|
|||
// See LLViwerTextureList::updateImagesCreateTextures and LLImageGL::scaleDown
|
||||
mDownResMap.allocate(1024, 1024, GL_RGBA);
|
||||
|
||||
mPreviewScreen.allocate(MAX_PREVIEW_WIDTH, MAX_PREVIEW_HEIGHT, GL_RGBA); // <FS:Beq/> create an independent preview screen target
|
||||
mBakeMap.allocate(LLAvatarAppearanceDefines::SCRATCH_TEX_WIDTH, LLAvatarAppearanceDefines::SCRATCH_TEX_HEIGHT, GL_RGBA);
|
||||
}
|
||||
//HACK make screenbuffer allocations start failing after 30 seconds
|
||||
|
|
@ -1326,6 +1329,8 @@ void LLPipeline::releaseScreenBuffers()
|
|||
mHeroProbeRT.screen.release();
|
||||
mHeroProbeRT.deferredScreen.release();
|
||||
mHeroProbeRT.deferredLight.release();
|
||||
|
||||
mPreviewScreen.release(); // <FS:Beq/> dedicated preview target
|
||||
}
|
||||
|
||||
void LLPipeline::releaseSunShadowTarget(U32 index)
|
||||
|
|
|
|||
|
|
@ -717,6 +717,11 @@ public:
|
|||
// auxillary 512x512 render target pack
|
||||
// used by reflection probes and dynamic texture bakes
|
||||
RenderTargetPack mAuxillaryRT;
|
||||
// <FS:Beq> Fix the build floater preview window
|
||||
// dedicated 2048x2048 render target for preview
|
||||
// used by preview window dynamic textures
|
||||
LLRenderTarget mPreviewScreen;
|
||||
// </FS:Beq>
|
||||
|
||||
// Auxillary render target pack scaled to the hero probe's per-face size.
|
||||
RenderTargetPack mHeroProbeRT;
|
||||
|
|
@ -793,6 +798,7 @@ public:
|
|||
LLRenderTarget mWaterDis;
|
||||
|
||||
static const U32 MAX_PREVIEW_WIDTH;
|
||||
static const U32 MAX_PREVIEW_HEIGHT; // <FS:Beq/> dedicated render target for previews
|
||||
|
||||
//texture for making the glow
|
||||
LLRenderTarget mGlow[3];
|
||||
|
|
|
|||
Loading…
Reference in New Issue