From cd0fd8fb5cf961251fce791c7b6ed7d79aeb1177 Mon Sep 17 00:00:00 2001 From: Kalle Bladin Date: Thu, 18 Aug 2016 20:47:05 -0400 Subject: [PATCH] Update Rosetta scene to render correctly with new scene graph structure. --- data/scene/rosetta/67P/67P.mod | 40 ++++++- data/scene/rosetta/rosetta/rosetta.mod | 113 +++++++++--------- .../newhorizons/rendering/renderablefov.cpp | 3 +- .../rendering/renderablemodelprojection.cpp | 2 +- .../shaders/renderableModel_vs.glsl | 2 +- 5 files changed, 100 insertions(+), 60 deletions(-) diff --git a/data/scene/rosetta/67P/67P.mod b/data/scene/rosetta/67P/67P.mod index a6ec406f4c..331ae98d44 100644 --- a/data/scene/rosetta/67P/67P.mod +++ b/data/scene/rosetta/67P/67P.mod @@ -67,7 +67,7 @@ return { Far = 1000000, }, }, - + --[[ Ephemeris = { Type = "Spice", Body = "CHURYUMOV-GERASIMENKO", @@ -98,7 +98,43 @@ return { } }, - GuiName = "/Solar/67P" + ]] + Transform = { + Translation = { + Type = "SpiceEphemeris", + Body = "CHURYUMOV-GERASIMENKO", + Reference = "GALACTIC", + Observer = "SUN", + Kernels = { + --needed + "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp", + -- SPK + --long term orbits loaded first + '${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/LORL_DL_009_02____P__00268.BSP', + '${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/RORL_DL_009_02____P__00268.BSP', + '${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/CORL_DL_009_02____P__00268.BSP', + + '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP', + '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP', + '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP', + + --Jan 2014 - May 2015 (version match with 00162 ck files) + "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP", + "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP", + "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP", + + "${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/CORB_DV_211_01_______00288.BSP", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/RORB_DV_211_01_______00288.BSP", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/SPK/LORB_DV_211_01_______00288.BSP", + } + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "67P/C-G_CK", + DestinationFrame = "GALACTIC", + }, + }, + GuiName = "/Solar/67P", }, -- 67P Trail Module { diff --git a/data/scene/rosetta/rosetta/rosetta.mod b/data/scene/rosetta/rosetta/rosetta.mod index ffa62ab21c..6d6b4f88ae 100644 --- a/data/scene/rosetta/rosetta/rosetta.mod +++ b/data/scene/rosetta/rosetta/rosetta.mod @@ -20,65 +20,72 @@ return { Destination = "J2000" }, }, - Ephemeris = { - Type = "Spice", - Body = "ROSETTA", - Reference = "GALACTIC", - Observer = "SUN", - Kernels = { - --needed - "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp", - -- SPK - --long term orbits loaded first - -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP', - -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP', - -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP', + Transform = { + Translation = { + Type = "SpiceEphemeris", + Body = "ROSETTA", + Reference = "GALACTIC", + Observer = "SUN", + Kernels = { + --needed + "${OPENSPACE_DATA}/spice/de430_1850-2150.bsp", + -- SPK + --long term orbits loaded first + -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP', + -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP', + -- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP', - --Jan 2014 - May 2015 (version match with 00162 ck files) - -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP", - -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP", - -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP", + --Jan 2014 - May 2015 (version match with 00162 ck files) + -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP", + -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP", + -- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP", - --IK - "${OPENSPACE_DATA}/spice/RosettaKernels_New/IK/ROS_NAVCAM_V01.TI", - "${OPENSPACE_DATA}/spice/RosettaKernels/IK/ROS_NAVCAM_V00-20130102.TI", + --IK + "${OPENSPACE_DATA}/spice/RosettaKernels_New/IK/ROS_NAVCAM_V01.TI", + "${OPENSPACE_DATA}/spice/RosettaKernels/IK/ROS_NAVCAM_V00-20130102.TI", - --SCLK - -- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC", + --SCLK + -- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC", - -- FK - -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_CHURYUMOV_V01.TF", - -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF", + -- FK + -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_CHURYUMOV_V01.TF", + -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF", - -- CK - -- '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC', - -- "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC", + -- CK + -- '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC', + -- "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC", - --SCLK - -- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC", - "${OPENSPACE_DATA}/spice/RosettaKernels_New/SCLK/ROS_160425_STEP.TSC", - - -- FK + --SCLK + -- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/SCLK/ROS_160425_STEP.TSC", + + -- FK - "${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_CHURYUMOV_V01.TF", - "${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_V26.TF", - -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF", - -- CK - "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/RATT_DV_211_01_01____00288.BC", - "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/CATT_DV_211_01_______00288.BC", - '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC', - "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_CHURYUMOV_V01.TF", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_V26.TF", + -- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF", + -- CK + "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/RATT_DV_211_01_01____00288.BC", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/CATT_DV_211_01_______00288.BC", + '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC', + "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC", - -- PCK - "${OPENSPACE_DATA}/spice/RosettaKernels_New/PCK/ROS_CGS_RSOC_V03.TPC", - -- "${OPENSPACE_DATA}/spice/RosettaKernels/PCK/ROS_CGS_RSOC_V03.TPC", - + -- PCK + "${OPENSPACE_DATA}/spice/RosettaKernels_New/PCK/ROS_CGS_RSOC_V03.TPC", + -- "${OPENSPACE_DATA}/spice/RosettaKernels/PCK/ROS_CGS_RSOC_V03.TPC", + - "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2014_V0047.BC", - "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2015_V0042.BC", - "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2016_V0019.BC", - } + "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2014_V0047.BC", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2015_V0042.BC", + "${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2016_V0019.BC", + } + }, + Rotation = { + Type = "SpiceRotation", + SourceFrame = "ROS_SPACECRAFT", + DestinationFrame = "GALACTIC", + }, }, GuiName = "/Solar/Rosetta" }, @@ -153,7 +160,7 @@ return { -- Latest image taken by NAVCAM { Name = "ImagePlaneRosetta", - Parent = "Rosetta", + Parent = "67P", Renderable = { Type = "RenderablePlaneProjection", Frame = "67P/C-G_CK", @@ -162,10 +169,6 @@ return { Instrument = "ROS_NAVCAM-A", Moving = false, Texture = "textures/defaultProj.png", - }, - Ephemeris = { - Type = "Static", - Position = {0, 0, 0, 1} - }, + } } } diff --git a/modules/newhorizons/rendering/renderablefov.cpp b/modules/newhorizons/rendering/renderablefov.cpp index cb11fcc4d5..312fecfbf0 100644 --- a/modules/newhorizons/rendering/renderablefov.cpp +++ b/modules/newhorizons/rendering/renderablefov.cpp @@ -559,9 +559,10 @@ void RenderableFov::render(const RenderData& data) { // setup the data to the shader // Model transform and view transform needs to be in double precision glm::dmat4 modelTransform = - glm::translate(glm::dmat4(1.0), data.modelTransform.translation) * // Translation + glm::translate(glm::dmat4(1.0), data.modelTransform.translation); /* * // Translation glm::dmat4(data.modelTransform.rotation) * glm::scale(glm::dmat4(1.0), glm::dvec3(data.modelTransform.scale)); + */ glm::mat4 modelViewProjectionTransform = data.camera.projectionMatrix() * glm::mat4(data.camera.combinedViewMatrix() * diff --git a/modules/newhorizons/rendering/renderablemodelprojection.cpp b/modules/newhorizons/rendering/renderablemodelprojection.cpp index 09a8331dc3..94d2a58909 100644 --- a/modules/newhorizons/rendering/renderablemodelprojection.cpp +++ b/modules/newhorizons/rendering/renderablemodelprojection.cpp @@ -321,7 +321,7 @@ void RenderableModelProjection::attitudeParameters(double time) { time, lightTime); psc position = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z); - position[3] += (3 + _camScaling[1]); + position[3] += (3 + _camScaling[1]) + 1; glm::vec3 cpos = position.vec3(); _projectorMatrix = _projectionComponent.computeProjectorMatrix( diff --git a/modules/newhorizons/shaders/renderableModel_vs.glsl b/modules/newhorizons/shaders/renderableModel_vs.glsl index 597746488e..02e5a2831d 100644 --- a/modules/newhorizons/shaders/renderableModel_vs.glsl +++ b/modules/newhorizons/shaders/renderableModel_vs.glsl @@ -45,7 +45,7 @@ out vec4 vs_positionCameraSpace; void main() { - vec4 position = in_position; + vec4 position = in_position; // Position already in homogenous coordinates position.xyz *= pow(10, _magnification); vs_positionCameraSpace = modelViewTransform * position; vec4 positionClipSpace = projectionTransform * vs_positionCameraSpace;