wire up sunlocation from keylight direction

This commit is contained in:
ZappoMan 2015-05-04 15:20:16 -07:00
parent 741323e6c1
commit 403ed6d77b
2 changed files with 10 additions and 4 deletions

View file

@ -429,7 +429,12 @@ void EntityTreeRenderer::render(RenderArgs::RenderMode renderMode,
scene->setStageYearTime(_bestZone->getStageDay());
if (_bestZone->getSkyboxMode() == SKYBOX_MODE_ATMOSPHERE) {
_viewState->overrideEnvironmentData(_bestZone->getEnvironmentData());
EnvironmentData data = _bestZone->getEnvironmentData();
glm::vec3 keyLightDirection = scene->getKeyLightDirection();
glm::vec3 inverseKeyLightDirection = keyLightDirection * -1.0f;
glm::vec3 keyLightLocation = _viewState->getAvatarPosition() + (inverseKeyLightDirection * data.getAtmosphereOuterRadius());
data.setSunLocation(keyLightLocation);
_viewState->overrideEnvironmentData(data);
}
} else {
if (_hasPreviousZone) {

View file

@ -78,9 +78,10 @@ EnvironmentData ZoneEntityItem::getEnvironmentData() const {
result.setScatteringWavelengths(_atmospherePropeties.getScatteringWavelengths());
result.setHasStars(_atmospherePropeties.getHasStars());
// defaults for now...
result.setSunLocation(glm::vec3(1000, 900, 1000));
result.setSunBrightness(20.0f);
// NOTE: The sunLocation and SunBrightness will be overwritten in the EntityTreeRenderer to use the
// keyLight details from the scene interface
//result.setSunLocation(1000, 900, 1000));
//result.setSunBrightness(20.0f);
return result;
}