Issue/1223 (#1358)

This commit is contained in:
Jonathas Costa
2020-11-04 06:59:42 -05:00
committed by GitHub
parent cc7c0092a3
commit db4f16f75f
5 changed files with 11 additions and 15 deletions
@@ -137,11 +137,10 @@ glm::vec3 SceneGraphLightSource::directionViewSpace(const RenderData& renderData
const glm::dvec3 renderNodePosition = renderData.modelTransform.translation;
const glm::dvec3 lightDirectionViewSpace = renderData.camera.viewRotationMatrix() *
glm::dvec4((lightPosition - renderNodePosition), 1.0);
const glm::dvec3 viewSpace = glm::dvec3(renderData.camera.combinedViewMatrix() *
glm::dvec4((lightPosition - renderNodePosition), 1.0));
return glm::normalize(lightDirectionViewSpace);
return glm::normalize(viewSpace);
}
} // namespace openspace
+4 -6
View File
@@ -48,7 +48,7 @@ namespace {
constexpr const std::array<const char*, 12> UniformNames = {
"opacity", "nLightSources", "lightDirectionsViewSpace", "lightIntensities",
"modelViewTransform", "crippedModelViewTransform", "projectionTransform",
"modelViewTransform", "normalTransform", "projectionTransform",
"performShading", "texture1", "ambientIntensity", "diffuseIntensity",
"specularIntensity"
};
@@ -369,13 +369,11 @@ void RenderableModel::render(const RenderData& data, RendererTasks&) {
glm::mat4(modelViewTransform)
);
glm::dmat4 crippedModelViewTransform = glm::transpose(glm::inverse(
glm::dmat4(glm::inverse(data.camera.sgctInternal.viewMatrix())) * modelViewTransform
));
glm::dmat4 normalTransform = glm::transpose(glm::inverse(modelViewTransform));
_program->setUniform(
_uniformCache.crippedModelViewTransform,
glm::mat4(crippedModelViewTransform)
_uniformCache.normalTransform,
glm::mat4(normalTransform)
);
_program->setUniform(
+1 -1
View File
@@ -81,7 +81,7 @@ private:
ghoul::opengl::ProgramObject* _program = nullptr;
UniformCache(opacity, nLightSources, lightDirectionsViewSpace, lightIntensities,
modelViewTransform, crippedModelViewTransform, projectionTransform,
modelViewTransform, normalTransform, projectionTransform,
performShading, texture, ambientIntensity, diffuseIntensity,
specularIntensity) _uniformCache;
+1 -1
View File
@@ -92,4 +92,4 @@ Fragment getFragment() {
return frag;
}
}
+2 -3
View File
@@ -37,7 +37,7 @@ out vec4 vs_positionCameraSpace;
uniform mat4 modelViewTransform;
uniform mat4 projectionTransform;
uniform mat4 crippedModelViewTransform;
uniform mat4 normalTransform;
void main() {
vs_positionCameraSpace = modelViewTransform * in_position;
@@ -48,6 +48,5 @@ void main() {
vs_st = in_st;
vs_screenSpaceDepth = positionScreenSpace.w;
//vs_normalViewSpace = normalize(transpose(inverse(mat3(crippedModelViewTransform))) * in_normal);
vs_normalViewSpace = normalize(mat3(crippedModelViewTransform) * in_normal);
vs_normalViewSpace = normalize(mat3(normalTransform) * in_normal);
}