diff --git a/data/assets/examples/globetranslation.asset b/data/assets/examples/globetranslation.asset index 1ecfbefdc2..4f400883bd 100644 --- a/data/assets/examples/globetranslation.asset +++ b/data/assets/examples/globetranslation.asset @@ -34,9 +34,9 @@ local Example_Fixed_Height = { Body = "NEW HORIZONS", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/NewHorizonsCleanModel.obj" - }, - ColorTexture = textures .. "/NHTexture.jpg", + GeometryFile = models .. "/NewHorizonsCleanModel.obj", + ColorTexture = textures .. "/NHTexture.jpg" + } }, GUI = { Path = "/Example" @@ -59,9 +59,9 @@ local Example_Adaptive_Height = { Body = "NEW HORIZONS", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/NewHorizonsCleanModel.obj" - }, - ColorTexture = textures .. "/NHTexture.jpg", + GeometryFile = models .. "/NewHorizonsCleanModel.obj", + ColorTexture = textures .. "/NHTexture.jpg" + } }, GUI = { Path = "/Example" diff --git a/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset b/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset index c65cd3c47a..8fa2acf516 100644 --- a/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset +++ b/data/assets/scene/solarsystem/missions/apollo/11/apollo11.asset @@ -58,9 +58,9 @@ local Apollo11Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_double_size.obj" + GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_double_size.obj", + ColorTexture = models .. "/gray.png" }, - ColorTexture = models .. "/gray.png", LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier) }, GUI = { @@ -177,11 +177,11 @@ local Apollo11LemDescentModel = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = lem_model.modelFolder .. "/lmremoved.obj" + GeometryFile = lem_model.modelFolder .. "/lmremoved.obj", + ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg" }, SpecularIntensity = 0.0, RotationVector = { 273.750,28.0,309.85 }, - ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg", LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier) }, GUI = { @@ -207,11 +207,11 @@ local Apollo11LemLandedModel = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj" + GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj", + ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg" }, SpecularIntensity = 0.0, RotationVector = { 273.750,28.0,309.85 }, - ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg", LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier) }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/apollo/11/lem.asset b/data/assets/scene/solarsystem/missions/apollo/11/lem.asset index 0ca61edef6..5186ed9057 100644 --- a/data/assets/scene/solarsystem/missions/apollo/11/lem.asset +++ b/data/assets/scene/solarsystem/missions/apollo/11/lem.asset @@ -38,10 +38,10 @@ local Apollo11LemModel = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj" + GeometryFile = lem_model.modelFolder .. "/LM-2_ver2clean.obj", + ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg" }, RotationVector = { 91.044090,171.229706,111.666664 }, - ColorTexture = lem_model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg", LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier) }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset b/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset index 770592ba8e..584a064313 100644 --- a/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset +++ b/data/assets/scene/solarsystem/missions/apollo/15/apollo15.asset @@ -66,9 +66,9 @@ local Apollo15 = { -- Geometry = { -- Type = "MultiModelGeometry", -- -- GeometryFile = models .. "/Apollo_Spacecraft.obj" --- GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_doubble_size.obj" +-- GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_doubble_size.obj", + -- ColorTexture = models .. "/gray.png" -- }, --- ColorTexture = models .. "/gray.png", -- LightSources = LightSources, -- DisableFaceCulling = true -- }, diff --git a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation2.asset b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation2.asset index f709f0bc2b..e14c5e7566 100644 --- a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation2.asset +++ b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation2.asset @@ -49,10 +49,10 @@ local Station2Boulder1Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/b1-v2.obj" + GeometryFile = models .. "/b1-v2.obj", + ColorTexture = models .. "/b1-v2_u1_v1.jpeg" }, RotationVector = { 243.243256 ,206.270264, 309.677429 }, - ColorTexture = models .. "/b1-v2_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true @@ -95,10 +95,10 @@ local Station2Boulder2Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/b2model.obj" + GeometryFile = models .. "/b2model.obj", + ColorTexture = models .. "/b2model_u1_v1.jpeg" }, RotationVector = { 66.162155, 7.783780, 114.193550 }, - ColorTexture = models .. "/b2model_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true @@ -141,10 +141,10 @@ local Station2Boulder3Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/b3model.obj" + GeometryFile = models .. "/b3model.obj", + ColorTexture = models .. "/b3model_u1_v1.jpeg" }, RotationVector = { 161.513519 ,243.243256, 65.806450 }, - ColorTexture = models .. "/b3model_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true diff --git a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation6.asset b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation6.asset index d013b8fea4..828c2b039b 100644 --- a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation6.asset +++ b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation6.asset @@ -60,10 +60,10 @@ local Station6Frag1Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/A17-S6-frag1.obj" + GeometryFile = models .. "/A17-S6-frag1.obj", + ColorTexture = models .. "/A17-S6-frag1.png" }, RotationVector = { 235.909088,165.000000,286.299194 }, - ColorTexture = models .. "/A17-S6-frag1.png", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true @@ -107,10 +107,10 @@ local Station6Frag2Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/station6_boulder_frag2.obj" + GeometryFile = models .. "/station6_boulder_frag2.obj", + ColorTexture = models .. "/frag2crop_u1_v1.jpeg" }, RotationVector = { 336.959991,210.239990,325.984253 }, - ColorTexture = models .. "/frag2crop_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true, @@ -142,10 +142,10 @@ local Station6Frag3Model = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/station6_boulder_frag3.obj" + GeometryFile = models .. "/station6_boulder_frag3.obj", + ColorTexture = models .. "/frag3crop_u1_v1.jpeg" }, RotationVector = { 293.181824,255.000000,4.090910 }, - ColorTexture = models .. "/frag3crop_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true diff --git a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation7.asset b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation7.asset index d2e9c5146c..6385768d1d 100644 --- a/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation7.asset +++ b/data/assets/scene/solarsystem/missions/apollo/17/bouldersstation7.asset @@ -49,10 +49,10 @@ local Station7BoulderModel = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/b7model.obj" + GeometryFile = models .. "/b7model.obj", + ColorTexture = models .. "/b7model_u1_v1.jpeg" }, RotationVector = { 1.945950,274.378387,212.903214 }, - ColorTexture = models .. "/b7model_u1_v1.jpeg", LightSources = LightSources, PerformShading = false, DisableFaceCulling = true diff --git a/data/assets/scene/solarsystem/missions/apollo/17/lem.asset b/data/assets/scene/solarsystem/missions/apollo/17/lem.asset index 50f81a1693..9c901a59a2 100644 --- a/data/assets/scene/solarsystem/missions/apollo/17/lem.asset +++ b/data/assets/scene/solarsystem/missions/apollo/17/lem.asset @@ -36,11 +36,11 @@ local Apollo17LemModel = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj" + GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj", + ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg" }, SpecularIntensity = 0.0, RotationVector = { 110.255219,171.229706,126.666664 }, - ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg", LightSources = asset_helper.getDefaultLightSources(sun_transforms.SolarSystemBarycenter.Identifier) }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn.asset b/data/assets/scene/solarsystem/missions/dawn/dawn.asset index e7fc3a3747..5fefe46052 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn.asset @@ -652,9 +652,9 @@ local Dawn = { Body = "DAWN", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/mainbodydawn.obj" + GeometryFile = models .. "/mainbodydawn.obj", + ColorTexture = textures .. "/gray.png" }, - ColorTexture = textures .. "/gray.png", LightSources = LightSources }, GUI = { @@ -684,9 +684,9 @@ local DawnSolarArray1 = { Body = "DAWN", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/solarpanelleft.obj" + GeometryFile = models .. "/solarpanelleft.obj", + ColorTexture = textures .. "/gray.png" }, - ColorTexture = textures .. "/gray.png", LightSources = LightSources }, GUI = { @@ -715,9 +715,9 @@ local DawnSolarArray2 = { Body = "DAWN", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/solarpanelright.obj" + GeometryFile = models .. "/solarpanelright.obj", + ColorTexture = textures .. "/gray.png" }, - ColorTexture = textures .. "/gray.png", LightSources = LightSources }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/dawn/vesta.asset b/data/assets/scene/solarsystem/missions/dawn/vesta.asset index 75c1ed63f1..2d555b6834 100644 --- a/data/assets/scene/solarsystem/missions/dawn/vesta.asset +++ b/data/assets/scene/solarsystem/missions/dawn/vesta.asset @@ -47,10 +47,10 @@ local Vesta = { Type = "RenderableModelProjection", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/VestaComet_5000.obj" + GeometryFile = models .. "/VestaComet_5000.obj", + ColorTexture = textures .. "/dummy.jpg" }, BoundingSphereRadius = 10.0, - ColorTexture = textures .. "/dummy.jpg", Projection = { Sequence = images, SequenceType = "image-sequence", diff --git a/data/assets/scene/solarsystem/missions/gaia/gaia.asset b/data/assets/scene/solarsystem/missions/gaia/gaia.asset index b5c6d6a18d..55de00a894 100644 --- a/data/assets/scene/solarsystem/missions/gaia/gaia.asset +++ b/data/assets/scene/solarsystem/missions/gaia/gaia.asset @@ -41,9 +41,9 @@ local Gaia = { Body = "GAIA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = model .. "/gaia.obj" + GeometryFile = model .. "/gaia.obj", + ColorTexture = textures .. "/gaia-baked.png" }, - ColorTexture = textures .. "/gaia-baked.png", LightSources = { { Type = "SceneGraphLightSource", diff --git a/data/assets/scene/solarsystem/missions/insight/edl.asset b/data/assets/scene/solarsystem/missions/insight/edl.asset index 5ede98786a..62552b57f7 100644 --- a/data/assets/scene/solarsystem/missions/insight/edl.asset +++ b/data/assets/scene/solarsystem/missions/insight/edl.asset @@ -169,9 +169,9 @@ local Insight_Entry_CapsuleA = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_cruise_cone .. "/cruise_insight_doubleside2_newcapsule_diffuse.obj" + GeometryFile = models_cruise_cone .. "/cruise_insight_doubleside2_newcapsule_diffuse.obj", + ColorTexture = models_cruise_cone .. "/insight_newcapsule_diffuse.jpg" }, - ColorTexture = models_cruise_cone .. "/insight_newcapsule_diffuse.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -194,9 +194,9 @@ local Insight_Entry_Capsule_Ring = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_cruise_cone .. "/insight_cruise_cone_ring_foil_gold.obj" + GeometryFile = models_cruise_cone .. "/insight_cruise_cone_ring_foil_gold.obj", + ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png" }, - ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -219,9 +219,9 @@ local Insight_Entry_Capsule_Plugs = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_cruise_cone .. "/insight_cruise_cone_capsule_diffuse.obj" + GeometryFile = models_cruise_cone .. "/insight_cruise_cone_capsule_diffuse.obj", + ColorTexture = models_cruise_cone .. "/insight_capsule_diffuse.png" }, - ColorTexture = models_cruise_cone .. "/insight_capsule_diffuse.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -244,9 +244,9 @@ local Insight_Entry_Heatshield = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_cruise_cone .. "/insight_cruise_heatshield_foil_gold.obj" + GeometryFile = models_cruise_cone .. "/insight_cruise_heatshield_foil_gold.obj", + ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png" }, - ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -269,9 +269,9 @@ local Insight_Parachute_0 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/insight_chute_frame01_diff1.obj" + GeometryFile = models_chutes .. "/insight_chute_frame01_diff1.obj", + ColorTexture = models_chutes .. "/chute_diff.png" }, - ColorTexture = models_chutes .. "/chute_diff.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -294,9 +294,9 @@ local Insight_Parachute_Cords_0 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/insight_chute_frame01_cords1.obj" + GeometryFile = models_chutes .. "/insight_chute_frame01_cords1.obj", + ColorTexture = models_chutes .. "/foil_gold_ramp.png" }, - ColorTexture = models_chutes .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -319,9 +319,9 @@ local Insight_Parachute_20 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/insight_chute_frame20_diff1.obj" + GeometryFile = models_chutes .. "/insight_chute_frame20_diff1.obj", + ColorTexture = models_chutes .. "/chute_diff.png" }, - ColorTexture = models_chutes .. "/chute_diff.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -344,9 +344,9 @@ local Insight_Parachute_Cords_20 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/insight_chute_frame20_cords1.obj" + GeometryFile = models_chutes .. "/insight_chute_frame20_cords1.obj", + ColorTexture = models_chutes .. "/foil_gold_ramp.png" }, - ColorTexture = models_chutes .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -369,9 +369,9 @@ local Insight_Parachute_40 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/chute_doubleside_frame40_diff.obj" + GeometryFile = models_chutes .. "/chute_doubleside_frame40_diff.obj", + ColorTexture = models_chutes .. "/chute_diff.png" }, - ColorTexture = models_chutes .. "/chute_diff.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -394,9 +394,9 @@ local Insight_Parachute_Cords_40 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_chutes .. "/insight_chute_frame40_cords1.obj" + GeometryFile = models_chutes .. "/insight_chute_frame40_cords1.obj", + ColorTexture = models_chutes .. "/foil_gold_ramp.png" }, - ColorTexture = models_chutes .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -419,9 +419,9 @@ local Insight_Lander_A001 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO01.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO01.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_01.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -444,9 +444,9 @@ local Insight_Lander_A002 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO02.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO02.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_02.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_02.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -469,9 +469,9 @@ local Insight_Lander_A003 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO03.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO03.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_03.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_03.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -494,9 +494,9 @@ local Insight_Lander_A004 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO04.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO04.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_04.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_04.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -519,9 +519,9 @@ local Insight_Lander_A005 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO05.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO05.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_05.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_05.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -544,9 +544,9 @@ local Insight_Lander_A006 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO06.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO06.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_06.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_06.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -569,9 +569,9 @@ local Insight_Lander_A007 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO07.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO07.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_07.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_07.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -594,9 +594,9 @@ local Insight_Lander_A008 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO08.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO08.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_08.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_08.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -619,9 +619,9 @@ local Insight_Lander_foil1 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_foil1.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_foil1.obj", + ColorTexture = models_lander_lander_deck .. "/foil_silver_ramp.jpg" }, - ColorTexture = models_lander_lander_deck .. "/foil_silver_ramp.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -644,9 +644,9 @@ local Insight_Lander_Tex01 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex01.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex01.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_01.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -669,9 +669,9 @@ local Insight_Lander_Tex02 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex02.obj" + GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex02.obj", + ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_02.jpg" }, - ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_02.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -694,9 +694,9 @@ local Insight_Legs_Stowed_tex = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_tex01.obj" + GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_tex01.obj", + ColorTexture = models_lander_legs_stow .. "/InSIGHT_tex_01.jpg" }, - ColorTexture = models_lander_legs_stow .. "/InSIGHT_tex_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -719,9 +719,9 @@ local Insight_Legs_Stowed_AO06 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_AO06.obj" + GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_AO06.obj", + ColorTexture = models_lander_legs_stow .. "/InSIGHT_AO_06.jpg" }, - ColorTexture = models_lander_legs_stow .. "/InSIGHT_AO_06.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -744,9 +744,9 @@ local Insight_Legs_Deployed_tex = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_tex01.obj" + GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_tex01.obj", + ColorTexture = models_lander_legs_deploy .. "/InSIGHT_tex_01.jpg" }, - ColorTexture = models_lander_legs_deploy .. "/InSIGHT_tex_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -769,9 +769,9 @@ local Insight_Legs_Deployed_AO06 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_AO06.obj" + GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_AO06.obj", + ColorTexture = models_lander_legs_deploy .. "/InSIGHT_AO_06.jpg" }, - ColorTexture = models_lander_legs_deploy .. "/InSIGHT_AO_06.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -794,9 +794,9 @@ local Insight_Panels_Stowed_tex = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex01.obj" + GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex01.obj", + ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_01.jpg" }, - ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -819,9 +819,9 @@ local Insight_Panels_Stowed_tex2 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex02.obj" + GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex02.obj", + ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_02.jpg" }, - ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_02.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -844,9 +844,9 @@ local Insight_Panels_Stowed_AO01 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_AO01.obj" + GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_AO01.obj", + ColorTexture = models_lander_panels_stow .. "/InSIGHT_AO_01.jpg" }, - ColorTexture = models_lander_panels_stow .. "/InSIGHT_AO_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -869,9 +869,9 @@ local Insight_Panels_Deployed_tex = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex01.obj" + GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex01.obj", + ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_01.jpg" }, - ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -894,9 +894,9 @@ local Insight_Panels_Deployed_tex2 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex02.obj" + GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex02.obj", + ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_02.jpg" }, - ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_02.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, @@ -919,9 +919,9 @@ local Insight_Panels_Deployed_AO06 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_AO01.obj" + GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_AO01.obj", + ColorTexture = models_lander_panels_deploy .. "/InSIGHT_AO_01.jpg" }, - ColorTexture = models_lander_panels_deploy .. "/InSIGHT_AO_01.jpg", ModelTransform = RotationMatrix, LightSources = LightSources, }, diff --git a/data/assets/scene/solarsystem/missions/juno/juno.asset b/data/assets/scene/solarsystem/missions/juno/juno.asset index 78d0296a6f..7f3d8412c3 100644 --- a/data/assets/scene/solarsystem/missions/juno/juno.asset +++ b/data/assets/scene/solarsystem/missions/juno/juno.asset @@ -159,9 +159,9 @@ local Juno = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = model .. "/Juno.obj" + GeometryFile = model .. "/Juno.obj", + ColorTexture = textures .. "/gray.png" }, - ColorTexture = textures .. "/gray.png", ModelTransform = RotationMatrix, LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier) }, diff --git a/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset index 70861f014e..f78d1f3655 100644 --- a/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset +++ b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset @@ -94,9 +94,9 @@ local MessengerProbeBlack = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MessengerProbe_black.obj" + GeometryFile = models .. "/MessengerProbe_black.obj", + ColorTexture = models .. "/Tex_black.png" }, - ColorTexture = models .. "/Tex_black.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -113,9 +113,9 @@ local MessengerProbeFoil = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MessengerProbe_foil.obj" + GeometryFile = models .. "/MessengerProbe_foil.obj", + ColorTexture = models .. "/foil_n2.png" }, - ColorTexture = models .. "/foil_n2.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -132,9 +132,9 @@ local MessengerProbeHeatShield = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MessengerProbe_heatShield.obj" + GeometryFile = models .. "/MessengerProbe_heatShield.obj", + ColorTexture = models .. "/AO_heatshield4.png" }, - ColorTexture = models .. "/AO_heatshield4.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -151,9 +151,9 @@ local MessengerProbeMetal = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MessengerProbe_metal.obj" + GeometryFile = models .. "/MessengerProbe_metal.obj", + ColorTexture = models .. "/Tex_grey.png" }, - ColorTexture = models .. "/Tex_grey.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -171,9 +171,9 @@ local MessengerProbePanels = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MessengerProbe_panels.obj" + GeometryFile = models .. "/MessengerProbe_panels.obj", + ColorTexture = models .. "/Messenger_tex.png" }, - ColorTexture = models .. "/Messenger_tex.png", ModelTransform = RotationMatrix, LightSources = LightSources }, diff --git a/data/assets/scene/solarsystem/missions/newhorizons/label.asset b/data/assets/scene/solarsystem/missions/newhorizons/label.asset index 8353a01be9..69267f9f5f 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/label.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/label.asset @@ -16,9 +16,9 @@ local Labels = { Body = "NEW HORIZONS", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/Labels.obj" + GeometryFile = models .. "/Labels.obj", + ColorTexture = textures .. "/labels.png" }, - ColorTexture = textures .. "/labels.png", AmbientIntensity = 0.8 }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/newhorizons/model.asset b/data/assets/scene/solarsystem/missions/newhorizons/model.asset index 57b6d401d8..b5b95ba870 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/model.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/model.asset @@ -24,9 +24,9 @@ local NewHorizons = { Body = "NEW HORIZONS", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/NewHorizonsCleanModel.obj" + GeometryFile = models .. "/NewHorizonsCleanModel.obj", + ColorTexture = textures .. "/NHTexture.jpg" }, - ColorTexture = textures .. "/NHTexture.jpg", AmbientIntensity = 0.0, DiffuseIntensity = 1.0, SpecularIntensity = 1.0, diff --git a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset index a935cc6fcf..c6c5856413 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset @@ -36,9 +36,9 @@ local Bennu = { Body = BENNU_BODY, Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/BennuTextured.obj" + GeometryFile = models .. "/BennuTextured.obj", + ColorTexture = textures .. "/gray.png" }, - ColorTexture = textures .. "/gray.png", Projection = { Sequence = asset.localResource('InstrumentTimes'), SequenceType = "instrument-times", diff --git a/data/assets/scene/solarsystem/missions/osirisrex/model.asset b/data/assets/scene/solarsystem/missions/osirisrex/model.asset index 30a81b344c..b383470092 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/model.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/model.asset @@ -218,9 +218,9 @@ local OsirisRex = { Body = "OSIRIS-REX", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/orx_base_resized_12_sep_2016.obj" + GeometryFile = models .. "/orx_base_resized_12_sep_2016.obj", + ColorTexture = textures .. "/osirisTex.png" }, - ColorTexture = textures .. "/osirisTex.png", LightSources = LightSources }, GUI = { @@ -248,9 +248,9 @@ local PolyCam = { Body = "OSIRIS-REX", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/orx_polycam_resized_12_sep_2016.obj" + GeometryFile = models .. "/orx_polycam_resized_12_sep_2016.obj", + ColorTexture = textures .. "/osirisTex.png" }, - ColorTexture = textures .. "/osirisTex.png", LightSources = LightSources }, GUI = { @@ -267,9 +267,9 @@ local Rexis = { Body = "OSIRIS-REX", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/orx_rexis_resized_12_sep_2016.obj" + GeometryFile = models .. "/orx_rexis_resized_12_sep_2016.obj", + ColorTexture = textures .. "/osirisTex.png" }, - ColorTexture = textures .. "/osirisTex.png", LightSources = LightSources }, Transform = { diff --git a/data/assets/scene/solarsystem/missions/perseverance/model.asset b/data/assets/scene/solarsystem/missions/perseverance/model.asset index 24c0c37d9d..95554d5a6e 100644 --- a/data/assets/scene/solarsystem/missions/perseverance/model.asset +++ b/data/assets/scene/solarsystem/missions/perseverance/model.asset @@ -63,9 +63,9 @@ local Body = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_1.obj" + GeometryFile = models .. "/MSL_BODY_new_1.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false, }, @@ -85,9 +85,9 @@ local Body_detail = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_1_new_detail.obj" + GeometryFile = models .. "/MSL_BODY_new_1_new_detail.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false, }, @@ -106,9 +106,9 @@ local Body_staticParts_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_2.obj" + GeometryFile = models .. "/MSL_BODY_new_2.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -126,9 +126,9 @@ local Body_staticParts_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_3.obj" + GeometryFile = models .. "/MSL_BODY_new_3.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -146,9 +146,9 @@ local Body_staticParts_3 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_4.obj" + GeometryFile = models .. "/MSL_BODY_new_4.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -166,9 +166,9 @@ local Body_staticParts_4 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_5.obj" + GeometryFile = models .. "/MSL_BODY_new_5.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -186,9 +186,9 @@ local Body_staticParts_5 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_BODY_new_A0.obj" + GeometryFile = models .. "/MSL_BODY_new_A0.obj", + ColorTexture = textures .. "/parts_AO.png" }, - ColorTexture = textures .. "/parts_AO.png", LightSources = LightSources, PerformShading = false }, @@ -207,9 +207,9 @@ local RA_Shoulder_AZ = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_new.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_new.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -227,9 +227,9 @@ local RA_Shoulder_AZ_detail_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_detail_1.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_detail_1.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -247,9 +247,9 @@ local RA_Shoulder_AZ_detail_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_detail_2.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_AZ_detail_2.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false }, @@ -268,9 +268,9 @@ local RA_Shoulder_EL_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_EL_1.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_EL_1.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false }, @@ -289,9 +289,9 @@ local RA_Shoulder_EL_detail_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_EL_detail_1.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_EL_detail_1.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -309,9 +309,9 @@ local RA_Shoulder_EL_detail_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_EL_detail_2.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_EL_detail_2.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -331,9 +331,9 @@ local RA_Shoulder_EL_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_SHOULDER_EL_2.obj" + GeometryFile = models .. "/MSL_RA_SHOULDER_EL_2.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -352,9 +352,9 @@ local RA_Elbow_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_ELBOW_1.obj" + GeometryFile = models .. "/MSL_RA_ELBOW_1.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false }, @@ -372,9 +372,9 @@ local RA_Elbow_detail_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_ELBOW_detail_1.obj" + GeometryFile = models .. "/MSL_RA_ELBOW_detail_1.obj", + ColorTexture = textures .. "/tex_04.png", }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -392,9 +392,9 @@ local RA_Elbow_detail_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_ELBOW_detail_2.obj" + GeometryFile = models .. "/MSL_RA_ELBOW_detail_2.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -413,9 +413,9 @@ local RA_Elbow_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_ELBOW_2.obj" + GeometryFile = models .. "/MSL_RA_ELBOW_2.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -435,9 +435,9 @@ local RA_Wrist = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_TURRET_new_1.obj" + GeometryFile = models .. "/MSL_RA_TURRET_new_1.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -455,9 +455,9 @@ local RA_Wrist_details = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_TURRET_new_1_details.obj" + GeometryFile = models .. "/MSL_RA_TURRET_new_1_details.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", LightSources = LightSources, PerformShading = false }, @@ -476,9 +476,9 @@ local RA_Turret = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_TURRET_new_2.obj" + GeometryFile = models .. "/MSL_RA_TURRET_new_2.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -497,9 +497,9 @@ local RA_Turret_details_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_TURRET_new_2_detail_1.obj" + GeometryFile = models .. "/MSL_RA_TURRET_new_2_detail_1.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -517,9 +517,9 @@ local RA_Turret_details_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RA_TURRET_new_2_detail_2.obj" + GeometryFile = models .. "/MSL_RA_TURRET_new_2_detail_2.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -538,10 +538,9 @@ local RSM_root = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RSM_ROOT.obj" - + GeometryFile = models .. "/MSL_RSM_ROOT.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -559,9 +558,9 @@ local RSM_AZ = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RSM_AZ.obj" + GeometryFile = models .. "/MSL_RSM_AZ.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -579,9 +578,9 @@ local RSM_EL = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_RSM_EL.obj" + GeometryFile = models .. "/MSL_RSM_EL.obj", + ColorTexture = textures .. "/tex_04.png" }, - ColorTexture = textures .. "/tex_04.png", LightSources = LightSources, PerformShading = false }, @@ -600,9 +599,9 @@ local HGA_AZ = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_HGA_AZ_0ANGLE.obj" + GeometryFile = models .. "/MSL_HGA_AZ_0ANGLE.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -620,9 +619,9 @@ local HGA_EL = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_HGA_EL.obj" + GeometryFile = models .. "/MSL_HGA_EL.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -641,9 +640,9 @@ local SAM_Cover_1 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_SAM_FIXED_COVER_1.obj" + GeometryFile = models .. "/MSL_SAM_FIXED_COVER_1.obj", + ColorTexture = textures .. "/MSLTextureTest.png" }, - ColorTexture = textures .. "/MSLTextureTest.png", LightSources = LightSources, PerformShading = false }, @@ -661,9 +660,9 @@ local SAM_Cover_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_SAM_FIXED_COVER_2.obj" + GeometryFile = models .. "/MSL_SAM_FIXED_COVER_2.obj", + ColorTexture = textures .. "/MSLTextureTest.png" }, - ColorTexture = textures .. "/MSLTextureTest.png", LightSources = LightSources, PerformShading = false }, @@ -681,9 +680,9 @@ local CHEMIN_Bottom = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_CHEMIN.obj" + GeometryFile = models .. "/MSL_CHEMIN.obj", + ColorTexture = textures .. "/MSLTextureTest.png" }, - ColorTexture = textures .. "/MSLTextureTest.png", LightSources = LightSources, PerformShading = false }, @@ -702,9 +701,9 @@ local Wheel_Base = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_BASE.obj" + GeometryFile = models .. "/MSL_WHEEL_BASE.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -721,9 +720,9 @@ local Wheel_Base_2 = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_BASE_2.obj" + GeometryFile = models .. "/MSL_WHEEL_BASE_2.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -742,9 +741,9 @@ local Wheel_Leg_1_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1_L.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1_L.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -762,9 +761,9 @@ local Wheel_Leg_1A_L_detail = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1A_L_detail.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1A_L_detail.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -782,9 +781,9 @@ local Wheel_Leg_1B_L_detail = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1B_L_detail.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1B_L_detail.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -802,9 +801,9 @@ local Wheel_Leg_2_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_2_L_new.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_2_L_new.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -822,9 +821,9 @@ local Wheel_Wrist_F_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_F_L.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_F_L.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -842,9 +841,9 @@ local Wheel_Wrist_hub_F_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_F_L.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_F_L.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -862,9 +861,9 @@ local Wheel_F_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_L.obj" + GeometryFile = models .. "/MSL_WHEEL_L.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -882,9 +881,9 @@ local Wheel_C_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_L.obj" + GeometryFile = models .. "/MSL_WHEEL_L.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -902,9 +901,9 @@ local Wheel_Wrist_B_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_B_L.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_B_L.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -922,9 +921,9 @@ local Wheel_Wrist_hub_B_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_B_L.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_B_L.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false, }, @@ -943,9 +942,9 @@ local Wheel_B_L = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_L.obj" + GeometryFile = models .. "/MSL_WHEEL_L.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -964,9 +963,9 @@ local Wheel_Leg_1_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1_R.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1_R.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -984,9 +983,9 @@ local Wheel_Leg_1A_R_detail = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1A_R_detail.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1A_R_detail.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -1004,9 +1003,9 @@ local Wheel_Leg_1B_R_detail = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_1B_R_detail.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_1B_R_detail.obj", + ColorTexture = textures .. "/tex_05.png" }, - ColorTexture = textures .. "/tex_05.png", LightSources = LightSources, PerformShading = false }, @@ -1024,9 +1023,9 @@ local Wheel_Leg_2_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_LEG_2_R_new.obj" + GeometryFile = models .. "/MSL_WHEEL_LEG_2_R_new.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -1044,10 +1043,10 @@ local Wheel_Wrist_F_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_F_R.obj" - --GeometryFile = models .. "/MSL_WHEEL_WRIST_F_L.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_F_R.obj", + --GeometryFile = models .. "/MSL_WHEEL_WRIST_F_L.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -1065,9 +1064,9 @@ local Wheel_Wrist_hub_F_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_F_R.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_F_R.obj", + ColorTexture = textures .. "/tex_02.png", }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -1085,9 +1084,9 @@ local Wheel_F_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_R.obj" + GeometryFile = models .. "/MSL_WHEEL_R.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -1105,9 +1104,9 @@ local Wheel_C_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_R.obj" + GeometryFile = models .. "/MSL_WHEEL_R.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, @@ -1125,9 +1124,9 @@ local Wheel_Wrist_B_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_1A_B_R.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_1A_B_R.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -1145,9 +1144,9 @@ local Wheel_Wrist_hub_B_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_B_R.obj" + GeometryFile = models .. "/MSL_WHEEL_WRIST_1B_B_R.obj", + ColorTexture = textures .. "/tex_02.png" }, - ColorTexture = textures .. "/tex_02.png", LightSources = LightSources, PerformShading = false }, @@ -1165,9 +1164,9 @@ local Wheel_B_R = { Body = "MARS SCIENCE LABORATORY", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/MSL_WHEEL_R.obj" + GeometryFile = models .. "/MSL_WHEEL_R.obj", + ColorTexture = textures .. "/tex_03.png" }, - ColorTexture = textures .. "/tex_03.png", LightSources = LightSources, PerformShading = false }, diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset index 40ec1f9334..04d9cab085 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset @@ -34,9 +34,9 @@ local Pioneer10 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = modelFolder .. "/Pioneer.obj" + GeometryFile = modelFolder .. "/Pioneer.obj", + ColorTexture = modelFolder .. "/gray.png" }, - ColorTexture = modelFolder .. "/gray.png", LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier) }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset index 2b97f8e720..def3eeacc5 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset @@ -37,9 +37,9 @@ local Pioneer11 = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = modelFolder .. "/Pioneer.obj" + GeometryFile = modelFolder .. "/Pioneer.obj", + ColorTexture = modelFolder .. "/gray.png" }, - ColorTexture = modelFolder .. "/gray.png", LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier) }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/rosetta/67p.asset b/data/assets/scene/solarsystem/missions/rosetta/67p.asset index c5882719df..fd9d09ff50 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/67p.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/67p.asset @@ -56,9 +56,9 @@ local Comet67P = { Type = "RenderableModelProjection", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/67P_rotated_5_130.obj" + GeometryFile = models .. "/67P_rotated_5_130.obj", + ColorTexture = textures .. "/gray.jpg" }, - ColorTexture = textures .. "/gray.jpg", Projection = { Sequence = { imagesDestination }, SequenceType = "image-sequence", diff --git a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset index cac99bdd49..8b29ea4180 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset @@ -140,9 +140,9 @@ local RosettaBlackFoil = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/black_foil.obj" + GeometryFile = models .. "/black_foil.obj", + ColorTexture = textures .. "/foil_silver_ramp.png" }, - ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -160,9 +160,9 @@ local RosettaBlackParts = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/black_parts.obj" + GeometryFile = models .. "/black_parts.obj", + ColorTexture = textures .. "/foil_silver_ramp.png" }, - ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -180,9 +180,9 @@ local RosettaDish = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/dish.obj" + GeometryFile = models .. "/dish.obj", + ColorTexture = textures .. "/dish_AO.png" }, - ColorTexture = textures .. "/dish_AO.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -200,9 +200,9 @@ local RosettaParts = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/parts.obj" + GeometryFile = models .. "/parts.obj", + ColorTexture = textures .. "/parts2_AO.png" }, - ColorTexture = textures .. "/parts2_AO.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -220,9 +220,9 @@ local RosettaSilverFoil = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/silver_foil.obj" + GeometryFile = models .. "/silver_foil.obj", + ColorTexture = textures .. "/foil_silver_ramp.png" }, - ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -240,9 +240,9 @@ local RosettaVents = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/vents.obj" + GeometryFile = models .. "/vents.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -260,9 +260,9 @@ local RosettaWingA = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .."/wingA.obj" + GeometryFile = models .."/wingA.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -280,9 +280,9 @@ local RosettaWingB = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/wingB.obj" + GeometryFile = models .. "/wingB.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -300,9 +300,9 @@ local RosettaYellowFoil = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/yellow_foil.obj" + GeometryFile = models .. "/yellow_foil.obj", + ColorTexture = textures .. "/foil_gold_ramp.png" }, - ColorTexture = textures .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -349,9 +349,9 @@ local PhilaeFoil = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/lander_foil.obj" + GeometryFile = models .. "/lander_foil.obj", + ColorTexture = textures .. "/foil_silver_ramp.png" }, - ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -369,9 +369,9 @@ local PhilaeLids = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/lander_lids.obj" + GeometryFile = models .. "/lander_lids.obj", + ColorTexture = textures .. "/parts2_AO.png" }, - ColorTexture = textures .. "/parts2_AO.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -389,9 +389,9 @@ local PhilaeParts = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/lander_parts.obj" + GeometryFile = models .. "/lander_parts.obj", + ColorTexture = textures .. "/foil_silver_ramp.png" }, - ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -409,9 +409,9 @@ local PhilaeSolarPanels = { Body = "ROSETTA", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/lander_solarp.obj" + GeometryFile = models .. "/lander_solarp.obj", + ColorTexture = textures .. "/tex_01.png" }, - ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix, LightSources = LightSources }, diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset index c5a8ae6b0c..f93ffdefe6 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset @@ -82,9 +82,9 @@ local Voyager1Main = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/voyager-main.obj" + GeometryFile = models .. "/voyager-main.obj", + ColorTexture = models .. "/voyager-main.jpg" }, - ColorTexture = models .. "/voyager-main.jpg", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -101,9 +101,9 @@ local Voyager1Antenna = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/voyager-antenna.obj" + GeometryFile = models .. "/voyager-antenna.obj", + ColorTexture = models .. "/voyager-antenna.png" }, - ColorTexture = models .. "/voyager-antenna.png", ModelTransform = RotationMatrix, LightSources = LightSources }, diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset index f1a87c9e13..993b86dc90 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset @@ -85,9 +85,9 @@ local Voyager2Main = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/voyager-main.obj" + GeometryFile = models .. "/voyager-main.obj", + ColorTexture = models .. "/voyager-main.jpg" }, - ColorTexture = models .. "/voyager-main.jpg", ModelTransform = RotationMatrix, LightSources = LightSources }, @@ -104,9 +104,9 @@ local Voyager2Antenna = { Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/voyager-antenna.obj" + GeometryFile = models .. "/voyager-antenna.obj", + ColorTexture = models .. "/voyager-antenna.png" }, - ColorTexture = models .. "/voyager-antenna.png", ModelTransform = RotationMatrix, LightSources = LightSources }, diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset index 841a2536d9..bfde270d5a 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/misc/iss.asset @@ -57,6 +57,167 @@ local initializeAndAddNodes = function() YAxis = transforms.EarthInertial.Identifier } }, + Renderable = { + Type = "RenderableModel", + Geometry = { + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/0.obj", + ColorTexture = models .. "/0.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/1.obj", + ColorTexture = models .. "/1.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/2.obj", + ColorTexture = models .. "/2.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/3.obj", + ColorTexture = models .. "/3.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/4.obj", + ColorTexture = models .. "/4.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/5.obj", + ColorTexture = models .. "/5.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/6.obj", + ColorTexture = models .. "/6.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/7.obj", + ColorTexture = models .. "/7.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/8.obj", + ColorTexture = models .. "/8.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/10.obj", + ColorTexture = models .. "/10.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/11.obj", + ColorTexture = models .. "/11.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/13.obj", + ColorTexture = models .. "/13.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/14.obj", + ColorTexture = models .. "/14.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/15.obj", + ColorTexture = models .. "/15.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/16.obj", + ColorTexture = models .. "/16.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/17.obj", + ColorTexture = models .. "/17.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/19.obj", + ColorTexture = models .. "/19.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/21.obj", + ColorTexture = models .. "/21.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/22.obj", + ColorTexture = models .. "/22.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/23.obj", + ColorTexture = models .. "/23.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/24.obj", + ColorTexture = models .. "/24.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/25.obj", + ColorTexture = models .. "/25.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/foilsilver.obj", + ColorTexture = models .. "/foilsilver.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/olive.obj", + ColorTexture = models .. "/olive.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/basemetal.obj", + ColorTexture = models .. "/basemetal.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/white_20.obj", + ColorTexture = models .. "/white_20.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/plasticblack.obj", + ColorTexture = models .. "/plasticblack.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/ecostresswhite.obj", + ColorTexture = models .. "/ecostresswhite.png" + }, + { + Type = "MultiModelGeometry", + GeometryFile = models .. "/plain.obj", + ColorTexture = models .. "/plain.png" + }, + + }, + LightSources = { + { + Type = "SceneGraphLightSource", + Identifier = "Sun", + Node = sunTransforms.SolarSystemBarycenter.Identifier, + Intensity = 1.0 + } + }, + PerformShading = true, + DisableFaceCulling = true + }, GUI = { Name = "ISSparentNode", Path = "/Solar System/Planets/Earth/Satellites/ISS", @@ -64,24 +225,6 @@ local initializeAndAddNodes = function() } } - local list = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "10", "11", - "13", "14", "15", "16", "17", "19", "21", "22", "23", "24", "25", - "foilsilver", "olive", "basemetal", "white_20", "plasticblack", "ecostresswhite", - "plain"} - - local nodes = { iss, parentNode } - for i, info in ipairs(list) do - n = assetHelper.createModelPart( - parentNode.Identifier, - sunTransforms.SolarSystemBarycenter.Identifier, - models, - info, - info .. ".png", - true - ) - table.insert(nodes, n) - end - local issTrail = { Identifier = identifier .. "_trail", Parent = transforms.EarthInertial.Identifier, @@ -108,7 +251,7 @@ local initializeAndAddNodes = function() } table.insert(nodes, issTrail) - return nodes + return { iss, parentNode, issTrail } end asset.onInitialize(function () diff --git a/data/assets/util/asset_helper.asset b/data/assets/util/asset_helper.asset index a785329785..2ae793c380 100644 --- a/data/assets/util/asset_helper.asset +++ b/data/assets/util/asset_helper.asset @@ -182,9 +182,9 @@ local createModelPart = function (parent, sunLightSourceNode, models, geometry, Type = "RenderableModel", Geometry = { Type = "MultiModelGeometry", - GeometryFile = models .. "/" .. geometry .. ".obj" + GeometryFile = models .. "/" .. geometry .. ".obj", + ColorTexture = models .. "/" .. texture }, - ColorTexture = models .. "/" .. texture, LightSources = lightSources, PerformShading = performShading, DisableFaceCulling = true diff --git a/modules/base/rendering/modelgeometry.cpp b/modules/base/rendering/modelgeometry.cpp index f6a339711c..b51938be98 100644 --- a/modules/base/rendering/modelgeometry.cpp +++ b/modules/base/rendering/modelgeometry.cpp @@ -25,11 +25,14 @@ #include #include +#include #include #include +#include #include #include #include +#include #include #include #include @@ -42,6 +45,7 @@ namespace { constexpr const char* KeyType = "Type"; constexpr const char* KeyGeomModelFile = "GeometryFile"; + constexpr const char* KeyColorTexture = "ColorTexture"; constexpr const int8_t CurrentCacheVersion = 3; } // namespace @@ -66,13 +70,20 @@ documentation:: Documentation ModelGeometry::Documentation() { "The file that should be loaded in this ModelGeometry. The file can " "contain filesystem tokens or can be specified relatively to the " "location of the .mod file." + }, + { + KeyColorTexture, + new StringVerifier, + Optional::Yes, + "This value points to a color texture file that is applied to the " + "geometry rendered in this object." } } }; } - -std::unique_ptr ModelGeometry::createFromDictionary( +// Create with ghoul::mm_unique_ptr +ghoul::mm_unique_ptr ModelGeometry::createFromDictionary( const ghoul::Dictionary& dictionary) { if (!dictionary.hasKeyAndValue(KeyType)) { @@ -82,13 +93,15 @@ std::unique_ptr ModelGeometry::createFromDictionary( const std::string& geometryType = dictionary.value(KeyType); auto factory = FactoryManager::ref().factory(); - ModelGeometry* geometry = factory->create(geometryType, dictionary); - return std::unique_ptr(geometry); + ModelGeometry* geometry = factory->create( + geometryType, + dictionary, + &global::memoryManager.PersistentMemory + ); + return ghoul::mm_unique_ptr(geometry); } -ModelGeometry::ModelGeometry(const ghoul::Dictionary& dictionary) - : properties::PropertyOwner({ "ModelGeometry" }) -{ +ModelGeometry::ModelGeometry(const ghoul::Dictionary& dictionary) { documentation::testSpecificationAndThrow( Documentation(), dictionary, @@ -96,12 +109,22 @@ ModelGeometry::ModelGeometry(const ghoul::Dictionary& dictionary) ); _file = absPath(dictionary.value(KeyGeomModelFile)); + + if (dictionary.hasKey(KeyColorTexture)) { + _colorTexturePath = absPath(dictionary.value(KeyColorTexture)); + } } double ModelGeometry::boundingRadius() const { return _boundingRadius; } +void ModelGeometry::bindTexture() { + if (_texture) { + _texture->bind(); + } +} + void ModelGeometry::render() { glBindVertexArray(_vaoID); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _ibo); @@ -179,6 +202,21 @@ bool ModelGeometry::initialize(Renderable* parent) { glBindVertexArray(0); + if (!_colorTexturePath.empty()) { + _texture = ghoul::io::TextureReader::ref().loadTexture( + absPath(_colorTexturePath) + ); + if (_texture) { + LDEBUGC( + "RenderableModel", + fmt::format("Loaded texture from '{}'", absPath(_colorTexturePath)) + ); + _texture->uploadTexture(); + _texture->setFilter(ghoul::opengl::Texture::FilterMode::AnisotropicMipMap); + _texture->purgeFromRAM(); + } + } + return true; } @@ -186,6 +224,8 @@ void ModelGeometry::deinitialize() { glDeleteBuffers(1, &_vbo); glDeleteVertexArrays(1, &_vaoID); glDeleteBuffers(1, &_ibo); + + _texture = nullptr; } bool ModelGeometry::loadObj(const std::string& filename) { diff --git a/modules/base/rendering/modelgeometry.h b/modules/base/rendering/modelgeometry.h index 8251fd4be3..c087d57d7e 100644 --- a/modules/base/rendering/modelgeometry.h +++ b/modules/base/rendering/modelgeometry.h @@ -25,9 +25,9 @@ #ifndef __OPENSPACE_MODULE_BASE___MODELGEOMETRY___H__ #define __OPENSPACE_MODULE_BASE___MODELGEOMETRY___H__ -#include - +#include #include +#include #include namespace ghoul { class Dictionary; } @@ -38,7 +38,7 @@ namespace openspace::documentation { struct Documentation; } namespace openspace::modelgeometry { -class ModelGeometry : public properties::PropertyOwner { +class ModelGeometry { public: struct Vertex { GLfloat location[4]; @@ -46,7 +46,7 @@ public: GLfloat normal[3]; }; - static std::unique_ptr createFromDictionary( + static ghoul::mm_unique_ptr createFromDictionary( const ghoul::Dictionary& dictionary ); @@ -55,6 +55,7 @@ public: virtual bool initialize(Renderable* parent); virtual void deinitialize(); + void bindTexture(); void render(); virtual bool loadModel(const std::string& filename) = 0; @@ -79,6 +80,8 @@ protected: GLenum _mode = GL_TRIANGLES; double _boundingRadius = 0.0; + std::string _colorTexturePath; + std::unique_ptr _texture; std::vector _vertices; std::vector _indices; diff --git a/modules/base/rendering/renderablemodel.cpp b/modules/base/rendering/renderablemodel.cpp index 26b592797a..e975a74247 100644 --- a/modules/base/rendering/renderablemodel.cpp +++ b/modules/base/rendering/renderablemodel.cpp @@ -36,12 +36,10 @@ #include #include -#include #include #include #include #include -#include #include namespace { @@ -55,13 +53,6 @@ namespace { "specularIntensity" }; - constexpr openspace::properties::Property::PropertyInfo TextureInfo = { - "ColorTexture", - "Color Texture", - "This value points to a color texture file that is applied to the geometry " - "rendered in this object." - }; - constexpr openspace::properties::Property::PropertyInfo AmbientIntensityInfo = { "AmbientIntensity", "Ambient Intensity", @@ -123,16 +114,16 @@ documentation::Documentation RenderableModel::Documentation() { { { KeyGeometry, - new ReferencingVerifier("base_geometry_model"), + new TableVerifier({ + { + "*", + new ReferencingVerifier("base_geometry_model"), + Optional::Yes + } + }), Optional::No, "This specifies the model that is rendered by the Renderable." }, - { - TextureInfo.identifier, - new StringVerifier, - Optional::Yes, - TextureInfo.description - }, { AmbientIntensityInfo.identifier, new DoubleVerifier, @@ -193,7 +184,6 @@ documentation::Documentation RenderableModel::Documentation() { RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) : Renderable(dictionary) - , _colorTexturePath(TextureInfo) , _ambientIntensity(AmbientIntensityInfo, 0.2f, 0.f, 1.f) , _diffuseIntensity(DiffuseIntensityInfo, 1.f, 0.f, 1.f) , _specularIntensity(SpecularIntensityInfo, 1.f, 0.f, 1.f) @@ -220,13 +210,11 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) if (dictionary.hasKey(KeyGeometry)) { ghoul::Dictionary dict = dictionary.value(KeyGeometry); - _geometry = modelgeometry::ModelGeometry::createFromDictionary(dict); - } - - if (dictionary.hasKey(TextureInfo.identifier)) { - _colorTexturePath = absPath(dictionary.value( - TextureInfo.identifier - )); + for (int i = 1; i <= dict.size(); ++i) { + std::string key = std::to_string(i); + ghoul::Dictionary geom = dict.value(key); + _geometry.push_back(modelgeometry::ModelGeometry::createFromDictionary(geom)); + } } if (dictionary.hasKey(ModelTransformInfo.identifier)) { @@ -266,11 +254,6 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) addPropertySubOwner(_lightSourcePropertyOwner); - addPropertySubOwner(_geometry.get()); - - addProperty(_colorTexturePath); - _colorTexturePath.onChange(std::bind(&RenderableModel::loadTexture, this)); - addProperty(_ambientIntensity); addProperty(_diffuseIntensity); @@ -291,7 +274,7 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) } bool RenderableModel::isReady() const { - return _program && _texture; + return _program; } void RenderableModel::initialize() { @@ -318,17 +301,16 @@ void RenderableModel::initializeGL() { ghoul::opengl::updateUniformLocations(*_program, _uniformCache, UniformNames); - loadTexture(); - - _geometry->initialize(this); + for (const ghoul::mm_unique_ptr& geom : _geometry) { + geom->initialize(this); + } } void RenderableModel::deinitializeGL() { - if (_geometry) { - _geometry->deinitialize(); - _geometry = nullptr; + for (const ghoul::mm_unique_ptr& geom : _geometry) { + geom->deinitialize(); } - _texture = nullptr; + _geometry.clear(); BaseModule::ProgramObjectManager.release( ProgramName, @@ -400,37 +382,23 @@ void RenderableModel::render(const RenderData& data, RendererTasks&) { _uniformCache.projectionTransform, data.camera.projectionMatrix() ); - _program->setUniform( - _uniformCache.ambientIntensity, - _ambientIntensity - ); - _program->setUniform( - _uniformCache.diffuseIntensity, - _diffuseIntensity - ); - _program->setUniform( - _uniformCache.specularIntensity, - _specularIntensity - ); - _program->setUniform( - _uniformCache.performShading, - _performShading - ); - - _geometry->setUniforms(*_program); - - // Bind texture - ghoul::opengl::TextureUnit unit; - unit.activate(); - _texture->bind(); - _program->setUniform(_uniformCache.texture, unit); + _program->setUniform(_uniformCache.ambientIntensity, _ambientIntensity); + _program->setUniform(_uniformCache.diffuseIntensity, _diffuseIntensity); + _program->setUniform(_uniformCache.specularIntensity, _specularIntensity); + _program->setUniform(_uniformCache.performShading, _performShading); if (_disableFaceCulling) { glDisable(GL_CULL_FACE); } - _geometry->render(); - + ghoul::opengl::TextureUnit unit; + unit.activate(); + _program->setUniform(_uniformCache.texture, unit); + for (const ghoul::mm_unique_ptr& geom : _geometry) { + geom->setUniforms(*_program); + geom->bindTexture(); + geom->render(); + } if (_disableFaceCulling) { glEnable(GL_CULL_FACE); } @@ -445,22 +413,4 @@ void RenderableModel::update(const UpdateData&) { } } -void RenderableModel::loadTexture() { - _texture = nullptr; - if (!_colorTexturePath.value().empty()) { - _texture = ghoul::io::TextureReader::ref().loadTexture( - absPath(_colorTexturePath) - ); - if (_texture) { - LDEBUGC( - "RenderableModel", - fmt::format("Loaded texture from '{}'", absPath(_colorTexturePath)) - ); - _texture->uploadTexture(); - _texture->setFilter(ghoul::opengl::Texture::FilterMode::AnisotropicMipMap); - _texture->purgeFromRAM(); - } - } -} - } // namespace openspace diff --git a/modules/base/rendering/renderablemodel.h b/modules/base/rendering/renderablemodel.h index 60c9499e19..721de33f44 100644 --- a/modules/base/rendering/renderablemodel.h +++ b/modules/base/rendering/renderablemodel.h @@ -27,16 +27,14 @@ #include -#include +#include #include #include #include +#include +#include #include #include -#include -#include - - namespace ghoul::opengl { class ProgramObject; @@ -68,13 +66,8 @@ public: static documentation::Documentation Documentation(); -protected: - void loadTexture(); - private: - std::unique_ptr _geometry; - - properties::StringProperty _colorTexturePath; + std::vector> _geometry; properties::FloatProperty _ambientIntensity; @@ -92,7 +85,6 @@ private: performShading, texture, ambientIntensity, diffuseIntensity, specularIntensity) _uniformCache; - std::unique_ptr _texture; std::vector> _lightSources; // Buffers for uniform uploading diff --git a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp index 9429362249..083bd06bc4 100644 --- a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp +++ b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp @@ -65,13 +65,6 @@ namespace { "ProjectorMatrix", "ModelTransform" }; - constexpr openspace::properties::Property::PropertyInfo ColorTextureInfo = { - "ColorTexture", - "Color Base Texture", - "This is the path to a local image file that is used as the base texture for the " - "model on which the image projections are layered." - }; - constexpr openspace::properties::Property::PropertyInfo PerformShadingInfo = { "PerformShading", "Perform Shading", @@ -107,12 +100,6 @@ documentation::Documentation RenderableModelProjection::Documentation() { Optional::No, "Contains information about projecting onto this planet." }, - { - ColorTextureInfo.identifier, - new StringVerifier, - Optional::No, - ColorTextureInfo.description - }, { PerformShadingInfo.identifier, new BoolVerifier, @@ -134,7 +121,6 @@ documentation::Documentation RenderableModelProjection::Documentation() { RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& dictionary) : Renderable(dictionary) - , _colorTexturePath(ColorTextureInfo) , _performShading(PerformShadingInfo, true) { documentation::testSpecificationAndThrow( @@ -146,16 +132,8 @@ RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& di Dictionary geometryDictionary = dictionary.value(keyGeometry); _geometry = modelgeometry::ModelGeometry::createFromDictionary(geometryDictionary); - _colorTexturePath = absPath(dictionary.value( - ColorTextureInfo.identifier - )); - - addPropertySubOwner(_geometry.get()); addPropertySubOwner(_projectionComponent); - addProperty(_colorTexturePath); - _colorTexturePath.onChange(std::bind(&RenderableModelProjection::loadTextures, this)); - _projectionComponent.initialize( identifier(), dictionary.value(keyProjection) @@ -175,8 +153,7 @@ RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& di RenderableModelProjection::~RenderableModelProjection() {} // NOLINT bool RenderableModelProjection::isReady() const { - return (_programObject != nullptr) && (_baseTexture != nullptr) && - _projectionComponent.isReady(); + return (_programObject != nullptr) && _projectionComponent.isReady(); } void RenderableModelProjection::initializeGL() { @@ -220,7 +197,6 @@ void RenderableModelProjection::initializeGL() { DepthFboUniformNames ); - loadTextures(); _projectionComponent.initializeGL(); float bs = boundingSphere(); @@ -234,7 +210,6 @@ void RenderableModelProjection::deinitializeGL() { } _geometry = nullptr; - _baseTexture = nullptr; _projectionComponent.deinitialize(); @@ -301,7 +276,7 @@ void RenderableModelProjection::render(const RenderData& data, RendererTasks&) { ghoul::opengl::TextureUnit baseUnit; baseUnit.activate(); - _baseTexture->bind(); + _geometry->bindTexture(); _programObject->setUniform(_mainUniformCache.baseTexture, baseUnit); ghoul::opengl::TextureUnit projectionUnit; @@ -489,20 +464,4 @@ void RenderableModelProjection::project() { _shouldCapture = false; } -bool RenderableModelProjection::loadTextures() { - _baseTexture = nullptr; - if (!_colorTexturePath.value().empty()) { - _baseTexture = ghoul::io::TextureReader::ref().loadTexture( - absPath(_colorTexturePath) - ); - if (_baseTexture) { - LDEBUG(fmt::format("Loaded texture from '{}'", absPath(_colorTexturePath))); - _baseTexture->uploadTexture(); - _baseTexture->setFilter(ghoul::opengl::Texture::FilterMode::LinearMipMap); - } - } - - return _baseTexture != nullptr; -} - } // namespace openspace diff --git a/modules/spacecraftinstruments/rendering/renderablemodelprojection.h b/modules/spacecraftinstruments/rendering/renderablemodelprojection.h index 9c943c2388..45d5ccf252 100644 --- a/modules/spacecraftinstruments/rendering/renderablemodelprojection.h +++ b/modules/spacecraftinstruments/rendering/renderablemodelprojection.h @@ -31,6 +31,7 @@ #include #include #include +#include #include namespace ghoul::opengl { @@ -65,7 +66,6 @@ public: static documentation::Documentation Documentation(); private: - bool loadTextures(); void attitudeParameters(double time); void imageProjectGPU(const ghoul::opengl::Texture& projectionTexture); @@ -73,8 +73,6 @@ private: ProjectionComponent _projectionComponent; - properties::StringProperty _colorTexturePath; - std::unique_ptr _programObject; UniformCache(performShading, directionToSunViewSpace, modelViewTransform, projectionTransform, projectionFading, baseTexture, @@ -86,9 +84,7 @@ private: std::unique_ptr _depthFboProgramObject; UniformCache(ProjectorMatrix, ModelTransform) _depthFboUniformCache; - std::unique_ptr _baseTexture; - - std::unique_ptr _geometry; + ghoul::mm_unique_ptr _geometry; glm::dmat3 _instrumentMatrix = glm::dmat3(1.0);