commit
2cee3e6ef4
|
|
@ -38,7 +38,13 @@ VARYING vec2 screenpos;
|
|||
void main()
|
||||
{
|
||||
//transform vertex
|
||||
gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);
|
||||
vec4 pos = modelview_projection_matrix * vec4(position, 1.0);
|
||||
|
||||
// bias z to fix SL-9806 and get stars to depth test against clouds
|
||||
pos.z += 0.001f;
|
||||
|
||||
gl_Position = pos;
|
||||
|
||||
float t = mod(time, 1.25f);
|
||||
screenpos = position.xy * vec2(t, t);
|
||||
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
|
||||
|
|
|
|||
|
|
@ -325,6 +325,8 @@ void LLDrawPoolWLSky::renderStarsDeferred(void) const
|
|||
{
|
||||
LLGLSPipelineSkyBox gls_sky;
|
||||
LLGLEnable blend(GL_BLEND);
|
||||
LLGLDepthTest depth_test(GL_TRUE, GL_FALSE, GL_LESS);
|
||||
|
||||
gGL.setSceneBlendType(LLRender::BT_ADD_WITH_ALPHA);
|
||||
|
||||
F32 star_alpha = LLEnvironment::instance().getCurrentSky()->getStarBrightness() / 500.0f;
|
||||
|
|
@ -386,6 +388,7 @@ void LLDrawPoolWLSky::renderSkyClouds(const LLVector3& camPosLocal, F32 camHeigh
|
|||
{
|
||||
if (gPipeline.canUseWindLightShaders() && gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_CLOUDS) && gSky.mVOSkyp->getCloudNoiseTex())
|
||||
{
|
||||
LLGLDepthTest depth(GL_TRUE, GL_TRUE);
|
||||
LLGLEnable blend(GL_BLEND);
|
||||
gGL.setSceneBlendType(LLRender::BT_ALPHA);
|
||||
|
||||
|
|
@ -549,22 +552,21 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)
|
|||
if (gPipeline.canUseWindLightShaders())
|
||||
{
|
||||
{
|
||||
// Disable depth-writes for sky, but re-enable depth writes for the cloud
|
||||
// rendering below so the cloud shader can write out depth for the stars to test against
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
|
||||
if (gPipeline.useAdvancedAtmospherics())
|
||||
{
|
||||
//LLGLSquashToFarClip far_clip(get_current_projection());
|
||||
renderSkyHazeDeferred(origin, camHeightLocal);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Disable depth-test for sky, but re-enable depth writes for the cloud
|
||||
// rendering below so the cloud shader can write out depth for the stars to test against
|
||||
renderSkyHaze(origin, camHeightLocal);
|
||||
|
||||
renderSkyHaze(origin, camHeightLocal);
|
||||
}
|
||||
renderHeavenlyBodies();
|
||||
}
|
||||
|
||||
renderSkyClouds(origin, camHeightLocal);
|
||||
}
|
||||
gGL.setColorMask(true, true);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,9 @@ void LLVOWLSky::drawDome(void)
|
|||
updateGeometry(mDrawable);
|
||||
}
|
||||
|
||||
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
|
||||
// This is handled upstream now as we may make different decisions
|
||||
// for some dome users (the sky) than for others (the clouds)
|
||||
//LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
|
||||
|
||||
const U32 data_mask = LLDrawPoolWLSky::SKY_VERTEX_DATA_MASK;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue