Add renderable fov to OSIRIS-REx polycam and increse precision in rendering of view frustum (fov)

This commit is contained in:
Kalle Bladin
2016-08-15 20:20:36 -04:00
parent 9d04fd5593
commit fb7104fbed
5 changed files with 118 additions and 46 deletions
@@ -549,10 +549,21 @@ void RenderableFov::render(const RenderData& data) {
_drawFOV = false;
// setup the data to the shader
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform", glm::mat4(1));
setPscUniforms(*_programObject.get(), data.camera, data.position);
//_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
//_programObject->setUniform("ModelTransform", glm::translate(glm::mat4(1), glm::vec3(data.positionVec3)) );
//setPscUniforms(*_programObject.get(), data.camera, data.position);
// Model transform and view transform needs to be in double precision
glm::dmat4 modelTransform =
glm::translate(glm::dmat4(1.0), data.positionVec3) * // Translation
glm::dmat4(data.rotation);
glm::mat4 modelViewProjectionTransform =
data.camera.projectionMatrix() *
glm::mat4(data.camera.combinedViewMatrix() *
modelTransform);
_programObject->setUniform("modelViewProjectionTransform", modelViewProjectionTransform);
if (openspace::ImageSequencer::ref().isReady()) {
_drawFOV = ImageSequencer::ref().instrumentActive(_instrumentID);
}