Skip to content
Snippets Groups Projects
Commit ab02a6df authored by Ptolemy's avatar Ptolemy
Browse files

SL-14706 Merge Sovereign Engineer's fix for stars not centered around camera:...

SL-14706 Merge Sovereign Engineer's fix for stars not centered around camera: Stars render around center of sim instead of center of camera.
parent 4ae7c00d
No related branches found
No related tags found
No related merge requests found
......@@ -1355,6 +1355,7 @@ Sovereign Engineer
OPEN-343
SL-11625
SL-14705
SL-14706
SL-14707
SpacedOut Frye
VWR-34
......
......@@ -226,7 +226,7 @@ void LLDrawPoolWLSky::renderSkyHaze(const LLVector3& camPosLocal, F32 camHeightL
}
}
void LLDrawPoolWLSky::renderStars(void) const
void LLDrawPoolWLSky::renderStars(const LLVector3& camPosLocal) const
{
LLGLSPipelineBlendSkyBox gls_skybox(true, false);
......@@ -266,6 +266,7 @@ void LLDrawPoolWLSky::renderStars(void) const
}
gGL.pushMatrix();
gGL.translatef(camPosLocal.mV[0], camPosLocal.mV[1], camPosLocal.mV[2]);
gGL.rotatef(gFrameTimeSeconds*0.01f, 0.f, 0.f, 1.f);
if (LLGLSLShader::sNoFixedFunction)
{
......@@ -296,7 +297,7 @@ void LLDrawPoolWLSky::renderStars(void) const
}
}
void LLDrawPoolWLSky::renderStarsDeferred(void) const
void LLDrawPoolWLSky::renderStarsDeferred(const LLVector3& camPosLocal) const
{
LLGLSPipelineBlendSkyBox gls_sky(true, false);
......@@ -337,6 +338,8 @@ void LLDrawPoolWLSky::renderStarsDeferred(void) const
gGL.getTexUnit(1)->bind(tex_b);
}
gGL.pushMatrix();
gGL.translatef(camPosLocal.mV[0], camPosLocal.mV[1], camPosLocal.mV[2]);
gDeferredStarProgram.uniform1f(LLShaderMgr::BLEND_FACTOR, blend_factor);
if (LLPipeline::sReflectionRender)
......@@ -355,6 +358,8 @@ void LLDrawPoolWLSky::renderStarsDeferred(void) const
gGL.getTexUnit(1)->unbind(LLTexUnit::TT_TEXTURE);
gDeferredStarProgram.unbind();
gGL.popMatrix();
}
void LLDrawPoolWLSky::renderSkyCloudsDeferred(const LLVector3& camPosLocal, F32 camHeightLocal, LLGLSLShader* cloudshader) const
......@@ -601,7 +606,7 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)
if (gPipeline.canUseWindLightShaders())
{
renderSkyHazeDeferred(origin, camHeightLocal);
renderStarsDeferred();
renderStarsDeferred(origin);
renderHeavenlyBodies();
renderSkyCloudsDeferred(origin, camHeightLocal, cloud_shader);
}
......@@ -620,7 +625,7 @@ void LLDrawPoolWLSky::render(S32 pass)
LLVector3 const & origin = LLViewerCamera::getInstance()->getOrigin();
renderSkyHaze(origin, camHeightLocal);
renderStars();
renderStars(origin);
renderHeavenlyBodies();
renderSkyClouds(origin, camHeightLocal, cloud_shader);
......
......@@ -78,8 +78,8 @@ class LLDrawPoolWLSky : public LLDrawPool {
void renderSkyHazeDeferred(const LLVector3& camPosLocal, F32 camHeightLocal) const;
void renderSkyCloudsDeferred(const LLVector3& camPosLocal, F32 camHeightLocal, LLGLSLShader* cloudshader) const;
void renderStarsDeferred(void) const;
void renderStars(void) const;
void renderStarsDeferred(const LLVector3& camPosLocal) const;
void renderStars(const LLVector3& camPosLocal) const;
void renderHeavenlyBodies();
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment