Requested changes for merging. Part I.

This commit is contained in:
Jonathas Costa
2018-04-20 19:00:00 -04:00
parent cec7d45fed
commit 64d84f3b10
4 changed files with 32 additions and 39 deletions
@@ -89,8 +89,8 @@
namespace {
const char* _loggerCat = "AtmosphereDeferredcaster";
const char* GlslDeferredcastPath =
constexpr const char* _loggerCat = "AtmosphereDeferredcaster";
constexpr const char* GlslDeferredcastPath =
"${MODULES}/atmosphere/shaders/atmosphere_deferred_fs.glsl";
constexpr const char* GlslDeferredcastFSPath =
"${MODULES}/atmosphere/shaders/atmosphere_deferred_fs.glsl";
@@ -183,8 +183,7 @@ namespace openspace {
}
void AtmosphereDeferredcaster::preRaycast(const RenderData& renderData,
const DeferredcastData&,
ghoul::opengl::ProgramObject& program)
const DeferredcastData&, ghoul::opengl::ProgramObject& program)
{
// Atmosphere Frustum Culling
glm::dvec3 tPlanetPosWorld = glm::dvec3(
@@ -257,16 +256,12 @@ namespace openspace {
// SGCT Projection to World Space
glm::dmat4 dSgctProjectionToWorldTransformMatrix(dProjectionToTmpRotTransformMatrix);
double *mSource = (double*)glm::value_ptr(dSgctProjectionToWorldTransformMatrix);
double *mSource = reinterpret_cast<double *>(glm::value_ptr(dSgctProjectionToWorldTransformMatrix));
mSource[12] += renderData.camera.eyePositionVec3().x;
mSource[13] += renderData.camera.eyePositionVec3().y;
mSource[14] += renderData.camera.eyePositionVec3().z;
/*
mSource[12] += renderData.camera.positionVec3().x;
mSource[13] += renderData.camera.positionVec3().y;
mSource[14] += renderData.camera.positionVec3().z;
*/
mSource[15] = 1.0;
@@ -311,7 +306,7 @@ namespace openspace {
std::vector<ShadowRenderingStruct> shadowDataArray;
shadowDataArray.reserve(_shadowConfArray.size());
for (const auto & shadowConf : _shadowConfArray) {
for (const ShadowConfiguration & shadowConf : _shadowConfArray) {
// TO REMEMBER: all distances and lengths in world coordinates are in
// meters!!! We need to move this to view space...
// Getting source and caster:
@@ -372,7 +367,7 @@ namespace openspace {
const std::string uniformVarName("shadowDataArray[");
unsigned int counter = 0;
for (const auto & sd : shadowDataArray) {
for (const ShadowRenderingStruct & sd : shadowDataArray) {
std::stringstream ss;
ss << uniformVarName << counter << "].isShadowing";
program.setUniform(ss.str(), sd.isShadowing);
@@ -383,9 +378,9 @@ namespace openspace {
ss.str(std::string());
ss << uniformVarName << counter << "].xu";
program.setUniform(ss.str(), sd.xu);
/*ss.str(std::string());
ss << uniformVarName << counter << "].rs";
program.setUniform(ss.str(), sd.rs);*/
// ss.str(std::string());
// ss << uniformVarName << counter << "].rs";
// program.setUniform(ss.str(), sd.rs);
ss.str(std::string());
ss << uniformVarName << counter << "].rc";
program.setUniform(ss.str(), sd.rc);
@@ -416,8 +411,7 @@ namespace openspace {
}
void AtmosphereDeferredcaster::postRaycast(const RenderData&,
const DeferredcastData&,
ghoul::opengl::ProgramObject&)
const DeferredcastData&, ghoul::opengl::ProgramObject&)
{
// Deactivate the texture units
_transmittanceTableTextureUnit.deactivate();
@@ -595,7 +589,8 @@ namespace openspace {
_transmittanceProgramObject = ghoul::opengl::ProgramObject::Build(
"transmittanceCalcProgram",
absPath("${MODULE_ATMOSPHERE}/shaders/transmittance_calc_vs.glsl"),
absPath("${MODULE_ATMOSPHERE}/shaders/transmittance_calc_fs.glsl"));
absPath("${MODULE_ATMOSPHERE}/shaders/transmittance_calc_fs.glsl")
);
}
using IgnoreError = ghoul::opengl::ProgramObject::IgnoreError;
_transmittanceProgramObject->setIgnoreSubroutineUniformLocationError(
@@ -1060,10 +1055,10 @@ namespace openspace {
step3DTexture(_deltaJProgramObject, layer);
renderQuadForCalc(quadCalcVAO, vertexSize);
}
std::stringstream sst;
if (_saveCalculationTextures) {
sst << "deltaJ_texture-scattering_order-" << scatteringOrder << ".ppm";
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0, sst.str(),
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0,
fmt::format("deltaJ_texture-scattering_order-{}.ppm",
scatteringOrder),
_mu_s_samples * _nu_samples, _mu_samples);
}
_deltaJProgramObject->deactivate();
@@ -1111,9 +1106,9 @@ namespace openspace {
loadAtmosphereDataIntoShaderProgram(_irradianceSupTermsProgramObject);
renderQuadForCalc(quadCalcVAO, vertexSize);
if (_saveCalculationTextures) {
sst.str(std::string());
sst << "deltaE_texture-scattering_order-" << scatteringOrder << ".ppm";
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0, sst.str(),
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0,
fmt::format("deltaE_texture-scattering_order-{}.ppm",
scatteringOrder),
_delta_e_table_width, _delta_e_table_height);
}
_irradianceSupTermsProgramObject->deactivate();
@@ -1146,11 +1141,9 @@ namespace openspace {
renderQuadForCalc(quadCalcVAO, vertexSize);
}
if (_saveCalculationTextures) {
sst.str(std::string());
sst << "deltaS_texture-scattering_order-" << scatteringOrder << ".ppm";
saveTextureToPPMFile(
GL_COLOR_ATTACHMENT0,
sst.str(),
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0,
fmt::format("deltaS_texture-scattering_order-{}.ppm",
scatteringOrder),
_mu_s_samples * _nu_samples,
_mu_samples
);
@@ -1180,9 +1173,9 @@ namespace openspace {
loadAtmosphereDataIntoShaderProgram(_irradianceFinalProgramObject);
renderQuadForCalc(quadCalcVAO, vertexSize);
if (_saveCalculationTextures) {
sst.str(std::string());
sst << "irradianceTable_order-" << scatteringOrder << ".ppm";
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0, sst.str(),
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0,
fmt::format("irradianceTable_order-{}.ppm",
scatteringOrder),
_delta_e_table_width, _delta_e_table_height);
}
_irradianceFinalProgramObject->deactivate();
@@ -1209,9 +1202,9 @@ namespace openspace {
renderQuadForCalc(quadCalcVAO, vertexSize);
}
if (_saveCalculationTextures) {
sst.str(std::string());
sst << "inscatteringTable_order-" << scatteringOrder << ".ppm";
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0, sst.str(),
saveTextureToPPMFile(GL_COLOR_ATTACHMENT0,
fmt::format("inscatteringTable_order-{}.ppm",
scatteringOrder),
_mu_s_samples * _nu_samples, _mu_samples);
}
_deltaSSupTermsProgramObject->deactivate();
+2 -2
View File
@@ -691,8 +691,8 @@ bool RenderableStars::readSpeckFile() {
break;
}
}
minLumValue = values[4] < minLumValue ? values[4] : minLumValue;
maxLumValue = values[4] > maxLumValue ? values[4] : maxLumValue;
minLumValue = std::min(values[4], minLumValue);
maxLumValue = std::max(values[4], minLumValue);
if (!nullArray) {
_fullData.insert(_fullData.end(), values.begin(), values.end());
}
@@ -575,7 +575,7 @@ void RenderablePlanetProjection::render(const RenderData& data, RendererTasks&)
_projectionComponent.generateMipMap();
}
_camScaling = glm::vec2(1, 0); // Unit scaling
_camScaling = glm::vec2(1.f, 0.f); // Unit scaling
_up = data.camera.lookUpVectorCameraSpace();
if (_capture && _projectionComponent.doesPerformProjection()) {
+1 -1
View File
@@ -187,7 +187,7 @@ void Renderable::setPscUniforms(ghoul::opengl::ProgramObject& program,
program.setUniform("campos", camera.position().vec4());
program.setUniform("objpos", position.vec4());
program.setUniform("camrot", glm::mat4(camera.viewRotationMatrix()));
program.setUniform("scaling", glm::vec2(1, 0));
program.setUniform("scaling", glm::vec2(1.f, 0.f));
}
Renderable::RenderBin Renderable::renderBin() const {