mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-25 06:19:02 -06:00
Removed unsused TMOs. Removed unused sliders and adjusted to default position others.
This commit is contained in:
@@ -14,9 +14,7 @@ asset.onInitialize(function ()
|
||||
-- HDR / Image options:
|
||||
openspace.setPropertyValueSingle('RenderEngine.Gamma', 0.95);
|
||||
openspace.setPropertyValueSingle('RenderEngine.HDRExposure', 3.7);
|
||||
openspace.setPropertyValueSingle('RenderEngine.ToneMapOperator', 8);
|
||||
openspace.setPropertyValueSingle('RenderEngine.Lightness', 1.1);
|
||||
openspace.setPropertyValueSingle('RenderEngine.Saturation', 1.2);
|
||||
openspace.setPropertyValueSingle('RenderEngine.Saturation', 1.0);
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
|
||||
@@ -1,203 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
asset.require('spice/base')
|
||||
|
||||
--asset.require('scene/solarsystem/missions/apollo/a15kernels')
|
||||
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Apollo 15 Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_models",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Apollo Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Kernels = {
|
||||
kernels .. "/apollo15.0001.tsc",
|
||||
|
||||
-- kernels .. '/AS15-P_v01.bc',
|
||||
kernels .. '/apollo15.0001.tf',
|
||||
kernels .. '/apollo15MetricAddendum002.ti',
|
||||
-- kernels .. '/apollo15PanoramicAddendum001.ti',
|
||||
kernels .. '/apollo15_metric.0002.ti',
|
||||
-- kernels .. '/apollo15_panoramic.0001.ti',
|
||||
kernels .. '/apollo15-1.bsp',
|
||||
kernels .. '/AS15-M_v01.bc',
|
||||
-- kernels .. '/AS15-M_v01.bsp',
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- local Apollo15Kernels = {
|
||||
-- --sclk
|
||||
-- ApolloKernels .. "/apollo15.0001.tsc",
|
||||
|
||||
-- --pck
|
||||
-- ApolloKernels .. "/moon_080317.tf",
|
||||
-- ApolloKernels .. "/moon_assoc_me.tf",
|
||||
|
||||
-- --ik
|
||||
-- ApolloKernels .. "/apollo15_metric_v2.0001.ti",
|
||||
-- ApolloKernels .. "/apollo15_panoramic.0001.ti",
|
||||
|
||||
-- --tspk
|
||||
-- ApolloKernels .. "/de421.bsp",
|
||||
-- ApolloKernels .. "/moon_pa_de421_1900-2050.bpc",
|
||||
|
||||
-- --iak
|
||||
-- ApolloKernels .. "/apollo15MetricAddendum002.ti",
|
||||
-- ApolloKernels .. "/apolloPanAddendum001.ti",
|
||||
|
||||
-- --fk
|
||||
-- ApolloKernels .. "/apollo15_v2.0001.tf",
|
||||
-- ApolloKernels .. "/apollo15_v2.0002.tf",
|
||||
|
||||
-- --spk
|
||||
-- ApolloKernels .. "/AS15_M_REV23_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV4.bsp ",
|
||||
-- ApolloKernels .. "/AS15_M_REV70_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV04_v2.bsp ",
|
||||
-- ApolloKernels .. "/AS15_M_REV27_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV44_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV15_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV33_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV50_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V02.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV15_v2.bsp ",
|
||||
-- ApolloKernels .. "/AS15_M_REV34_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV60_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV72_v2.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV16_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V02.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV62_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV22_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV38_SMITHED_V01.bsp",
|
||||
-- ApolloKernels .. "/AS15_M_REV63_SMITHED_V01.bsp",
|
||||
|
||||
-- --ck
|
||||
-- ApolloKernels .. "/AS15_M_REV04_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV15_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV16_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV22_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV23_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV27_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV33_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV34_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV35_SMITHED_V02.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV38_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV44_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV50_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV60_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV62_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV63_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV70_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V01.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV71_SMITHED_V02.bc",
|
||||
-- ApolloKernels .. "/AS15_M_REV72_v2.bc",
|
||||
-- }
|
||||
|
||||
|
||||
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
-- {
|
||||
-- Identifier = "Camera",
|
||||
-- Type = "CameraLightSource",
|
||||
-- Intensity = 0.5,
|
||||
-- Enabled = false
|
||||
-- }
|
||||
}
|
||||
|
||||
|
||||
local Apollo15 = {
|
||||
Identifier = "Apollo15",
|
||||
Parent = "Moon",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "APOLLO 15",
|
||||
Observer = "MOON",
|
||||
Frame = "IAU_MOON",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "A15_METRIC",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
TimeFrame = { -- Using Spice kernels for 1850-2150
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "1971-07-30T02:22:00.00",
|
||||
End = "1971-08-01T18:05:00.00"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 15",
|
||||
Path = "/Solar System/Missions/Apollo 15"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo15Main = {
|
||||
Identifier = "Apollo15Main",
|
||||
Parent = Apollo15.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
-- GeometryFile = models .. "/Apollo_Spacecraft.obj"
|
||||
GeometryFile = models .. "/Apollo_CSM_shrunk_rotated_xy_doubble_size.obj"
|
||||
},
|
||||
ColorTexture = models .. "/gray.png",
|
||||
LightSources = LightSources,
|
||||
DisableFaceCulling = true
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 15 Main",
|
||||
Path = "/Solar System/Missions/Apollo 15"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo15Trail = {
|
||||
Identifier = "Apollo15Trail",
|
||||
Parent = "Moon",
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "APOLLO 15",
|
||||
Observer = "MOON",
|
||||
Frame = "IAU_MOON",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1971 JUL 26",
|
||||
EndTime = "1971 AUG 01 14:30:41.680",
|
||||
SampleInterval = 2
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 15 Trail",
|
||||
Path = "/Solar System/Missions/Apollo 15"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Apollo15,
|
||||
Apollo15Main,
|
||||
Apollo15Trail
|
||||
})
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
local ApolloKernels = asset.syncedResource({
|
||||
Name = "Apollo Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Apollo15Kernels = {
|
||||
|
||||
|
||||
|
||||
--sclk
|
||||
ApolloKernels .. "apollo15.0001.tsc",
|
||||
|
||||
--pck
|
||||
ApolloKernels .. "moon_080317.tf",
|
||||
ApolloKernels .. "moon_assoc_me.tf",
|
||||
|
||||
--ik
|
||||
ApolloKernels .. "apollo15_metric_v2.0001.ti",
|
||||
ApolloKernels .. "apollo15_panoramic.0001.ti",
|
||||
|
||||
--tspk
|
||||
ApolloKernels .. "de421.bsp",
|
||||
ApolloKernels .. "moon_pa_de421_1900-2050.bpc",
|
||||
|
||||
--iak
|
||||
ApolloKernels .. "apollo15MetricAddendum002.ti",
|
||||
ApolloKernels .. "apolloPanAddendum001.ti",
|
||||
|
||||
--fk
|
||||
ApolloKernels .. "apollo15_v2.0001.tf",
|
||||
ApolloKernels .. "apollo15_v2.0002.tf",
|
||||
|
||||
--spk
|
||||
ApolloKernels .. "AS15_M_REV23_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV4.bsp ",
|
||||
ApolloKernels .. "AS15_M_REV70_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV04_v2.bsp ",
|
||||
ApolloKernels .. "AS15_M_REV27_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV44_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV71_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV15_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV33_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV50_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV71_SMITHED_V02.bsp",
|
||||
ApolloKernels .. "AS15_M_REV15_v2.bsp ",
|
||||
ApolloKernels .. "AS15_M_REV34_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV60_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV72_v2.bsp",
|
||||
ApolloKernels .. "AS15_M_REV16_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV35_SMITHED_V02.bsp",
|
||||
ApolloKernels .. "AS15_M_REV62_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV22_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV38_SMITHED_V01.bsp",
|
||||
ApolloKernels .. "AS15_M_REV63_SMITHED_V01.bsp",
|
||||
|
||||
--ck
|
||||
ApolloKernels .. "AS15_M_REV04_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV15_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV16_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV22_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV23_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV27_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV33_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV34_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV35_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV35_SMITHED_V02.bc",
|
||||
ApolloKernels .. "AS15_M_REV38_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV44_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV50_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV60_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV62_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV63_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV70_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV71_SMITHED_V01.bc",
|
||||
ApolloKernels .. "AS15_M_REV71_SMITHED_V02.bc",
|
||||
ApolloKernels .. "AS15_M_REV72_v2.bc",
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
--asset.export("ApolloKernels", Kernels)
|
||||
asset.export("Apollo15Kernels", Apollo15Kernels)
|
||||
@@ -1,234 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local csm = asset.require('./apollo_csm')
|
||||
|
||||
asset.require('spice/base')
|
||||
|
||||
local kernelsFolder = asset.syncedResource({
|
||||
Name = "Apollo Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernels = {
|
||||
kernelsFolder .. "/moon_080317.tf",
|
||||
kernelsFolder .. "/apollo8.tf",
|
||||
kernelsFolder .. "/moon_pa_de421_1900-2050.bpc",
|
||||
kernelsFolder .. '/apollo8.tsc',
|
||||
kernelsFolder .. '/apollo8.bsp',
|
||||
kernelsFolder .. '/apollo8_earthrise.bc',
|
||||
}
|
||||
|
||||
local apolloSpiceId = "-908"
|
||||
|
||||
local Apollo8Launch = {
|
||||
Identifier = "Apollo8Launch",
|
||||
Parent = "Earth",
|
||||
TimeFrame = { -- Using Spice kernels for 1850-2150
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "1968 DEC 21",
|
||||
End = "1968 DEC 28"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = apolloSpiceId,
|
||||
Observer = "EARTH",
|
||||
Frame = "IAU_EARTH",
|
||||
Kernels = kernels
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8 Launch Capsule",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local Apollo8 = {
|
||||
Identifier = "Apollo8",
|
||||
Parent = "EarthBarycenter",
|
||||
TimeFrame = { -- Using Spice kernels for 1850-2150
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "1968 DEC 21",
|
||||
End = "1968 DEC 28"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = apolloSpiceId,
|
||||
Observer = "EARTH BARYCENTER",
|
||||
Frame = "GALACTIC",
|
||||
Kernels = kernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "A8_EARTHRISE",
|
||||
DestinationFrame = "GALACTIC",
|
||||
TimeFrame = {
|
||||
-- The orientation of Apollo 8 is only
|
||||
-- available during the few minutes when
|
||||
-- the famous Earthrise picture was taken.
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "1968 DEC 24 16:37:19",
|
||||
End = "1968 DEC 24 16:40:15"
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo8LaunchModel = {
|
||||
Identifier = "Apollo8LaunchModel",
|
||||
Parent = Apollo8Launch.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
-- The scale of the model is in cm; OpenSpace is in m
|
||||
Scale = 0.01
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0.0, 0.0, -3.1415/2}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Apollo 8 Launch Model",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo8Model = {
|
||||
Identifier = "Apollo8Model",
|
||||
Parent = Apollo8.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
-- The scale of the model is in cm; OpenSpace is in m
|
||||
Scale = 0.01
|
||||
},
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0.0, 0.0, -3.1415/2}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Apollo 8 Model",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local PivotOffset = { 0, 2.5, 0}
|
||||
|
||||
-- The pivot node is used for navigation inside the spacecraft
|
||||
|
||||
local Apollo8Pivot = {
|
||||
Identifier = "Apollo8Pivot",
|
||||
Parent = Apollo8.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = PivotOffset
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8 Pivot",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local Apollo8LaunchTrail = {
|
||||
Identifier = "Apollo8LaunchTrail",
|
||||
Parent = "Earth",
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = apolloSpiceId,
|
||||
Observer = "EARTH",
|
||||
Frame = "IAU_EARTH",
|
||||
Kernels = kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1968 DEC 21 12:51:00",
|
||||
EndTime = "1968 DEC 21 23:23:22",
|
||||
SampleInterval = 30
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8 Launch Trail",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo8MoonTrail = {
|
||||
Identifier = "Apollo8MoonTrail",
|
||||
Parent = "Moon",
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = apolloSpiceId,
|
||||
Observer = "MOON",
|
||||
Frame = "IAU_MOON",
|
||||
Kernels = kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1968 DEC 23",
|
||||
EndTime = "1968 DEC 26",
|
||||
SampleInterval = 30,
|
||||
Enabled = false,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8 Moon Trail",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local Apollo8EarthBarycenterTrail = {
|
||||
Identifier = "Apollo8EarthBarycenterTrail",
|
||||
Parent = "EarthBarycenter",
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = apolloSpiceId,
|
||||
Observer = "EARTH BARYCENTER",
|
||||
Frame = "GALACTIC",
|
||||
Kernels = kernels
|
||||
},
|
||||
Color = { 1, 0.0, 0.0 },
|
||||
StartTime = "1968 DEC 21",
|
||||
EndTime = "1968 DEC 28",
|
||||
SampleInterval = 30,
|
||||
Enabled = false,
|
||||
},
|
||||
GUI = {
|
||||
Name = "Apollo 8 Earth Barycenter Trail",
|
||||
Path = "/Solar System/Missions/Apollo"
|
||||
}
|
||||
}
|
||||
|
||||
local exportList = {
|
||||
Apollo8,
|
||||
Apollo8Model,
|
||||
Apollo8Launch,
|
||||
Apollo8LaunchModel,
|
||||
Apollo8Pivot,
|
||||
|
||||
Apollo8LaunchTrail,
|
||||
Apollo8MoonTrail,
|
||||
Apollo8EarthBarycenterTrail
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, exportList)
|
||||
-- Registering Command and Service module needs to happen fter the export list
|
||||
-- has been registered, since it depends on the Apollo8Model scene graph node.
|
||||
csm.registerCsm(asset, Apollo8Model.Identifier)
|
||||
csm.registerCsm(asset, Apollo8LaunchModel.Identifier)
|
||||
@@ -1,39 +0,0 @@
|
||||
--apollo_11_lem_flipbook.asset
|
||||
local helper = asset.require('util/vrt_flipbook_helper')
|
||||
|
||||
local assetPrefix = "A11flip";
|
||||
local assetGlobe = "Moon";
|
||||
local flipbookCount = 19;
|
||||
|
||||
local flipbook = nil;
|
||||
|
||||
local vrts = asset.syncedResource({
|
||||
Name = "Apollo 11 Flipbook",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_11_flipbook",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
asset.onInitialize(function ()
|
||||
openspace.globebrowsing.addBlendingLayersFromDirectory(vrts, assetGlobe);
|
||||
flipbook = helper.createFlipbook(assetPrefix, assetGlobe, 19);
|
||||
|
||||
function nextFlip()
|
||||
helper.nextFlipbookPage(flipbook);
|
||||
end
|
||||
|
||||
function previousFlip()
|
||||
helper.previousFlipbookPage(flipbook);
|
||||
end
|
||||
|
||||
openspace.bindKey("RIGHT", "nextFlip()", "Show the next Apollo 11 flipbook image.", "Next A11 flip", "/Missions/Apollo/11")
|
||||
openspace.bindKey("LEFT", "previousFlip()","Show the previous Apollo 11 flipbook image.", "Prev A11 flip", "/Missions/Apollo/11")
|
||||
end)
|
||||
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
flipbook = nil;
|
||||
|
||||
openspace.clearKey("RIGHT")
|
||||
openspace.clearKey("LEFT")
|
||||
end)
|
||||
@@ -1,280 +0,0 @@
|
||||
-- This asset exports a function to create an Apollo Command and Service Module (CSM).
|
||||
-- Instead of hard-coding the scene graph node parent,
|
||||
-- client assets can decide which object that the CSM should be attached to.
|
||||
-- Usage example: registerCsm(asset, Apollo8.Idenfitier)
|
||||
-- ...where Apollo8 is the scene graph node identifier to attach the CSM to.
|
||||
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Apollo Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_models",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local partsInfo = {
|
||||
-- Data is structured as: Geometry file name (except .obj suffix), texture file name, shading
|
||||
|
||||
-- Exterior
|
||||
{"AP08_cone_command_module", "Command_module_diff.png", true},
|
||||
{"AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true},
|
||||
{"AP08_cone_vent_ports_black", "black.png", true},
|
||||
{"AP08_cone_vent_ports_red", "red.png", true},
|
||||
{"AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false},
|
||||
|
||||
{"AP08_service_black", "black.png", true},
|
||||
{"AP08_service_brown", "brown.png", true},
|
||||
{"AP08_service_grey", "gray.png", true},
|
||||
{"AP08_service_high_gain_antenna", "Antenna_diff.png", true},
|
||||
{"AP08_service_module", "Service_module_diff.png", true},
|
||||
{"AP08_service_nozzle", "Nozzle_diff.png", true},
|
||||
{"AP08_service_pink", "pink.png", true},
|
||||
{"AP08_service_red", "red.png", true},
|
||||
{"AP08_service_scratched_metal", "scratched_metal_gloss.png", true},
|
||||
{"AP08_service_white", "white.png", true},
|
||||
|
||||
-- Interior
|
||||
-- {"AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false},
|
||||
-- {"AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false},
|
||||
-- {"AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false},
|
||||
-- {"AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false},
|
||||
-- {"AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false},
|
||||
-- {"AP11_interior_box_back_01", "box_back_01_paint_v001.png", false},
|
||||
-- {"AP11_interior_box_back_02", "box_back_02_paint_v001.png", false},
|
||||
-- {"AP11_interior_box_back_04", "box_back_04_paint_v001.png", false},
|
||||
-- {"AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false},
|
||||
-- {"AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false},
|
||||
-- {"AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false},
|
||||
-- {"AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false},
|
||||
-- {"AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false},
|
||||
-- {"AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false},
|
||||
-- {"AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false},
|
||||
-- {"AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false},
|
||||
-- {"AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false},
|
||||
-- {"AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false},
|
||||
-- {"AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false},
|
||||
-- {"AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false},
|
||||
-- {"AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false},
|
||||
-- {"AP11_interior_grey", "gray.png", false},
|
||||
-- {"AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false},
|
||||
-- {"AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false},
|
||||
-- {"AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false},
|
||||
-- {"AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false},
|
||||
-- {"AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false},
|
||||
-- {"AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_pole_end_02", "pole_end_02.png", false},
|
||||
-- {"AP11_interior_pole_end_03", "pole_end_03.png", false},
|
||||
-- {"AP11_interior_pole_tex_03", "pole_tex_03.png", false},
|
||||
-- {"AP11_interior_pole_tex_04", "pole_tex_04.png", false},
|
||||
-- {"AP11_interior_pole_tex_05", "pole_tex_05.png", false},
|
||||
-- {"AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false},
|
||||
-- {"AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false},
|
||||
-- {"AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false},
|
||||
-- {"AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false},
|
||||
-- {"AP11_interior_red", "red.png", false},
|
||||
-- {"AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false},
|
||||
-- {"AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false},
|
||||
-- {"AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false},
|
||||
-- {"AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false},
|
||||
-- {"AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false},
|
||||
-- {"AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false},
|
||||
-- {"AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false}
|
||||
}
|
||||
|
||||
|
||||
local partsInfoFull = {
|
||||
-- Data is structured as: Geometry file name (except .obj suffix), texture file name, shading
|
||||
|
||||
-- Exterior
|
||||
{"AP08_cone_command_module", "Command_module_diff.png", true},
|
||||
{"AP08_cone_hatchdoor_handle_scratched_metal", "scratched_metal_gloss.png", true},
|
||||
{"AP08_cone_vent_ports_black", "black.png", true},
|
||||
{"AP08_cone_vent_ports_red", "red.png", true},
|
||||
{"AP08_cone_hatchdoor_interior", "apollo_hatchdoor_interior.jpg", false},
|
||||
|
||||
{"AP08_service_black", "black.png", true},
|
||||
{"AP08_service_brown", "brown.png", true},
|
||||
{"AP08_service_grey", "gray.png", true},
|
||||
{"AP08_service_high_gain_antenna", "Antenna_diff.png", true},
|
||||
{"AP08_service_module", "Service_module_diff.png", true},
|
||||
{"AP08_service_nozzle", "Nozzle_diff.png", true},
|
||||
{"AP08_service_pink", "pink.png", true},
|
||||
{"AP08_service_red", "red.png", true},
|
||||
{"AP08_service_scratched_metal", "scratched_metal_gloss.png", true},
|
||||
{"AP08_service_white", "white.png", true},
|
||||
|
||||
-- Interior
|
||||
{"AP11_int_back_wall_left", "AP11_int_back_wall_left.png", false},
|
||||
{"AP11_int_back_wall_right", "AP11_int_back_wall_right.png", false},
|
||||
{"AP11_interior_back_wall_top_0Shape3", "back_wall_top_0Shape3_tpAmbient_paint_03.png", false},
|
||||
{"AP11_interior_belt_buckles_02_L2", "belt_buckles_02_L2Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_belt_straps_02", "belt_straps_02Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_black_push_buttons", "push_buttonsShape_tpAmbient.png", false},
|
||||
{"AP11_interior_bottom_boxes_03", "bottom_boxes_03_paint_01.png", false},
|
||||
{"AP11_interior_bottom_floor_tp", "bottom_floor_tpAmbient_paint_v002.png", false},
|
||||
{"AP11_interior_box_back_01", "box_back_01_paint_v001.png", false},
|
||||
{"AP11_interior_box_back_02", "box_back_02_paint_v001.png", false},
|
||||
{"AP11_interior_box_back_04", "box_back_04_paint_v001.png", false},
|
||||
{"AP11_interior_box_lft_lower_01", "box_lft_lower_01Shape_Diffuse_paint_v002.png", false},
|
||||
{"AP11_interior_box_lft_top", "box_lft_topShape_Diffuse_paint_v009.png", false},
|
||||
{"AP11_interior_box_mid_tp", "box_mid_tpDiffuse_paint_v001.png", false},
|
||||
{"AP11_interior_box_rt_top_02", "box_rt_top_02_paint_04.png", false},
|
||||
{"AP11_interior_brushed_blue_ano", "brushed_blue_ano_paint_01.png", false},
|
||||
{"AP11_interior_brushed_brass", "brushed_brass_paint_01.png", false},
|
||||
{"AP11_interior_brushed_grey_ano", "brushed_grey_ano_paint_02.png", false},
|
||||
{"AP11_interior_canvas_cover", "canvas_coverShape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_Channel_attachment", "Channel_attachment_Diffuse.png", false},
|
||||
{"AP11_interior_Channel_baseMetal", "Channel_baseMetal_Diffuse.png", false},
|
||||
{"AP11_interior_Channel_Material", "Channel_Material_Diffuse.png", false},
|
||||
{"AP11_interior_Channel_rsMaterial2", "Channel_rsMaterial2_Diffuse.png", false},
|
||||
{"AP11_interior_cloth_01", "cloth_01Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_coiled_hose", "coiled_hoseShape_tpAmbient.png", false},
|
||||
{"AP11_interior_control_panel_left_win_plates", "control_panel_left_win_platesShape_tpAmbient.png", false},
|
||||
{"AP11_interior_control_panel_rt_win_plates", "control_panel_rt_win_platesShape_tpAmbient.png", false},
|
||||
{"AP11_interior_copper_parts_main_cp", "copper_parts_main_cpShape_tpAmbient.png", false},
|
||||
{"AP11_interior_dials_main2", "dials_main2Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_dials_t2", "dials_t2Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_dial_fixes_01", "dial_fixes_01Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_fire_ex_02", "fire_ex_02_paint_v001.png", false},
|
||||
{"AP11_interior_floor_panels_3", "floor_panels_3Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_floor_tile_tex_01", "floor_tile_tex_01.png", false},
|
||||
{"AP11_interior_grey", "gray.png", false},
|
||||
{"AP11_interior_handholds_cp", "handholds_cpShape_tpAmbient_paint_05.png", false},
|
||||
{"AP11_interior_hatch_release_0Shape5", "hatch_release_0Shape5_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_headrests_02", "headrests_02Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_hoses_black_01", "hoses_black_01Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_hoses_white_0Shape1", "hoses_white_0Shape1_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_josticks1", "joysticks1Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_joysticks_fabric1", "joysticks_fabric1_Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_joystick_poles_lft_05", "joystick_poles_lft_05_paint_v002.png", false},
|
||||
{"AP11_interior_joystick_poles_lft_long_05", "joystick_poles_lft_long_05_paint_v002.png", false},
|
||||
{"AP11_interior_joystick_poles_rt_05", "joystick_poles_rt_05_paint_v002.png", false},
|
||||
{"AP11_interior_latch_mechanisms_01", "latch_mechanisms_01Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_lower_push_buttons", "lower_push_buttonsShape_tpAmbient.png", false},
|
||||
{"AP11_interior_lower_walls_back", "lower_walls_back_paint_04.png", false},
|
||||
{"AP11_interior_lower_walls_boxes_head", "lower_walls_boxes_headShape_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_main_cp_left_smth_03", "main_cp_left_0Shape3_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_main_cp_mid_smth_02", "main_cp_mid_smth_02Shape_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_main_cp_rt_smth", "main_cp_rt_smthShape_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_main_cp_wheels", "main_cp_wheelsShape_tpAmbient.png", false},
|
||||
{"AP11_interior_metal_brackets_under_hatch", "metal_brackets_under_hatchShape_tpAmbient.png", false},
|
||||
{"AP11_interior_metal_tunnel_parts", "metal_tunnel_partsShape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_metal_window_parts", "metal_window_partsShape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_middle_walls_05", "middle_walls_05_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_middle_walls_0Shape8", "middle_walls_0Shape8_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_mid_tunnel_parts", "mid_tunnel_parts_03Shape_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_new_switch_rails1", "new_switch_rails1Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_nozzles_02", "nozzles_02Shape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_outlet_fabric3", "outlet_fabric3Shape_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_pole_end_02", "pole_end_02.png", false},
|
||||
{"AP11_interior_pole_end_03", "pole_end_03.png", false},
|
||||
{"AP11_interior_pole_tex_03", "pole_tex_03.png", false},
|
||||
{"AP11_interior_pole_tex_04", "pole_tex_04.png", false},
|
||||
{"AP11_interior_pole_tex_05", "pole_tex_05.png", false},
|
||||
{"AP11_interior_pole_tex_lower_01", "pole_tex_lower_01.png", false},
|
||||
{"AP11_interior_pole_under_seat_paint_01", "pole_under_seat_paint_01.png", false},
|
||||
{"AP11_interior_pole_under_seat_square_bar", "pole_under_seat_square_bar_paint_01.png", false},
|
||||
{"AP11_interior_push_switches_lft1", "push_switches_lft1Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_random_small_parts_01", "random_small_parts_01Shape_tpAmbient_paint_02.png", false},
|
||||
{"AP11_interior_red", "red.png", false},
|
||||
{"AP11_interior_reticle_wheel_tp", "reticle_wheel_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_rivet_paint_v001", "rivet_paint_v001.png", false},
|
||||
{"AP11_interior_seats_fabric", "seats_fabric_paint_01.png", false},
|
||||
{"AP11_interior_seat_left_tp", "seat_left_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_seat_lights_left", "seat_lights_left_Shape_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_seat_lights_rt", "seat_lights_rt_Shape_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_seat_middle_tp", "seat_middle_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_seat_poles_0Shape1", "seat_poles_0Shape1_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_seat_pole_mirror_0Shape1", "seat_pole_mirror_0Shape1_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_seat_rt_tp", "seat_rt_tpAmbient_paint_v001.png", false},
|
||||
{"AP11_interior_sextant_0Shape2", "sextant_0Shape2_tpAmbient.png", false},
|
||||
{"AP11_interior_switch_covers_main_middle1", "switch_covers_main_middle1Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_switch_rails_lft", "switch_rails_lftShape_tpAmbient.png", false},
|
||||
{"AP11_interior_tunnel_main_cylinder1", "switch_rails_lftShape_tpAmbient.png", false},
|
||||
{"AP11_interior_tunnel_switches_01", "tunnel_switches_01Shape_tpAmbient.png", false},
|
||||
{"AP11_interior_tunnel_wheelsShape", "tunnel_wheelsShape_tpAmbient.png", false},
|
||||
{"AP11_interior_walls_mid_left", "walls_mid_leftShape_tpAmbient_paint_01.png", false},
|
||||
{"AP11_interior_windows_front_0Shape4", "windows_front_0Shape4_tpAmbient_paint_01.png", false}
|
||||
}
|
||||
|
||||
|
||||
|
||||
asset.export("registerCsm", function (asset, parentNodeIdentifier)
|
||||
local parts = {}
|
||||
for i, info in ipairs(partsInfo) do
|
||||
parts[#parts + 1] = assetHelper.createModelPart(
|
||||
parentNodeIdentifier,
|
||||
sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
models,
|
||||
info[1],
|
||||
info[2],
|
||||
info[3]
|
||||
)
|
||||
end
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
|
||||
end)
|
||||
|
||||
|
||||
|
||||
asset.export("registerCsmFull", function (asset, parentNodeIdentifier)
|
||||
local parts = {}
|
||||
for i, info in ipairs(partsInfoFull) do
|
||||
parts[#parts + 1] = assetHelper.createModelPart(
|
||||
parentNodeIdentifier,
|
||||
sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
models,
|
||||
info[1],
|
||||
info[2],
|
||||
info[3]
|
||||
)
|
||||
end
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
|
||||
end)
|
||||
@@ -1,51 +0,0 @@
|
||||
--apollo_lem.asset (hopeful title)
|
||||
|
||||
-- This asset exports a function to create an Apollo Lunar Excursion Module (LEM).
|
||||
-- Instead of hard-coding the scene graph node parent,
|
||||
-- client assets can decide which object that the LEM should be attached to.
|
||||
-- Usage example: registerLem(asset, Apollo11Lem.Idenfitier)
|
||||
-- ...where Apollo11Lem is the scene graph node identifier to attach the LEM to.
|
||||
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Apollo Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "apollo_lem_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local partsInfo = {
|
||||
-- Data is structured as: Geometry file name (except .obj suffix), texture file name, shading
|
||||
-- Exterior
|
||||
{ "black", "black.png", true },
|
||||
{ "blue_glass", "blue_glass.png", true },
|
||||
{ "booster", "booster3.png", true },
|
||||
{ "bright_white", "white.png", true },
|
||||
{ "dark_grey_dish", "dark_gray.png", true },
|
||||
{ "dull_white", "dull_white.png", true },
|
||||
{ "gold", "gold.png", true },
|
||||
{ "light_grey", "light_gray.png", true },
|
||||
{ "mid_grey", "gray.png", true },
|
||||
{ "orange", "orange.png", true },
|
||||
{ "texture_lem_flag", "texture_lem_flag.png", true },
|
||||
{ "texture_lem_unitedstates", "texture_lem_unitedstates.png", true },
|
||||
{ "yellow_buttons", "yellow.png", true }
|
||||
}
|
||||
|
||||
|
||||
asset.export("registerLem", function (asset, parentNodeIdentifier)
|
||||
local parts = {}
|
||||
for i, info in ipairs(partsInfo) do
|
||||
parts[#parts + 1] = assetHelper.createModelPart(
|
||||
parentNodeIdentifier,
|
||||
sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
models,
|
||||
info[1],
|
||||
info[2],
|
||||
info[3]
|
||||
)
|
||||
end
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, parts)
|
||||
end)
|
||||
@@ -1,60 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local kernels = asset.require('./dawn_kernels').Kernels
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Ceres Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "ceres_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Ceres = {
|
||||
Identifier = "Ceres",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_CERES",
|
||||
DestinationFrame = "GALACTIC",
|
||||
Kernels = {
|
||||
kernels .. "/dawn_ceres_v01.tpc",
|
||||
kernels .. "/sb_ceres_140724.bsp",
|
||||
kernels .. "/sb_ceres_110211.bsp"
|
||||
}
|
||||
},
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "CERES",
|
||||
Observer = "SSB",
|
||||
Kernels = {
|
||||
kernels .. "/dawn_ceres_v01.tpc",
|
||||
kernels .. "/sb_ceres_140724.bsp",
|
||||
kernels .. "/sb_ceres_110211.bsp"
|
||||
}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableGlobe",
|
||||
Radii = { 6.390E5, 6.390E5, 6.390E5 },
|
||||
SegmentsPerPatch = 64,
|
||||
Layers = {
|
||||
ColorLayers = {
|
||||
{
|
||||
Name = "Texture",
|
||||
FilePath = textures .. "/gray.png",
|
||||
Enabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Dwarf Planets/Ceres"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Ceres })
|
||||
@@ -1,795 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local kernels = asset.require('./dawn_kernels').Kernels
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Dawn Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "dawn_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Dawn Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "dawn_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local KernelFiles = {
|
||||
kernels .. "/dawn_ref_070926-150201_070829.bsp",
|
||||
|
||||
--ik
|
||||
kernels .. "/dawn_fc_v10.ti",
|
||||
|
||||
-- SPK
|
||||
kernels .. "/sb_ceres_110211.bsp",
|
||||
kernels .. "/sb_ceres_140724.bsp",
|
||||
kernels .. "/sb_vesta_071107.bsp",
|
||||
|
||||
kernels .. "/dawn_rec_070927_070930_081218_v1.bsp",
|
||||
--[[kernels .. "/dawn_rec_070930_071201_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_071201_080205_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080205_080325_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080325_080503_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080503_080601_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080601_080718_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080718_080910_081218_v1.bsp",
|
||||
kernels .. "/dawn_rec_080910_081022_090218_v1.bsp",
|
||||
kernels .. "/dawn_rec_081022_081109_090218_v1.bsp",
|
||||
kernels .. "/dawn_rec_081109_090228_090306_v1.bsp",
|
||||
kernels .. "/dawn_rec_090228_090501_090702_v1.bsp",
|
||||
kernels .. "/dawn_rec_090501_090801_090916_v1.bsp",
|
||||
kernels .. "/dawn_rec_090801_090915_090923_v1.bsp",
|
||||
kernels .. "/dawn_rec_090915_091201_091202_v1.bsp",
|
||||
kernels .. "/dawn_rec_091201_100208_100209_v1.bsp",
|
||||
kernels .. "/dawn_rec_100208_100316_100323_v1.bsp",
|
||||
kernels .. "/dawn_rec_100316_100413_100422_v1.bsp",
|
||||
kernels .. "/dawn_rec_100413_100622_100830_v1.bsp",
|
||||
kernels .. "/dawn_rec_100622_100824_100830_v1.bsp",
|
||||
kernels .. "/dawn_rec_100824_101130_101202_v1.bsp",
|
||||
kernels .. "/dawn_rec_101130_110201_110201_v1.bsp",
|
||||
kernels .. "/dawn_rec_110201_110328_110328_v1.bsp",
|
||||
kernels .. "/dawn_rec_110328_110419_110420_v1.bsp",--]]
|
||||
|
||||
kernels .. "/dawn_rec_110416_110802_110913_v1.bsp",
|
||||
kernels .. "/dawn_rec_110802_110831_110922_v1.bsp",
|
||||
--[[kernels .. "/spk/dawn_rec_110831_110928_111221_v1.bsp",
|
||||
kernels .. "/dawn_rec_110928_111102_120615_v1.bsp",
|
||||
kernels .. "/dawn_rec_111102_111210_120618_v1.bsp",
|
||||
kernels .. "/dawn_rec_111211_120501_120620_v1.bsp",
|
||||
kernels .. "/dawn_rec_120501_120611_120625_v1.bsp",
|
||||
kernels .. "/dawn_rec_120611_120724_121101_v1.bsp",--]]
|
||||
kernels .. "/dawn_rec_120724_120913_121213_v1.bsp",
|
||||
|
||||
--PCK
|
||||
--kernels .. "/dawn_vesta_v06.tpc",
|
||||
--kernels .. "/dawn_ceres_v01.tpc",
|
||||
--kernels .. "/pck00008.tpc",
|
||||
|
||||
-- FK
|
||||
kernels .. "/dawn_vesta_v00.tf",
|
||||
kernels .. "/dawn_v12.tf",
|
||||
|
||||
--SCLK
|
||||
kernels .. "/dawn_203_sclkscet_00039.tsc",
|
||||
|
||||
-- CK
|
||||
kernels .. "/dawn_sc_070927_070930.bc",
|
||||
kernels .. "/dawn_sc_110801_110807.bc",
|
||||
kernels .. "/dawn_sc_110808_110814.bc",
|
||||
kernels .. "/dawn_sc_120910_120916.bc",
|
||||
-- kernels .. "/dawn_sc_111226_120101.bc",
|
||||
-- kernels .. "/dawn_sc_120102_120108.bc",
|
||||
-- kernels .. "/dawn_sc_120109_120115.bc",
|
||||
-- kernels .. "/dawn_sc_120116_120122.bc",
|
||||
-- kernels .. "/dawn_sc_120123_120129.bc",
|
||||
|
||||
-- all space craft CK files, ~10 gb
|
||||
-- kernels .. "/dawn_sc_120123_120129.bc",
|
||||
-- kernels .. "/dawn_sc_070927_070930.bc",
|
||||
--[[kernels .. "/ck/dawn_sc_071001_071007.bc",
|
||||
kernels .. "/dawn_sc_071008_071014_v2.bc",
|
||||
kernels .. "/dawn_sc_071015_071021.bc",
|
||||
kernels .. "/dawn_sc_071022_071028_v2.bc",
|
||||
kernels .. "/dawn_sc_071029_071104.bc",
|
||||
kernels .. "/dawn_sc_071105_071111.bc",
|
||||
kernels .. "/dawn_sc_071112_071118.bc",
|
||||
kernels .. "/dawn_sc_071119_071125.bc",
|
||||
kernels .. "/dawn_sc_071126_071202.bc",
|
||||
kernels .. "/dawn_sc_071203_071209.bc",
|
||||
kernels .. "/dawn_sc_071210_071216.bc",
|
||||
kernels .. "/dawn_sc_071217_071223.bc",
|
||||
kernels .. "/dawn_sc_071224_071230.bc",
|
||||
kernels .. "/dawn_sc_071231_080106.bc",
|
||||
kernels .. "/dawn_sc_080107_080113.bc",
|
||||
kernels .. "/dawn_sc_080114_080120.bc",
|
||||
kernels .. "/dawn_sc_080121_080127.bc",
|
||||
kernels .. "/dawn_sc_080128_080203.bc",
|
||||
kernels .. "/dawn_sc_080204_080210.bc",
|
||||
kernels .. "/dawn_sc_080211_080217.bc",
|
||||
kernels .. "/dawn_sc_080218_080224.bc",
|
||||
kernels .. "/dawn_sc_080225_080302.bc",
|
||||
kernels .. "/dawn_sc_080303_080309.bc",
|
||||
kernels .. "/dawn_sc_080310_080316.bc",
|
||||
kernels .. "/dawn_sc_080317_080323.bc",
|
||||
kernels .. "/dawn_sc_080324_080330.bc",
|
||||
kernels .. "/dawn_sc_080331_080406.bc",
|
||||
kernels .. "/dawn_sc_080407_080413.bc",
|
||||
kernels .. "/dawn_sc_080414_080420.bc",
|
||||
kernels .. "/dawn_sc_080421_080427.bc",
|
||||
kernels .. "/dawn_sc_080428_080504.bc",
|
||||
kernels .. "/dawn_sc_080505_080511.bc",
|
||||
kernels .. "/dawn_sc_080512_080518.bc",
|
||||
kernels .. "/dawn_sc_080519_080525.bc",
|
||||
kernels .. "/dawn_sc_080526_080601.bc",
|
||||
kernels .. "/dawn_sc_080602_080608.bc",
|
||||
kernels .. "/dawn_sc_080609_080615.bc",
|
||||
kernels .. "/dawn_sc_080616_080622.bc",
|
||||
kernels .. "/dawn_sc_080623_080629.bc",
|
||||
kernels .. "/dawn_sc_080630_080706.bc",
|
||||
kernels .. "/dawn_sc_080707_080713.bc",
|
||||
kernels .. "/dawn_sc_080714_080720.bc",
|
||||
kernels .. "/dawn_sc_080721_080727.bc",
|
||||
kernels .. "/dawn_sc_080728_080803.bc",
|
||||
kernels .. "/dawn_sc_080804_080810.bc",
|
||||
kernels .. "/dawn_sc_080811_080817.bc",
|
||||
kernels .. "/dawn_sc_080818_080824.bc",
|
||||
kernels .. "/dawn_sc_080825_080831.bc",
|
||||
kernels .. "/dawn_sc_080901_080907.bc",
|
||||
kernels .. "/dawn_sc_080908_080914.bc",
|
||||
kernels .. "/dawn_sc_080915_080921.bc",
|
||||
kernels .. "/dawn_sc_080922_080928.bc",
|
||||
kernels .. "/dawn_sc_080929_081005.bc",
|
||||
kernels .. "/dawn_sc_081006_081012.bc",
|
||||
kernels .. "/dawn_sc_081013_081019.bc",
|
||||
kernels .. "/dawn_sc_081020_081026.bc",
|
||||
kernels .. "/dawn_sc_081027_081102.bc",
|
||||
kernels .. "/dawn_sc_081103_081109.bc",
|
||||
kernels .. "/dawn_sc_081110_081116.bc",
|
||||
kernels .. "/dawn_sc_081117_081123.bc",
|
||||
kernels .. "/dawn_sc_081124_081130.bc",
|
||||
kernels .. "/dawn_sc_081201_081207.bc",
|
||||
kernels .. "/dawn_sc_081208_081214.bc",
|
||||
kernels .. "/dawn_sc_081215_081221.bc",
|
||||
kernels .. "/dawn_sc_081222_081228.bc",
|
||||
kernels .. "/dawn_sc_081229_090104.bc",
|
||||
kernels .. "/dawn_sc_090105_090111.bc",
|
||||
kernels .. "/dawn_sc_090112_090118.bc",
|
||||
kernels .. "/dawn_sc_090119_090125.bc",
|
||||
kernels .. "/dawn_sc_090126_090201.bc",
|
||||
kernels .. "/dawn_sc_090202_090208.bc",
|
||||
kernels .. "/dawn_sc_090209_090215.bc",
|
||||
kernels .. "/dawn_sc_090216_090222.bc",
|
||||
kernels .. "/dawn_sc_090223_090301.bc",
|
||||
kernels .. "/dawn_sc_090302_090308.bc",
|
||||
kernels .. "/dawn_sc_090309_090315.bc",
|
||||
kernels .. "/dawn_sc_090316_090322.bc",
|
||||
kernels .. "/dawn_sc_090323_090329.bc",
|
||||
kernels .. "/dawn_sc_090330_090405.bc",
|
||||
kernels .. "/dawn_sc_090406_090412.bc",
|
||||
kernels .. "/dawn_sc_090413_090419.bc",
|
||||
kernels .. "/dawn_sc_090420_090426.bc",
|
||||
kernels .. "/dawn_sc_090427_090503.bc",
|
||||
kernels .. "/dawn_sc_090504_090510.bc",
|
||||
kernels .. "/dawn_sc_090511_090517.bc",
|
||||
kernels .. "/dawn_sc_090518_090524.bc",
|
||||
kernels .. "/dawn_sc_090525_090531.bc",
|
||||
kernels .. "/dawn_sc_090601_090607.bc",
|
||||
kernels .. "/dawn_sc_090608_090614.bc",
|
||||
kernels .. "/dawn_sc_090615_090621.bc",
|
||||
kernels .. "/dawn_sc_090622_090628.bc",
|
||||
kernels .. "/dawn_sc_090629_090705.bc",
|
||||
kernels .. "/dawn_sc_090706_090712.bc",
|
||||
kernels .. "/dawn_sc_090713_090719.bc",
|
||||
kernels .. "/dawn_sc_090720_090726.bc",
|
||||
kernels .. "/dawn_sc_090727_090802.bc",
|
||||
kernels .. "/dawn_sc_090803_090809.bc",
|
||||
kernels .. "/dawn_sc_090810_090816.bc",
|
||||
kernels .. "/dawn_sc_090817_090823.bc",
|
||||
kernels .. "/dawn_sc_090824_090830.bc",
|
||||
kernels .. "/dawn_sc_090831_090906.bc",
|
||||
kernels .. "/dawn_sc_090907_090913.bc",
|
||||
kernels .. "/dawn_sc_090914_090920.bc",
|
||||
kernels .. "/dawn_sc_090921_090927.bc",
|
||||
kernels .. "/dawn_sc_090928_091004.bc",
|
||||
kernels .. "/dawn_sc_091005_091011.bc",
|
||||
kernels .. "/dawn_sc_091012_091018.bc",
|
||||
kernels .. "/dawn_sc_091019_091025.bc",
|
||||
kernels .. "/dawn_sc_091026_091101.bc",
|
||||
kernels .. "/dawn_sc_091102_091108.bc",
|
||||
kernels .. "/dawn_sc_091109_091115.bc",
|
||||
kernels .. "/dawn_sc_091116_091122.bc",
|
||||
kernels .. "/dawn_sc_091123_091129.bc",
|
||||
kernels .. "/dawn_sc_091130_091206.bc",
|
||||
kernels .. "/dawn_sc_091207_091213.bc",
|
||||
kernels .. "/dawn_sc_091214_091220.bc",
|
||||
kernels .. "/dawn_sc_091221_091227.bc",
|
||||
kernels .. "/dawn_sc_091228_100103.bc",
|
||||
kernels .. "/dawn_sc_100104_100110_v2.bc",
|
||||
kernels .. "/dawn_sc_100111_100117_v2.bc",--]]
|
||||
-- kernels .. "/dawn_sc_100118_100124.bc",
|
||||
-- kernels .. "/dawn_sc_100125_100131.bc",
|
||||
-- kernels .. "/dawn_sc_100201_100207.bc",
|
||||
-- kernels .. "/dawn_sc_100208_100214.bc",
|
||||
-- kernels .. "/dawn_sc_100215_100221.bc",
|
||||
-- kernels .. "/dawn_sc_100222_100228.bc",
|
||||
-- kernels .. "/dawn_sc_100301_100307.bc",
|
||||
-- kernels .. "/dawn_sc_100308_100314.bc",
|
||||
-- kernels .. "/dawn_sc_100315_100321.bc",
|
||||
-- kernels .. "/dawn_sc_100322_100328.bc",
|
||||
-- kernels .. "/dawn_sc_100329_100404.bc",
|
||||
-- kernels .. "/dawn_sc_100405_100411.bc",
|
||||
-- kernels .. "/dawn_sc_100412_100418.bc",
|
||||
-- kernels .. "/dawn_sc_100419_100425.bc",
|
||||
-- kernels .. "/dawn_sc_100426_100502.bc",
|
||||
-- kernels .. "/dawn_sc_100503_100509.bc",
|
||||
-- kernels .. "/dawn_sc_100510_100516.bc",
|
||||
-- kernels .. "/dawn_sc_100517_100523.bc",
|
||||
-- kernels .. "/dawn_sc_100524_100530.bc",
|
||||
-- kernels .. "/dawn_sc_100531_100606.bc",
|
||||
-- kernels .. "/dawn_sc_100607_100613.bc",
|
||||
-- kernels .. "/dawn_sc_100614_100620.bc",
|
||||
-- kernels .. "/dawn_sc_100621_100627.bc",
|
||||
-- kernels .. "/dawn_sc_100628_100704.bc",
|
||||
-- kernels .. "/dawn_sc_100705_100711.bc",
|
||||
-- kernels .. "/dawn_sc_100712_100718.bc",
|
||||
-- kernels .. "/dawn_sc_100719_100725.bc",
|
||||
-- kernels .. "/dawn_sc_100726_100801.bc",
|
||||
-- kernels .. "/dawn_sc_100802_100808.bc",
|
||||
-- kernels .. "/dawn_sc_100809_100815.bc",
|
||||
-- kernels .. "/dawn_sc_100816_100822.bc",
|
||||
-- kernels .. "/dawn_sc_100823_100829.bc",
|
||||
-- kernels .. "/dawn_sc_100830_100905.bc",
|
||||
-- kernels .. "/dawn_sc_100906_100912.bc",
|
||||
-- kernels .. "/dawn_sc_100913_100919.bc",
|
||||
-- kernels .. "/dawn_sc_100920_100926.bc",
|
||||
-- kernels .. "/dawn_sc_100927_101003.bc",
|
||||
-- kernels .. "/dawn_sc_101004_101010.bc",
|
||||
-- kernels .. "/dawn_sc_101011_101017.bc",
|
||||
-- kernels .. "/dawn_sc_101018_101024.bc",
|
||||
-- kernels .. "/dawn_sc_101025_101031.bc",
|
||||
-- kernels .. "/dawn_sc_101101_101107.bc",
|
||||
-- kernels .. "/dawn_sc_101108_101114.bc",
|
||||
-- kernels .. "/dawn_sc_101115_101121.bc",
|
||||
-- kernels .. "/dawn_sc_101122_101128.bc",
|
||||
-- kernels .. "/dawn_sc_101129_101205.bc",
|
||||
-- kernels .. "/dawn_sc_101206_101212.bc",
|
||||
-- kernels .. "/dawn_sc_101213_101219.bc",
|
||||
-- kernels .. "/dawn_sc_101220_101226.bc",
|
||||
-- kernels .. "/dawn_sc_101227_110102.bc",
|
||||
-- kernels .. "/dawn_sc_110103_110109.bc",
|
||||
-- kernels .. "/dawn_sc_110110_110116.bc",
|
||||
-- kernels .. "/dawn_sc_110117_110123.bc",
|
||||
-- kernels .. "/dawn_sc_110124_110130.bc",
|
||||
-- kernels .. "/dawn_sc_110131_110206.bc",
|
||||
-- kernels .. "/dawn_sc_110207_110213.bc",
|
||||
-- kernels .. "/dawn_sc_110214_110220.bc",
|
||||
-- kernels .. "/dawn_sc_110221_110227.bc",
|
||||
-- kernels .. "/dawn_sc_110228_110306.bc",
|
||||
-- kernels .. "/dawn_sc_110307_110313.bc",
|
||||
-- kernels .. "/dawn_sc_110314_110320.bc",
|
||||
-- kernels .. "/dawn_sc_110321_110327.bc",
|
||||
-- kernels .. "/dawn_sc_110328_110403.bc",
|
||||
-- kernels .. "/dawn_sc_110404_110410.bc",
|
||||
-- kernels .. "/dawn_sc_110411_110417.bc",
|
||||
-- kernels .. "/dawn_sc_110418_110424.bc",
|
||||
-- kernels .. "/dawn_sc_110425_110501.bc",
|
||||
-- kernels .. "/dawn_sc_110502_110508.bc",
|
||||
-- kernels .. "/dawn_sc_110509_110515.bc",
|
||||
-- kernels .. "/dawn_sc_110516_110522.bc",
|
||||
-- kernels .. "/dawn_sc_110523_110529.bc",
|
||||
-- kernels .. "/dawn_sc_110530_110605.bc",
|
||||
-- kernels .. "/dawn_sc_110606_110612.bc",
|
||||
-- kernels .. "/dawn_sc_110613_110619.bc",
|
||||
-- kernels .. "/dawn_sc_110620_110626.bc",
|
||||
-- kernels .. "/dawn_sc_110627_110703.bc",
|
||||
-- kernels .. "/dawn_sc_110704_110710.bc",
|
||||
-- kernels .. "/dawn_sc_110711_110717.bc",
|
||||
-- kernels .. "/dawn_sc_110718_110724.bc",
|
||||
-- kernels .. "/dawn_sc_110725_110731.bc",
|
||||
-- kernels .. "/dawn_sc_110801_110807.bc",
|
||||
-- kernels .. "/dawn_sc_110808_110814.bc",
|
||||
-- kernels .. "/dawn_sc_110815_110821.bc",
|
||||
-- kernels .. "/dawn_sc_110822_110828.bc",
|
||||
-- kernels .. "/dawn_sc_110829_110904.bc",
|
||||
-- kernels .. "/dawn_sc_110905_110911.bc",
|
||||
-- kernels .. "/dawn_sc_110912_110918.bc",
|
||||
-- kernels .. "/dawn_sc_110919_110925.bc",
|
||||
-- kernels .. "/dawn_sc_110926_111002.bc",
|
||||
-- kernels .. "/dawn_sc_111003_111009.bc",
|
||||
-- kernels .. "/dawn_sc_111010_111016.bc",
|
||||
-- kernels .. "/dawn_sc_111017_111023.bc",
|
||||
-- kernels .. "/dawn_sc_111024_111030.bc",
|
||||
-- kernels .. "/dawn_sc_111031_111106.bc",
|
||||
-- kernels .. "/dawn_sc_111107_111113.bc",
|
||||
-- kernels .. "/dawn_sc_111114_111120.bc",
|
||||
-- kernels .. "/dawn_sc_111121_111127.bc",
|
||||
-- kernels .. "/dawn_sc_111128_111204.bc",
|
||||
-- kernels .. "/dawn_sc_111205_111211.bc",
|
||||
-- kernels .. "/dawn_sc_111212_111218.bc",
|
||||
-- kernels .. "/dawn_sc_111219_111225.bc",
|
||||
-- kernels .. "/dawn_sc_111226_120101.bc",
|
||||
-- kernels .. "/dawn_sc_120102_120108.bc",
|
||||
-- kernels .. "/dawn_sc_120109_120115.bc",
|
||||
-- kernels .. "/dawn_sc_120116_120122.bc",
|
||||
-- kernels .. "/dawn_sc_120123_120129.bc",
|
||||
-- kernels .. "/dawn_sc_120130_120205.bc",
|
||||
-- kernels .. "/dawn_sc_120206_120212.bc",
|
||||
-- kernels .. "/dawn_sc_120213_120219.bc",
|
||||
-- kernels .. "/dawn_sc_120220_120226.bc",
|
||||
-- kernels .. "/dawn_sc_120227_120304.bc",
|
||||
-- kernels .. "/dawn_sc_120305_120311.bc",
|
||||
-- kernels .. "/dawn_sc_120312_120318.bc",
|
||||
-- kernels .. "/dawn_sc_120319_120325.bc",
|
||||
-- kernels .. "/dawn_sc_120326_120401.bc",
|
||||
-- kernels .. "/dawn_sc_120402_120408.bc",
|
||||
-- kernels .. "/dawn_sc_120409_120415.bc",
|
||||
-- kernels .. "/dawn_sc_120416_120422.bc",
|
||||
-- kernels .. "/dawn_sc_120423_120429.bc",
|
||||
-- kernels .. "/dawn_sc_120430_120506.bc",
|
||||
-- kernels .. "/dawn_sc_120507_120513.bc",
|
||||
-- kernels .. "/dawn_sc_120514_120520.bc",
|
||||
-- kernels .. "/dawn_sc_120521_120527.bc",
|
||||
-- kernels .. "/dawn_sc_120528_120603.bc",
|
||||
-- kernels .. "/dawn_sc_120604_120610.bc",
|
||||
-- kernels .. "/dawn_sc_120611_120617.bc",
|
||||
-- kernels .. "/dawn_sc_120618_120624.bc",
|
||||
-- kernels .. "/dawn_sc_120625_120701.bc",
|
||||
-- kernels .. "/dawn_sc_120702_120708.bc",
|
||||
-- kernels .. "/dawn_sc_120709_120715.bc",
|
||||
-- kernels .. "/dawn_sc_120716_120722.bc",
|
||||
-- kernels .. "/dawn_sc_120723_120729.bc",
|
||||
-- kernels .. "/dawn_sc_120730_120805.bc",
|
||||
-- kernels .. "/dawn_sc_120806_120812.bc",
|
||||
-- kernels .. "/dawn_sc_120813_120819.bc",
|
||||
-- kernels .. "/dawn_sc_120820_120826.bc",
|
||||
-- kernels .. "/dawn_sc_120827_120902.bc",
|
||||
-- kernels .. "/dawn_sc_120903_120909.bc",
|
||||
-- kernels .. "/dawn_sc_120910_120916.bc",
|
||||
-- kernels .. "/dawn_sc_f2_3942xxxxx.bc",
|
||||
-- kernels .. "/dawn_sc_pred_da028b_00_eu.bc",
|
||||
-- kernels .. "/dawn_sc_pred_dc041a_00.bc",
|
||||
|
||||
-- Solar array rotation kernels ~ 2gb
|
||||
kernels .. "/dawn_sa_070927_070930.bc",
|
||||
--[[kernels .. "/ck/dawn_sa_071001_071007.bc",
|
||||
kernels .. "/dawn_sa_071008_071014.bc",
|
||||
kernels .. "/dawn_sa_071015_071021.bc",
|
||||
kernels .. "/dawn_sa_071022_071028_v2.bc",
|
||||
kernels .. "/dawn_sa_071029_071104.bc",
|
||||
kernels .. "/dawn_sa_071105_071111.bc",
|
||||
kernels .. "/dawn_sa_071112_071118.bc",
|
||||
kernels .. "/dawn_sa_071119_071125.bc",
|
||||
kernels .. "/dawn_sa_071126_071202.bc",
|
||||
kernels .. "/dawn_sa_071203_071209.bc",
|
||||
kernels .. "/dawn_sa_071210_071216.bc",
|
||||
kernels .. "/dawn_sa_071217_071223.bc",
|
||||
kernels .. "/dawn_sa_071224_071230.bc",
|
||||
kernels .. "/dawn_sa_071231_080106.bc",
|
||||
kernels .. "/dawn_sa_080107_080113.bc",
|
||||
kernels .. "/dawn_sa_080114_080120.bc",
|
||||
kernels .. "/dawn_sa_080121_080127.bc",
|
||||
kernels .. "/dawn_sa_080128_080203.bc",
|
||||
kernels .. "/dawn_sa_080204_080210.bc",
|
||||
kernels .. "/dawn_sa_080211_080217.bc",
|
||||
kernels .. "/dawn_sa_080218_080224.bc",
|
||||
kernels .. "/dawn_sa_080225_080302.bc",
|
||||
kernels .. "/dawn_sa_080303_080309.bc",
|
||||
kernels .. "/dawn_sa_080310_080316.bc",
|
||||
kernels .. "/dawn_sa_080317_080323.bc",
|
||||
kernels .. "/dawn_sa_080324_080330.bc",
|
||||
kernels .. "/dawn_sa_080331_080406.bc",
|
||||
kernels .. "/dawn_sa_080407_080413.bc",
|
||||
kernels .. "/dawn_sa_080414_080420.bc",
|
||||
kernels .. "/dawn_sa_080421_080427.bc",
|
||||
kernels .. "/dawn_sa_080428_080504.bc",
|
||||
kernels .. "/dawn_sa_080505_080511.bc",
|
||||
kernels .. "/dawn_sa_080512_080518.bc",
|
||||
kernels .. "/dawn_sa_080519_080525.bc",
|
||||
kernels .. "/dawn_sa_080526_080601.bc",
|
||||
kernels .. "/dawn_sa_080602_080608.bc",
|
||||
kernels .. "/dawn_sa_080609_080615.bc",
|
||||
kernels .. "/dawn_sa_080616_080622.bc",
|
||||
kernels .. "/dawn_sa_080623_080629.bc",
|
||||
kernels .. "/dawn_sa_080630_080706.bc",
|
||||
kernels .. "/dawn_sa_080707_080713.bc",
|
||||
kernels .. "/dawn_sa_080714_080720.bc",
|
||||
kernels .. "/dawn_sa_080721_080727.bc",
|
||||
kernels .. "/dawn_sa_080728_080803.bc",
|
||||
kernels .. "/dawn_sa_080804_080810.bc",
|
||||
kernels .. "/dawn_sa_080811_080817.bc",
|
||||
kernels .. "/dawn_sa_080818_080824.bc",
|
||||
kernels .. "/dawn_sa_080825_080831.bc",
|
||||
kernels .. "/dawn_sa_080901_080907.bc",
|
||||
kernels .. "/dawn_sa_080908_080914.bc",
|
||||
kernels .. "/dawn_sa_080915_080921.bc",
|
||||
kernels .. "/dawn_sa_080922_080928.bc",
|
||||
kernels .. "/dawn_sa_080929_081005.bc",
|
||||
kernels .. "/dawn_sa_081006_081012.bc",
|
||||
kernels .. "/dawn_sa_081013_081019.bc",
|
||||
kernels .. "/dawn_sa_081020_081026.bc",
|
||||
kernels .. "/dawn_sa_081027_081102.bc",
|
||||
kernels .. "/dawn_sa_081103_081109.bc",
|
||||
kernels .. "/dawn_sa_081110_081116.bc",
|
||||
kernels .. "/dawn_sa_081117_081123.bc",
|
||||
kernels .. "/dawn_sa_081124_081130.bc",
|
||||
kernels .. "/dawn_sa_081201_081207.bc",
|
||||
kernels .. "/dawn_sa_081208_081214.bc",
|
||||
kernels .. "/dawn_sa_081215_081221.bc",
|
||||
kernels .. "/dawn_sa_081222_081228.bc",
|
||||
kernels .. "/dawn_sa_081229_090104.bc",
|
||||
kernels .. "/dawn_sa_090105_090111.bc",
|
||||
kernels .. "/dawn_sa_090112_090118.bc",
|
||||
kernels .. "/dawn_sa_090119_090125.bc",
|
||||
kernels .. "/dawn_sa_090126_090201.bc",
|
||||
kernels .. "/dawn_sa_090202_090208.bc",
|
||||
kernels .. "/dawn_sa_090209_090215.bc",
|
||||
kernels .. "/dawn_sa_090216_090222.bc",
|
||||
kernels .. "/dawn_sa_090223_090301.bc",
|
||||
kernels .. "/dawn_sa_090302_090308.bc",
|
||||
kernels .. "/dawn_sa_090309_090315.bc",
|
||||
kernels .. "/dawn_sa_090316_090322.bc",
|
||||
kernels .. "/dawn_sa_090323_090329.bc",
|
||||
kernels .. "/dawn_sa_090330_090405.bc",
|
||||
kernels .. "/dawn_sa_090406_090412.bc",
|
||||
kernels .. "/dawn_sa_090413_090419.bc",
|
||||
kernels .. "/dawn_sa_090420_090426.bc",
|
||||
kernels .. "/dawn_sa_090427_090503.bc",
|
||||
kernels .. "/dawn_sa_090504_090510.bc",
|
||||
kernels .. "/dawn_sa_090511_090517.bc",
|
||||
kernels .. "/dawn_sa_090518_090524.bc",
|
||||
kernels .. "/dawn_sa_090525_090531.bc",
|
||||
kernels .. "/dawn_sa_090601_090607.bc",
|
||||
kernels .. "/dawn_sa_090608_090614.bc",
|
||||
kernels .. "/dawn_sa_090615_090621.bc",
|
||||
kernels .. "/dawn_sa_090622_090628.bc",
|
||||
kernels .. "/dawn_sa_090629_090705.bc",
|
||||
kernels .. "/dawn_sa_090706_090712.bc",
|
||||
kernels .. "/dawn_sa_090713_090719.bc",
|
||||
kernels .. "/dawn_sa_090720_090726.bc",
|
||||
kernels .. "/dawn_sa_090727_090802.bc",
|
||||
kernels .. "/dawn_sa_090803_090809.bc",
|
||||
kernels .. "/dawn_sa_090810_090816.bc",
|
||||
kernels .. "/dawn_sa_090817_090823.bc",
|
||||
kernels .. "/dawn_sa_090824_090830.bc",
|
||||
kernels .. "/dawn_sa_090831_090906.bc",
|
||||
kernels .. "/dawn_sa_090907_090913.bc",
|
||||
kernels .. "/dawn_sa_090914_090920.bc",
|
||||
kernels .. "/dawn_sa_090921_090927.bc",
|
||||
kernels .. "/dawn_sa_090928_091004.bc",
|
||||
kernels .. "/dawn_sa_091005_091011.bc",
|
||||
kernels .. "/dawn_sa_091012_091018.bc",
|
||||
kernels .. "/dawn_sa_091019_091025.bc",
|
||||
kernels .. "/dawn_sa_091026_091101.bc",
|
||||
kernels .. "/dawn_sa_091102_091108.bc",
|
||||
kernels .. "/dawn_sa_091109_091115.bc",
|
||||
kernels .. "/dawn_sa_091116_091122.bc",
|
||||
kernels .. "/dawn_sa_091123_091129.bc",
|
||||
kernels .. "/dawn_sa_091130_091206.bc",
|
||||
kernels .. "/dawn_sa_091207_091213.bc",
|
||||
kernels .. "/dawn_sa_091214_091220.bc",
|
||||
kernels .. "/dawn_sa_091221_091227.bc",
|
||||
kernels .. "/dawn_sa_091228_100103.bc",
|
||||
kernels .. "/dawn_sa_100104_100110_v2.bc",
|
||||
kernels .. "/dawn_sa_100111_100117_v2.bc",
|
||||
kernels .. "/dawn_sa_100118_100124.bc",
|
||||
kernels .. "/dawn_sa_100125_100131.bc",
|
||||
kernels .. "/dawn_sa_100201_100207.bc",
|
||||
kernels .. "/dawn_sa_100208_100214.bc",
|
||||
kernels .. "/dawn_sa_100215_100221.bc",
|
||||
kernels .. "/dawn_sa_100222_100228.bc",
|
||||
kernels .. "/dawn_sa_100301_100307.bc",
|
||||
kernels .. "/dawn_sa_100308_100314.bc",
|
||||
kernels .. "/dawn_sa_100315_100321.bc",
|
||||
kernels .. "/dawn_sa_100322_100328.bc",
|
||||
kernels .. "/dawn_sa_100329_100404.bc",
|
||||
kernels .. "/dawn_sa_100405_100411.bc",
|
||||
kernels .. "/dawn_sa_100412_100418.bc",
|
||||
kernels .. "/dawn_sa_100419_100425.bc",
|
||||
kernels .. "/dawn_sa_100426_100502.bc",
|
||||
kernels .. "/dawn_sa_100503_100509.bc",
|
||||
kernels .. "/dawn_sa_100510_100516.bc",
|
||||
kernels .. "/dawn_sa_100517_100523.bc",
|
||||
kernels .. "/dawn_sa_100524_100530.bc",
|
||||
kernels .. "/dawn_sa_100531_100606.bc",
|
||||
kernels .. "/dawn_sa_100607_100613.bc",
|
||||
kernels .. "/dawn_sa_100614_100620.bc",
|
||||
kernels .. "/dawn_sa_100621_100627.bc",
|
||||
kernels .. "/dawn_sa_100628_100704.bc",
|
||||
kernels .. "/dawn_sa_100705_100711.bc",
|
||||
kernels .. "/dawn_sa_100712_100718.bc",
|
||||
kernels .. "/dawn_sa_100719_100725.bc",
|
||||
kernels .. "/dawn_sa_100726_100801.bc",
|
||||
kernels .. "/dawn_sa_100802_100808.bc",
|
||||
kernels .. "/dawn_sa_100809_100815.bc",
|
||||
kernels .. "/dawn_sa_100816_100822.bc",
|
||||
kernels .. "/dawn_sa_100823_100829.bc",
|
||||
kernels .. "/dawn_sa_100830_100905.bc",
|
||||
kernels .. "/dawn_sa_100906_100912.bc",
|
||||
kernels .. "/dawn_sa_100913_100919.bc",
|
||||
kernels .. "/dawn_sa_100920_100926.bc",
|
||||
kernels .. "/dawn_sa_100927_101003.bc",
|
||||
kernels .. "/dawn_sa_101004_101010.bc",
|
||||
kernels .. "/dawn_sa_101011_101017.bc", --]]
|
||||
-- kernels .. "/dawn_sa_101018_101024.bc",
|
||||
-- kernels .. "/dawn_sa_101025_101031.bc",
|
||||
-- kernels .. "/dawn_sa_101101_101107.bc",
|
||||
-- kernels .. "/dawn_sa_101108_101114.bc",
|
||||
-- kernels .. "/dawn_sa_101115_101121.bc",
|
||||
-- kernels .. "/dawn_sa_101122_101128.bc",
|
||||
-- kernels .. "/dawn_sa_101129_101205.bc",
|
||||
-- kernels .. "/dawn_sa_101206_101212.bc",
|
||||
-- kernels .. "/dawn_sa_101213_101219.bc",
|
||||
-- kernels .. "/dawn_sa_101220_101226.bc",
|
||||
-- kernels .. "/dawn_sa_101227_110102.bc",
|
||||
-- kernels .. "/dawn_sa_110103_110109.bc",
|
||||
-- kernels .. "/dawn_sa_110110_110116.bc",
|
||||
-- kernels .. "/dawn_sa_110117_110123.bc",
|
||||
-- kernels .. "/dawn_sa_110124_110130.bc",
|
||||
-- kernels .. "/dawn_sa_110131_110206.bc",
|
||||
-- kernels .. "/dawn_sa_110207_110213.bc",
|
||||
-- kernels .. "/dawn_sa_110214_110220.bc",
|
||||
-- kernels .. "/dawn_sa_110221_110227.bc",
|
||||
-- kernels .. "/dawn_sa_110228_110306.bc",
|
||||
-- kernels .. "/dawn_sa_110307_110313.bc",
|
||||
-- kernels .. "/dawn_sa_110314_110320.bc",
|
||||
-- kernels .. "/dawn_sa_110321_110327.bc",
|
||||
-- kernels .. "/dawn_sa_110328_110403.bc",
|
||||
-- kernels .. "/dawn_sa_110404_110410.bc",
|
||||
-- kernels .. "/dawn_sa_110411_110417.bc",
|
||||
-- kernels .. "/dawn_sa_110418_110424.bc",
|
||||
-- kernels .. "/dawn_sa_110425_110501.bc",
|
||||
-- kernels .. "/dawn_sa_110502_110508.bc",
|
||||
-- kernels .. "/dawn_sa_110509_110515.bc",
|
||||
-- kernels .. "/dawn_sa_110516_110522.bc",
|
||||
-- kernels .. "/dawn_sa_110523_110529.bc",
|
||||
-- kernels .. "/dawn_sa_110530_110605.bc",
|
||||
-- kernels .. "/dawn_sa_110606_110612.bc",
|
||||
-- kernels .. "/dawn_sa_110613_110619.bc",
|
||||
-- kernels .. "/dawn_sa_110620_110626.bc",
|
||||
-- kernels .. "/dawn_sa_110627_110703.bc",
|
||||
-- kernels .. "/dawn_sa_110704_110710.bc",
|
||||
-- kernels .. "/dawn_sa_110711_110717.bc",
|
||||
-- kernels .. "/dawn_sa_110718_110724.bc",
|
||||
-- kernels .. "/dawn_sa_110725_110731.bc",
|
||||
-- kernels .. "/dawn_sa_110801_110807.bc",
|
||||
-- kernels .. "/dawn_sa_110808_110814.bc",
|
||||
-- kernels .. "/dawn_sa_110815_110821.bc",
|
||||
-- kernels .. "/dawn_sa_110822_110828.bc",
|
||||
-- kernels .. "/dawn_sa_110829_110904.bc",
|
||||
-- kernels .. "/dawn_sa_110905_110911.bc",
|
||||
-- kernels .. "/dawn_sa_110912_110918.bc",
|
||||
-- kernels .. "/dawn_sa_110919_110925.bc",
|
||||
-- kernels .. "/dawn_sa_110926_111002.bc",
|
||||
-- kernels .. "/dawn_sa_111003_111009.bc",
|
||||
-- kernels .. "/dawn_sa_111010_111016.bc",
|
||||
-- kernels .. "/dawn_sa_111017_111023.bc",
|
||||
-- kernels .. "/dawn_sa_111024_111030.bc",
|
||||
-- kernels .. "/dawn_sa_111031_111106.bc",
|
||||
-- kernels .. "/dawn_sa_111107_111113.bc",
|
||||
-- kernels .. "/dawn_sa_111114_111120.bc",
|
||||
-- kernels .. "/dawn_sa_111121_111127.bc",
|
||||
-- kernels .. "/dawn_sa_111128_111204.bc",
|
||||
-- kernels .. "/dawn_sa_111205_111211.bc",
|
||||
-- kernels .. "/dawn_sa_111212_111218.bc",
|
||||
-- kernels .. "/dawn_sa_111219_111225.bc",
|
||||
-- kernels .. "/dawn_sa_111226_120101.bc",
|
||||
-- kernels .. "/dawn_sa_120102_120108.bc",
|
||||
-- kernels .. "/dawn_sa_120109_120115.bc",
|
||||
-- kernels .. "/dawn_sa_120116_120122.bc",
|
||||
-- kernels .. "/dawn_sa_120123_120129.bc",
|
||||
-- kernels .. "/dawn_sa_120130_120205.bc",
|
||||
-- kernels .. "/dawn_sa_120206_120212.bc",
|
||||
-- kernels .. "/dawn_sa_120213_120219.bc",
|
||||
-- kernels .. "/dawn_sa_120220_120226.bc",
|
||||
-- kernels .. "/dawn_sa_120227_120304.bc",
|
||||
-- kernels .. "/dawn_sa_120305_120311.bc",
|
||||
-- kernels .. "/dawn_sa_120312_120318.bc",
|
||||
-- kernels .. "/dawn_sa_120319_120325.bc",
|
||||
-- kernels .. "/dawn_sa_120326_120401.bc",
|
||||
-- kernels .. "/dawn_sa_120402_120408.bc",
|
||||
-- kernels .. "/dawn_sa_120409_120415.bc",
|
||||
-- kernels .. "/dawn_sa_120416_120422.bc",
|
||||
-- kernels .. "/dawn_sa_120423_120429.bc",
|
||||
-- kernels .. "/dawn_sa_120430_120506.bc",
|
||||
-- kernels .. "/dawn_sa_120507_120513.bc",
|
||||
-- kernels .. "/dawn_sa_120514_120520.bc",
|
||||
-- kernels .. "/dawn_sa_120521_120527.bc",
|
||||
-- kernels .. "/dawn_sa_120528_120603.bc",
|
||||
-- kernels .. "/dawn_sa_120604_120610.bc",
|
||||
-- kernels .. "/dawn_sa_120611_120617.bc",
|
||||
-- kernels .. "/dawn_sa_120618_120624.bc",
|
||||
-- kernels .. "/dawn_sa_120625_120701.bc",
|
||||
-- kernels .. "/dawn_sa_120702_120708.bc",
|
||||
-- kernels .. "/dawn_sa_120709_120715.bc",
|
||||
-- kernels .. "/dawn_sa_120716_120722.bc",
|
||||
-- kernels .. "/dawn_sa_120723_120729.bc",
|
||||
-- kernels .. "/dawn_sa_120730_120805.bc",
|
||||
-- kernels .. "/dawn_sa_120806_120812.bc",
|
||||
-- kernels .. "/dawn_sa_120813_120819.bc",
|
||||
-- kernels .. "/dawn_sa_120820_120826.bc",
|
||||
-- kernels .. "/dawn_sa_120827_120902.bc",
|
||||
-- kernels .. "/dawn_sa_120903_120909.bc",
|
||||
-- kernels .. "/dawn_sa_120910_120916.bc",
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
local Dawn = {
|
||||
Identifier = "Dawn",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "DAWN",
|
||||
Observer = "SUN",
|
||||
Kernels = KernelFiles
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "DAWN_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC",
|
||||
Kernels = KernelFiles
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "DAWN",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/mainbodydawn.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
-- Dawn Solar Array module 1
|
||||
local DawnSolarArray1 = {
|
||||
Identifier = "DawnSolar1",
|
||||
Parent = Dawn.Identifier,
|
||||
Transformation = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "DAWN_SA-Y",
|
||||
DestinationFrame = "DAWN_SPACECRAFT"
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "DAWN",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/solarpanelleft.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Dawn Solar 1",
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
-- Dawn Solar Array module 2
|
||||
local DawnSolarArray2 = {
|
||||
Identifier = "DawnSolar2",
|
||||
Parent = Dawn.Identifier,
|
||||
Transformation = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "DAWN_SA+Y",
|
||||
DestinationFrame = "DAWN_SPACECRAFT"
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "DAWN",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/solarpanelright.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Dawn Solar 2",
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
local DawnTrail = {
|
||||
Identifier = "DawnTrail",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "DAWN",
|
||||
Observer = "SUN"
|
||||
},
|
||||
Color = { 1.0, 0.8, 0.4 },
|
||||
ShowFullTrail = true,
|
||||
StartTime = "2007 SEP 26 13:28:00",
|
||||
EndTime = "2012 SEP 12 12:00:00",
|
||||
PointSize = 5,
|
||||
SampleInterval = 3600,
|
||||
TimeStampSubsampleFactor = 4,
|
||||
EnableFade = false,
|
||||
Rendering = "Lines+Points"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Dawn Trail",
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
-- DawnFov 1
|
||||
local DawnFramingCamera1 = {
|
||||
Identifier = "Dawn_framing_camera_1",
|
||||
Parent = Dawn.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "DAWN",
|
||||
Frame = "DAWN_SPACECRAFT",
|
||||
Color = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "DAWN_FC1",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { "VESTA", "CERES" }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Dawn Framing Camera 1",
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
local DawnFramingCamera2 = {
|
||||
Identifier = "Dawn_framing_camera_2",
|
||||
Parent = Dawn.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "DAWN",
|
||||
Frame = "DAWN_SPACECRAFT",
|
||||
Color = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "DAWN_FC2",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { "VESTA", "CERES" }
|
||||
},
|
||||
GUI = {
|
||||
Name = "Dawn Framing Camera 2",
|
||||
Path = "/Solar System/Missions/Dawn"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Dawn,
|
||||
DawnSolarArray1,
|
||||
DawnSolarArray2,
|
||||
DawnTrail,
|
||||
DawnFramingCamera1,
|
||||
DawnFramingCamera2
|
||||
})
|
||||
@@ -1,8 +0,0 @@
|
||||
local Kernels = asset.syncedResource({
|
||||
Name = "Dawn Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "dawn_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
asset.export("Kernels", Kernels)
|
||||
@@ -1,67 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Gaia Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "gaia_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local model = asset.syncedResource({
|
||||
Name = "Gaia Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "gaia_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
local Gaia = {
|
||||
Identifier = "Gaia",
|
||||
Parent = transforms.GaiaPosition.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "FixedRotation",
|
||||
Attached = "Gaia",
|
||||
XAxis = { 1.0, 0.0, 0.0 },
|
||||
XAxisOrthogonal = true,
|
||||
YAxis = "Sun",
|
||||
YAxisInverted = true
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 10.0
|
||||
}
|
||||
},
|
||||
-- X Orthogonal
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "GAIA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = model .. "/gaia.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gaia-baked.png",
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 0.3
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.4
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Gaia",
|
||||
Path = "/Solar System/Missions/Gaia"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Gaia })
|
||||
@@ -1,64 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local earthTransforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local trail = asset.syncedResource({
|
||||
Name = "Gaia Trail",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "gaia_trail",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local GaiaTrail = {
|
||||
Identifier = "GaiaTrail",
|
||||
Parent = earthTransforms.EarthBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Enabled = false,
|
||||
Translation = {
|
||||
Type = "HorizonsTranslation",
|
||||
HorizonsTextFile = trail .. "/gaia_orbit_horizons.dat"
|
||||
},
|
||||
Color = { 0.0, 0.8, 0.7 },
|
||||
ShowFullTrail = false,
|
||||
StartTime = "2013 DEC 19 09:55:10",
|
||||
EndTime = "2019 JUN 20 05:55:10",
|
||||
PointSize = 5,
|
||||
SampleInterval = 12000,
|
||||
TimeStampSubsampleFactor = 1,
|
||||
EnableFade = false,
|
||||
Rendering = "Lines"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Gaia Trail",
|
||||
Path = "/Solar System/Missions/Gaia"
|
||||
}
|
||||
}
|
||||
|
||||
local GaiaTrailEclip = {
|
||||
Identifier = "GaiaTrail_Eclip",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Enabled = false,
|
||||
Translation = {
|
||||
Type = "HorizonsTranslation",
|
||||
HorizonsTextFile = trail .. "/gaia_orbit_horizons_sun.dat"
|
||||
},
|
||||
Color = { 1.0, 0.0, 0.0 },
|
||||
ShowFullTrail = false,
|
||||
StartTime = "2013 DEC 19 09:55:10",
|
||||
EndTime = "2019 JUN 20 05:55:10",
|
||||
PointSize = 5,
|
||||
SampleInterval = 6000,
|
||||
TimeStampSubsampleFactor = 1,
|
||||
EnableFade = false,
|
||||
Rendering = "Lines"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Gaia Ecliptic Trail",
|
||||
Path = "/Solar System/Missions/Gaia"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { GaiaTrail, GaiaTrailEclip } )
|
||||
@@ -1,27 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local earthTransforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
|
||||
|
||||
local trail = asset.syncedResource({
|
||||
Name = "Gaia Trail",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "gaia_trail",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local GaiaPosition = {
|
||||
Identifier = "GaiaPosition",
|
||||
Parent = earthTransforms.EarthBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "HorizonsTranslation",
|
||||
HorizonsTextFile = trail .. "/gaia_orbit_horizons.dat"
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Position",
|
||||
Path = "/Solar System/Missions/Gaia"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { GaiaPosition })
|
||||
@@ -1,981 +0,0 @@
|
||||
asset.require('spice/base')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local models_chutes = asset.syncedResource({
|
||||
Name = "Insight Models Chutes",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_chutes",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_cruise_arrays = asset.syncedResource({
|
||||
Name = "Insight Models Cruise Arrays",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_cruise_arrays",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_cruise_cone = asset.syncedResource({
|
||||
Name = "Insight Models Cruise Cone",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_cruise_cone",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_lander_lander_deck = asset.syncedResource({
|
||||
Name = "Insight Models Lander Deck",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_lander_lander_deck",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_lander_legs_deploy = asset.syncedResource({
|
||||
Name = "Insight Models Lander Legs Deploy",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_lander_legs_deploy",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_lander_legs_stow = asset.syncedResource({
|
||||
Name = "Insight Models Lander Legs Stow",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_lander_legs_stow",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_lander_panels_deploy = asset.syncedResource({
|
||||
Name = "Insight Models Lander Panels Deploy",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_lander_panels_deploy",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models_lander_panels_stow = asset.syncedResource({
|
||||
Name = "Insight Models Lander Panels Stow",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_models_lander_panels_stow",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
local ikernels = asset.syncedResource({
|
||||
Name = "Insight Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "insight_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local iKernels = {
|
||||
ikernels .. '/nsyt_spk_cruise_od063_v1_approach2surface_SC_Lander.tsc',
|
||||
ikernels .. '/insight_v02.tfr',
|
||||
ikernels .. '/mar085s.bsp',
|
||||
ikernels .. '/nsyt_spk_cruise_POST_approach2surface_SC_Lander.bsp',
|
||||
ikernels .. '/nsyt_spk_cruise_POST_approach2surface_SC_Lander.bck',
|
||||
}
|
||||
|
||||
local RotationMatrix = {
|
||||
-1, 0, 0,
|
||||
0, 0, -1,
|
||||
0, -1, 0
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Mars",
|
||||
Node = "Mars",
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
--expected timeline
|
||||
local entryTimeStart = "2018 NOV 26 19:39:03.68"; --(-00:08:07.32 less then pdf)
|
||||
local parachuteDeployTime1 = "2018 NOV 26 19:42:41.68" -- entry + 218s
|
||||
local parachuteDeployTime20 = "2018 NOV 26 19:42:42.18" -- entry + 218.5s
|
||||
local parachuteDeployTime40 = "2018 NOV 26 19:42:42.68" -- entry + 219s
|
||||
local heatShieldSeperationTime = "2018 NOV 26 19:42:56.68" -- entry + 233s
|
||||
local legDeployTime = "2018 NOV 26 19:43:06.68" -- entry + 243s
|
||||
local landerSeperationTime = "2018 NOV 26 19:44:51.68" -- entry + 348s
|
||||
local touchdownTime = "2018 NOV 26 19:45:32.68" -- entry + 389s
|
||||
local panelDeployTime = "2018 NOV 26 19:45:33.68" -- entry + 390s
|
||||
local foreverTime = "2018 NOV 26 20:17:50.68" -- entry + 2327s
|
||||
|
||||
local kernelTouchdownTime = "2018 NOV 26 19:45:32.3"
|
||||
local spiceRotationEndTime = "2018 NOV 26 19:51:39"
|
||||
|
||||
local InsightParent = {
|
||||
Identifier = "InsightParent",
|
||||
Parent = "MarsBarycenter",
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "INSIGHT",
|
||||
Observer = "MARS",
|
||||
Frame = "GALACTIC",
|
||||
Kernels = iKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "INSIGHT_LANDER_CRUISE",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = spiceRotationEndTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "InsightParent",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
-- -1397 offset for MOLA
|
||||
local Insight = {
|
||||
Identifier = "Insight",
|
||||
Parent = "InsightParent",
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {0.0, 0.0, -3.1415}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Insight",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Entry_CapsuleA = {
|
||||
Identifier = "Insight_Entry_CapsuleA",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_cruise_cone .. "/cruise_insight_doubleside2_newcapsule_diffuse.obj"
|
||||
},
|
||||
ColorTexture = models_cruise_cone .. "/insight_newcapsule_diffuse.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Entry CapsuleA",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Entry_Capsule_Ring = {
|
||||
Identifier = "Insight_Entry_Capsule_Ring",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_cruise_cone .. "/insight_cruise_cone_ring_foil_gold.obj"
|
||||
},
|
||||
ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Entry Capsule Ring",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Entry_Capsule_Plugs = {
|
||||
Identifier = "Insight_Entry_Capsule_Plugs",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_cruise_cone .. "/insight_cruise_cone_capsule_diffuse.obj"
|
||||
},
|
||||
ColorTexture = models_cruise_cone .. "/insight_capsule_diffuse.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Entry Capsule Plugs",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Entry_Heatshield = {
|
||||
Identifier = "Insight_Entry_Heatshield",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_cruise_cone .. "/insight_cruise_heatshield_foil_gold.obj"
|
||||
},
|
||||
ColorTexture = models_cruise_cone .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = heatShieldSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Entry Heatshield",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_0 = {
|
||||
Identifier = "Insight_Parachute_0",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/insight_chute_frame01_diff1.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/chute_diff.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime1,
|
||||
End = parachuteDeployTime20
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Parachute0",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_Cords_0 = {
|
||||
Identifier = "Insight_Parachute_Cords_0",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/insight_chute_frame01_cords1.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime1,
|
||||
End = parachuteDeployTime20
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight ParachuteC0",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_20 = {
|
||||
Identifier = "Insight_Parachute_20",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/insight_chute_frame20_diff1.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/chute_diff.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime20,
|
||||
End = parachuteDeployTime40
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Parachute20",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_Cords_20 = {
|
||||
Identifier = "Insight_Parachute_Cords_20",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/insight_chute_frame20_cords1.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime20,
|
||||
End = parachuteDeployTime40
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight ParachuteC20",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_40 = {
|
||||
Identifier = "Insight_Parachute_40",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/chute_doubleside_frame40_diff.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/chute_diff.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime40,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Parachute40",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Parachute_Cords_40 = {
|
||||
Identifier = "Insight_Parachute_Cords_40",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_chutes .. "/insight_chute_frame40_cords1.obj"
|
||||
},
|
||||
ColorTexture = models_chutes .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = parachuteDeployTime40,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight ParachuteC40",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A001 = {
|
||||
Identifier = "Insight_Lander_A001",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A001",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A002 = {
|
||||
Identifier = "Insight_Lander_A002",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO02.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_02.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A002",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A003 = {
|
||||
Identifier = "Insight_Lander_A003",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO03.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_03.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A003",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A004 = {
|
||||
Identifier = "Insight_Lander_A004",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO04.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_04.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A004",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A005 = {
|
||||
Identifier = "Insight_Lander_A005",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO05.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_05.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A005",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A006 = {
|
||||
Identifier = "Insight_Lander_A006",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO06.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_06.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A006",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A007 = {
|
||||
Identifier = "Insight_Lander_A007",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO07.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_07.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A007",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_A008 = {
|
||||
Identifier = "Insight_Lander_A008",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_AO08.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_AO_08.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander A008",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_foil1 = {
|
||||
Identifier = "Insight_Lander_foil1",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_foil1.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/foil_silver_ramp.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander foil",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_Tex01 = {
|
||||
Identifier = "Insight_Lander_Tex01",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander Tex01",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Lander_Tex02 = {
|
||||
Identifier = "Insight_Lander_Tex02",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_lander_deck .. "/insight_lander_deck_tex02.obj"
|
||||
},
|
||||
ColorTexture = models_lander_lander_deck .. "/InSIGHT_tex_02.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight Lander Tex02",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Legs_Stowed_tex = {
|
||||
Identifier = "Insight_Legs_Stowed_tex",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_tex01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_legs_stow .. "/InSIGHT_tex_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = heatShieldSeperationTime,
|
||||
End = legDeployTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight legs_stow_tex",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Legs_Stowed_AO06 = {
|
||||
Identifier = "Insight_Legs_Stowed_AO",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_legs_stow .. "/insight_lander_legs_stow_AO06.obj"
|
||||
},
|
||||
ColorTexture = models_lander_legs_stow .. "/InSIGHT_AO_06.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = heatShieldSeperationTime,
|
||||
End = legDeployTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight legs_stow_AO",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Legs_Deployed_tex = {
|
||||
Identifier = "Insight_Legs_Deployed_tex",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_tex01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_legs_deploy .. "/InSIGHT_tex_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = legDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight legs_deploy_tex",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Legs_Deployed_AO06 = {
|
||||
Identifier = "Insight_Legs_Deployed_AO",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_legs_deploy .. "/insight_lander_legs_deploy_AO06.obj"
|
||||
},
|
||||
ColorTexture = models_lander_legs_deploy .. "/InSIGHT_AO_06.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = legDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight legs_deploy_AO",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Stowed_tex = {
|
||||
Identifier = "Insight_Panels_Stowed_tex",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_tex",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Stowed_tex2 = {
|
||||
Identifier = "Insight_Panels_Stowed_tex2",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_tex02.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_stow .. "/InSIGHT_tex_02.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_tex2",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Stowed_AO01 = {
|
||||
Identifier = "Insight_Panels_Stowed_AO",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_stow .. "/insight_lander_panels_stow_AO01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_stow .. "/InSIGHT_AO_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_stow_AO",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Deployed_tex = {
|
||||
Identifier = "Insight_panels_Deployed_tex",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_deploy_tex",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Deployed_tex2 = {
|
||||
Identifier = "Insight_panels_Deployed_tex2",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_tex02.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_deploy .. "/InSIGHT_tex_02.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_deploy_tex2",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Panels_Deployed_AO06 = {
|
||||
Identifier = "Insight_panels_Deployed_AO",
|
||||
Parent = Insight.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models_lander_panels_deploy .. "/insight_lander_panels_deploy_AO01.obj"
|
||||
},
|
||||
ColorTexture = models_lander_panels_deploy .. "/InSIGHT_AO_01.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources,
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = panelDeployTime,
|
||||
End = foreverTime
|
||||
},
|
||||
GUI = {
|
||||
Hidden = true,
|
||||
Name = "Insight panels_deploy_AO",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
local Insight_Trail = {
|
||||
Identifier = "InsightTrail",
|
||||
Parent = "Mars",
|
||||
Renderable = {
|
||||
Enabled = false,
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "-189",
|
||||
Observer = "MARS",
|
||||
Frame = "IAU_MARS",
|
||||
Kernels = iKernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "2018 NOV 26 19:30:13.390",
|
||||
EndTime = "2018 NOV 26 19:51:40.890",
|
||||
SampleInterval = 2
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = entryTimeStart,
|
||||
End = landerSeperationTime
|
||||
},
|
||||
GUI = {
|
||||
Name = "Insight Trail",
|
||||
Path = "/Solar System/Missions/Insight"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
InsightParent, Insight, Insight_Entry_CapsuleA, Insight_Entry_Capsule_Ring,
|
||||
Insight_Entry_Capsule_Plugs, Insight_Entry_Heatshield, Insight_Parachute_0,
|
||||
Insight_Parachute_Cords_0, Insight_Parachute_20, Insight_Parachute_Cords_20,
|
||||
Insight_Parachute_40, Insight_Parachute_Cords_40, Insight_Lander_A001,
|
||||
Insight_Lander_A002, Insight_Lander_A003, Insight_Lander_A004, Insight_Lander_A005,
|
||||
Insight_Lander_A006, Insight_Lander_A007, Insight_Lander_A008, Insight_Lander_foil1,
|
||||
Insight_Lander_Tex01, Insight_Lander_Tex02, Insight_Legs_Stowed_tex,
|
||||
Insight_Legs_Stowed_AO06, Insight_Legs_Deployed_tex, Insight_Legs_Deployed_AO06,
|
||||
Insight_Panels_Stowed_tex, Insight_Panels_Stowed_tex2, Insight_Panels_Stowed_AO01,
|
||||
Insight_Panels_Deployed_tex, Insight_Panels_Deployed_tex2,
|
||||
Insight_Panels_Deployed_AO06, Insight_Trail
|
||||
})
|
||||
@@ -1,202 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/planets/jupiter/transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Juno Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "juno_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local model = asset.syncedResource({
|
||||
Name = "Juno Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "juno_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Juno Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "juno_kernels",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local JunoKernels = {
|
||||
kernels .. "/juno_v12.tf",
|
||||
kernels .. "/JNO_SCLKSCET.00039.tsc",
|
||||
kernels .. "/juno_jade_v00.ti",
|
||||
kernels .. "/juno_jedi_v00.ti",
|
||||
kernels .. "/juno_jiram_v01.ti",
|
||||
kernels .. "/juno_junocam_v00.ti",
|
||||
kernels .. "/juno_mag_v00.ti",
|
||||
kernels .. "/juno_mwr_v01.ti",
|
||||
kernels .. "/juno_struct_v01.ti",
|
||||
kernels .. "/juno_uvs_v00.ti",
|
||||
kernels .. "/juno_waves_v00.ti",
|
||||
kernels .. "/juno_mwr_v01.ti",
|
||||
kernels .. "/spk_merge_110805_171017_130515.bsp",
|
||||
kernels .. "/juno_sc_nom_110807_171016_v01.bc",
|
||||
kernels .. "/juno_sc_prl_110930_111028_jc003c01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_111028_111125_jc004b00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_111125_111223_jc005b00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_111223_120127_jc006a02_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120127_120217_jc007a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120217_120316_jc008b00_v02.bc",
|
||||
kernels .. "/juno_sc_prl_120316_120413_jc009a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120413_120511_jc010a04_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120511_120608_jc011a01_v02.bc",
|
||||
kernels .. "/juno_sc_prl_120608_120706_jc012b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120706_120802_jc013a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120802_120824_jc014b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120824_120928_jc015m00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120919_120928_jc015o00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_120928_121026_jc016c03_v01.bc",
|
||||
kernels .. "/juno_sc_prl_121026_121123_jc017a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_121123_121221_jc018b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_121221_130118_jc019a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130118_130215_jc020b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130315_130412_jc022b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130412_130510_jc023b03_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130510_130607_jc024a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130607_130705_jc025a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130705_130802_jc026a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130726_131020_jx024a02_EFB_v03.bc",
|
||||
kernels .. "/juno_sc_prl_130802_130830_jc027a02_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130830_130927_jc028a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130926_131025_jc029a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_130927_131025_jc029c01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_131022_131025_jc029f00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_131025_131122_jc030b04_v01.bc",
|
||||
kernels .. "/juno_sc_prl_131122_131220_jc031b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_131220_140124_jc032a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140124_140214_jc033a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140214_140314_jc034b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140314_140411_jc035a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140411_140509_jc036b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140509_140606_jc037b02_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140606_140704_jc038a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140704_140801_jc039b01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140801_140829_jc040a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140829_140926_jc041a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_140926_141024_jc042a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_141024_141121_jc043a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_141105_141121_jc043m01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_141107_141121_jc043s01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_141121_141219_jc044a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_141219_150123_jc045a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150123_150213_jc046a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150213_150313_jc047a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150312_150409_jc048a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150410_150508_jc049a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150508_150605_jc050a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150605_150703_jc051a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150703_150731_jc052a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150731_150828_jc053a01_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150805_150828_jc053m00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150807_150828_jc053s00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150828_150924_jc054a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_150924_151023_jc055a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_151023_151120_jc056a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_151120_151218_jc057a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_151218_160115_jc058a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160115_160212_jc059a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160212_160311_jc060a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160311_160408_jc061a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160408_160506_jc062a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160506_160603_jc063a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160603_160630_jc064a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160708_160729_jm0001rp_v02.bc",
|
||||
kernels .. "/juno_sc_prl_160729_160826_jm0002rp_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160827_160920_jm0003a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_160924_161019_jm0004a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_161014_161115_jm0005a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_161022_161115_jm0005b00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_161115_161213_jx0405rp_v01.bc",
|
||||
kernels .. "/juno_sc_prl_161210_170115_jm0031a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170115_170201_jm0032a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170201_170309_jm0041a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170309_170326_jm0042rp_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170326_170427_jm0051rp_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170427_170518_jm0052rp_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170518_170615_jm0061a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170615_170710_jm0062a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170710_170805_jm0071a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170805_170831_jm0072a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170831_170927_jm0081a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_170927_171023_jm0082a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_171023_171030_jm0091a00_v01.bc",
|
||||
kernels .. "/juno_sc_prl_171023_171030_jm0091a00_v01.bc"
|
||||
}
|
||||
|
||||
local RotationMatrix = {
|
||||
0, 1, 0,
|
||||
0, 0, 1,
|
||||
1, 0, 0
|
||||
}
|
||||
|
||||
local Juno = {
|
||||
Identifier = "Juno",
|
||||
Parent = transforms.JupiterBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "JUNO",
|
||||
Observer = "JUPITER BARYCENTER",
|
||||
Kernels = JunoKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "JUNO_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC",
|
||||
Kernels = JunoKernels
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = model .. "/Juno.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2011-08-07T17:15:00",
|
||||
End = "2017-10-16T19:29:24"
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Juno"
|
||||
}
|
||||
}
|
||||
|
||||
local JunoTrail = {
|
||||
Identifier = "JunoTrail",
|
||||
Parent = transforms.JupiterBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "JUNO",
|
||||
Observer = "JUPITER BARYCENTER",
|
||||
Kernels = JunoKernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "2016 JUL 01",
|
||||
EndTime = "2016 DEC 13",
|
||||
SampleInterval = 2
|
||||
},
|
||||
GUI = {
|
||||
Name = "Juno Trail",
|
||||
Path = "/Solar System/Missions/Juno"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Juno, JunoTrail })
|
||||
@@ -1,59 +0,0 @@
|
||||
-- mercurymagnetosphere.asset
|
||||
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local localFolder = asset.syncedResource({
|
||||
Name = "Mercury Magnetosphere",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "mercury_magnetosphere",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
|
||||
local MercuryRadius = 2.4397E6
|
||||
|
||||
local Magnetosphere = {
|
||||
Name = "Mercury Magnetosphere",
|
||||
Identifier = "MercuryMagnetosphere",
|
||||
Parent = "MercuryBarycenter",
|
||||
SceneRadius = 0.8E+5,
|
||||
Renderable = {
|
||||
Type = "RenderableTimeVaryingVolume",
|
||||
SourceDirectory = localFolder,
|
||||
TransferFunction = localFolder .. "/transferfunction.txt",
|
||||
Variable = "rho",
|
||||
StepSize = "0.003",
|
||||
Dimensions = {64, 64, 64},
|
||||
GridType = "Cartesian",
|
||||
SecondsBefore = 24*60*60*365*100,
|
||||
SecondsAfter = 24*60*60*365*100,
|
||||
Enabled = false
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "MERCURY",
|
||||
Observer = "MERCURY BARYCENTER",
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "MERCURYSE",
|
||||
DestinationFrame = "GALACTIC",
|
||||
Kernels = {
|
||||
localFolder .. "/openspace_mercury.ti"
|
||||
}
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = MercuryRadius,
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Mercury Magnetosphere",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Magnetosphere
|
||||
})
|
||||
@@ -1,220 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local mercuryTransforms = asset.require('scene/solarsystem/planets/mercury/transforms')
|
||||
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Messenger Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "messenger_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Messenger Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "messenger_spice",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
|
||||
local LocalKernels = {
|
||||
kernels .. '/messenger_2548.tsc',
|
||||
kernels .. '/msgr_v231.tf',
|
||||
|
||||
kernels .. '/de405.bsp',
|
||||
kernels .. '/msgr_040803_150430_150430_od431sc_2.bsp',
|
||||
kernels .. '/msgr_antenna_v000.bsp',
|
||||
kernels .. '/msgr_de405_de423s.bsp',
|
||||
|
||||
kernels .. '/msgr_epps_v100.ti',
|
||||
kernels .. '/msgr_grns_v110.ti',
|
||||
kernels .. '/msgr_mag_v021.ti',
|
||||
kernels .. '/msgr_mascs_v100.ti',
|
||||
kernels .. '/msgr_mdis_v160.ti',
|
||||
kernels .. '/msgr_mla_v010.ti',
|
||||
kernels .. '/msgr_rs_v111.ti',
|
||||
kernels .. '/msgr_xrs_v001.ti',
|
||||
|
||||
|
||||
kernels .. '/pck00008.tpc',
|
||||
kernels .. '/pck00008_msgr.tpc',
|
||||
kernels .. '/pck00009_msgr_v10.tpc',
|
||||
kernels .. '/pck00010_msgr_v10.tpc',
|
||||
kernels .. '/pck00010_msgr_v23.tpc',
|
||||
kernels .. '/pck00010.tpc',
|
||||
|
||||
kernels .. '/msgr_1103_v02.bc',
|
||||
kernels .. '/msgr_1104_v02.bc',
|
||||
kernels .. '/msgr_1105_v02.bc',
|
||||
kernels .. '/msgr_1106_v02.bc',
|
||||
}
|
||||
|
||||
|
||||
local RotationMatrix = {
|
||||
1, 0, 0,
|
||||
0, 0, -1,
|
||||
0, 1, 0
|
||||
}
|
||||
|
||||
|
||||
local LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
|
||||
|
||||
local Messenger = {
|
||||
Identifier = "Messenger",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "MESSENGER",
|
||||
Observer = "SUN",
|
||||
Kernels = LocalKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "MSGR_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC",
|
||||
},
|
||||
},
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2011-03-01",
|
||||
End = "2011-06-30"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Messenger",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
local MessengerProbeBlack = {
|
||||
Identifier = "MessengerProbe_black",
|
||||
Parent = Messenger.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/MessengerProbe_black.obj"
|
||||
},
|
||||
ColorTexture = models .. "/Tex_black.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "MessengerProbe Black",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
local MessengerProbeFoil = {
|
||||
Identifier = "MessengerProbe_foil",
|
||||
Parent = Messenger.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/MessengerProbe_foil.obj"
|
||||
},
|
||||
ColorTexture = models .. "/foil_n2.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "MessengerProbe foil",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
local MessengerProbeHeatShield = {
|
||||
Identifier = "MessengerProbe_heatShield",
|
||||
Parent = Messenger.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/MessengerProbe_heatShield.obj"
|
||||
},
|
||||
ColorTexture = models .. "/AO_heatshield4.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "MessengerProbe Heat Sheild",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
local MessengerProbeMetal = {
|
||||
Identifier = "MessengerProbe_Metal",
|
||||
Parent = Messenger.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/MessengerProbe_metal.obj"
|
||||
},
|
||||
ColorTexture = models .. "/Tex_grey.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "MessengerProbe Metal",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local MessengerProbePanels = {
|
||||
Identifier = "MessengerProbe_panels",
|
||||
Parent = Messenger.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/MessengerProbe_panels.obj"
|
||||
},
|
||||
ColorTexture = models .. "/Messenger_tex.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "MessengerProbe Panels",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
local MessengerTrail = {
|
||||
Identifier = "MessengerTrail",
|
||||
Parent = mercuryTransforms.MercuryBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailOrbit",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "MESSENGER",
|
||||
Observer = "MERCURY BARYCENTER",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.288, 0.375, 0.934 },
|
||||
EnableFade = false,
|
||||
StartTime = "2011 MARCH 01 12:00:00",
|
||||
EndTime = "2011 MAY 30 12:00:00",
|
||||
Period = 12,
|
||||
Resolution = 10000
|
||||
|
||||
},
|
||||
GUI = {
|
||||
Name = "Messenger Trail",
|
||||
Path = "/Solar System/Missions/Messenger"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Messenger,
|
||||
MessengerProbeBlack,
|
||||
MessengerProbeFoil,
|
||||
MessengerProbeHeatShield,
|
||||
MessengerProbeMetal,
|
||||
MessengerProbePanels,
|
||||
MessengerTrail
|
||||
})
|
||||
@@ -1,33 +0,0 @@
|
||||
OpenSpace ecliptic frames:
|
||||
Mercury-centric Solar Ecliptic (MERCURYSE) frame
|
||||
|
||||
These frames are only defined as helper frames for OpenSpace.
|
||||
|
||||
+X is parallel to the geometric planet-sun position vector.
|
||||
|
||||
-Y axis is the normalized component of the planet's orbital vector
|
||||
|
||||
+Z axis is parallel to the cross product of the frame's +X axis
|
||||
and the frame's +Y axis.
|
||||
|
||||
\begindata
|
||||
|
||||
FRAME_MERCURYSE = 4600199
|
||||
FRAME_4600199_NAME = 'MERCURYSE'
|
||||
FRAME_4600199_CLASS = 5
|
||||
FRAME_4600199_CLASS_ID = 4600199
|
||||
FRAME_4600199_CENTER = 199
|
||||
FRAME_4600199_RELATIVE = 'J2000'
|
||||
FRAME_4600199_DEF_STYLE = 'PARAMETERIZED'
|
||||
FRAME_4600199_FAMILY = 'TWO-VECTOR'
|
||||
FRAME_4600199_PRI_AXIS = 'X'
|
||||
FRAME_4600199_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION'
|
||||
FRAME_4600199_PRI_OBSERVER = 'MERCURY'
|
||||
FRAME_4600199_PRI_TARGET = 'SUN'
|
||||
FRAME_4600199_PRI_ABCORR = 'NONE'
|
||||
FRAME_4600199_SEC_AXIS = 'Y'
|
||||
FRAME_4600199_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY'
|
||||
FRAME_4600199_SEC_OBSERVER = 'MERCURY'
|
||||
FRAME_4600199_SEC_TARGET = 'SUN'
|
||||
FRAME_4600199_SEC_ABCORR = 'NONE'
|
||||
FRAME_4600199_SEC_FRAME = 'J2000'
|
||||
@@ -1,8 +0,0 @@
|
||||
width 1024
|
||||
lower 0.0
|
||||
upper 0.1
|
||||
mappingkey 0.0 255 0 0 0
|
||||
mappingkey 0.01 255 0 0 0
|
||||
mappingkey 0.1 255 255 0 100
|
||||
|
||||
mappingkey 0.5 255 255 0 255
|
||||
@@ -1,120 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Charon Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "charon_textures",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local charonRadius = 6.035E5
|
||||
|
||||
local CharonProjection = {
|
||||
Identifier = "CharonProjection",
|
||||
Parent = transforms.PlutoBarycenterAccurate.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "CHARON",
|
||||
Observer = "PLUTO BARYCENTER"
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_CHARON",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlanetProjection",
|
||||
Geometry = {
|
||||
Type = "SimpleSphere",
|
||||
Radius = charonRadius,
|
||||
Segments = 350
|
||||
},
|
||||
ColorTexturePaths = {
|
||||
textures .. "/NH_Charon_mosaic.png",
|
||||
textures .. "/NH_Charon_mosaic_8192.png"
|
||||
},
|
||||
HeightTexturePaths = {
|
||||
textures .. "/NH_Charon_DTM.png",
|
||||
textures .. "/NH_Charon_DTM_8192.png"
|
||||
},
|
||||
MeridianShift = true,
|
||||
Projection = {
|
||||
Observer = "NEW HORIZONS",
|
||||
Target = "CHARON",
|
||||
Aberration = "NONE",
|
||||
AspectRatio = 2,
|
||||
|
||||
Instrument = {
|
||||
Name = "NH_LORRI",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 0.2907,
|
||||
Aspect = 1,
|
||||
Near = 0.2,
|
||||
Far = 10000
|
||||
},
|
||||
|
||||
PotentialTargets = {
|
||||
"PLUTO",
|
||||
"CHARON"
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Dwarf Planets/Pluto",
|
||||
Name = "Charon Projection"
|
||||
}
|
||||
}
|
||||
|
||||
local CharonText = {
|
||||
Identifier = "CharonText",
|
||||
Parent = CharonProjection.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = {0, -1000000.0, 0}
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = textures .. "/Charon-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Charon Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local CharonShadow = {
|
||||
Identifier = "CharonShadow",
|
||||
Parent = CharonProjection .Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableShadowCylinder",
|
||||
TerminatorType = "PENUMBRAL",
|
||||
LightSource = "SUN",
|
||||
Observer = "NEW HORIZONS",
|
||||
Body = "CHARON",
|
||||
BodyFrame = "IAU_CHARON",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Charon Shadow",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
CharonProjection,
|
||||
CharonText,
|
||||
CharonShadow
|
||||
})
|
||||
@@ -1,386 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
|
||||
|
||||
|
||||
local LorriOffset = { -6.626, -4.1, -3.23 }
|
||||
local RalphOffset = { -6.9, -4.6, 8.7 }
|
||||
local AliceOffset = { -7.9, -1.7, 8.3 }
|
||||
local RexOffset = { 0, 0, 0 }
|
||||
|
||||
local Lorri = {
|
||||
Identifier = "NH_LORRI",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
Color = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_LORRI",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = LorriOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "LORRI",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphLeisa = {
|
||||
Identifier = "NH_RALPH_LEISA",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_LEISA",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH LEISA",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicPan1 = {
|
||||
Identifier = "NH_RALPH_MVIC_PAN1",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_PAN1",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC PAN 1",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicPan2 = {
|
||||
Identifier = "NH_RALPH_MVIC_PAN2",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_PAN2",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC PAN 2",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicRed = {
|
||||
Identifier = "NH_RALPH_MVIC_RED",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_RED",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC RED",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicBlue = {
|
||||
Identifier = "NH_RALPH_MVIC_BLUE",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_BLUE",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC BLUE",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicFt = {
|
||||
Identifier = "NH_RALPH_MVIC_FT",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_FT",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC FT",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicMethane = {
|
||||
Identifier = "NH_RALPH_MVIC_METHANE",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_METHANE",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC METHANE",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RalphMvicNir = {
|
||||
Identifier = "NH_RALPH_MVIC_NIR",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_RALPH_MVIC_NIR",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RalphOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "RALPH MVIC NIR",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local AliceAirglow = {
|
||||
Identifier = "NH_ALICE_AIRGLOW",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_ALICE_AIRGLOW",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
},
|
||||
SimplifyBounds = true
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = AliceOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "ALICE AIRGLOW",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local AliceSoc = {
|
||||
Identifier = "NH_ALICE_SOC",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "NEW HORIZONS",
|
||||
Frame = "NH_SPACECRAFT",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "NH_ALICE_SOC",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = {
|
||||
"Pluto",
|
||||
"Charon",
|
||||
-- "Jupiter", "Io", "Europa", "Ganymede", "Callisto"
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = AliceOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "ALICE SOC",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local Rex = {
|
||||
Identifier = "NH_REX",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableCrawlingLine",
|
||||
Source = "NH_REX",
|
||||
Target = "EARTH",
|
||||
Instrument = "NH_REX",
|
||||
Color = {
|
||||
Start = { 1.0, 0.7, 0.0, 1.0},
|
||||
End = {0.0, 0.0, 0.0, 0.0 }
|
||||
}
|
||||
},
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "StaticRotation",
|
||||
Rotation = {-3.141502/2, 0, -3.141502/2}
|
||||
},
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = RexOffset
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "REX",
|
||||
Path = "/Solar System/Missions/New Horizons/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Lorri,
|
||||
RalphLeisa,
|
||||
RalphMvicPan1,
|
||||
RalphMvicPan2,
|
||||
RalphMvicRed,
|
||||
RalphMvicBlue,
|
||||
RalphMvicFt,
|
||||
RalphMvicMethane,
|
||||
RalphMvicNir,
|
||||
AliceAirglow,
|
||||
AliceSoc,
|
||||
Rex
|
||||
})
|
||||
@@ -1,48 +0,0 @@
|
||||
local Kernels = asset.syncedResource({
|
||||
Name = "New Horizons Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local NewHorizonsKernels = {
|
||||
Kernels .. "/nh_pred_20141201_20190301_od122.bsp",
|
||||
Kernels .. "/NavSE_plu047_od122.bsp",
|
||||
Kernels .. "/NavPE_de433_od122.bsp",
|
||||
|
||||
Kernels .. "/new-horizons_1121.tsc",
|
||||
|
||||
Kernels .. "/nh_scispi_2015_pred.bc",
|
||||
Kernels .. "/nh_scispi_2015_recon.bc",
|
||||
Kernels .. "/nh_lorri_wcs.bc",
|
||||
|
||||
Kernels .. "/PLU_LORRI_ALL_161216.bc",
|
||||
|
||||
Kernels .. "/nh_targets_v001.tpc",
|
||||
Kernels .. "/nh_pcnh_005.tpc",
|
||||
|
||||
Kernels .. "/nh_v220.tf",
|
||||
Kernels .. "/nh_allinstruments_v002.ti",
|
||||
Kernels .. "/nh_alice_v200.ti",
|
||||
Kernels .. "/nh_lorri_v201.ti",
|
||||
Kernels .. "/nh_pepssi_v110.ti",
|
||||
Kernels .. "/nh_ralph_v100.ti",
|
||||
Kernels .. "/nh_rex_v100.ti",
|
||||
Kernels .. "/nh_sdc_v101.ti",
|
||||
Kernels .. "/nh_swap_v100.ti",
|
||||
Kernels .. "/nh_astr_v000.ti",
|
||||
Kernels .. "/nh_fss_v000.ti",
|
||||
Kernels .. "/nh_soc_misc_v001.tf",
|
||||
Kernels .. "/nh_stars.bsp",
|
||||
}
|
||||
|
||||
local PlutoKernels = {
|
||||
Kernels .. "/NavPE_de433_od122.bsp",
|
||||
Kernels .. "/NavSE_plu047_od122.bsp"
|
||||
}
|
||||
|
||||
|
||||
|
||||
asset.export("Kernels", Kernels)
|
||||
asset.export("NewHorizonsKernels", NewHorizonsKernels)
|
||||
asset.export("PlutoKernels", PlutoKernels)
|
||||
@@ -1,31 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local transforms = asset.require('./transforms')
|
||||
local NewHorizonsModel = asset.require('./model')
|
||||
|
||||
|
||||
|
||||
local textures = NewHorizonsModel.NewHorizonsTextures
|
||||
local models = NewHorizonsModel.NewHorizonsModels
|
||||
|
||||
local Labels = {
|
||||
Identifier = "Labels",
|
||||
Parent = NewHorizonsModel.NewHorizons.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/Labels.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/labels.png",
|
||||
AmbientIntensity = 0.8
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/New Horizons"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Labels })
|
||||
@@ -1,57 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "New Horizons Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_textures",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "New Horizons Model",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local NewHorizons = {
|
||||
Identifier = "NewHorizons",
|
||||
Parent = transforms.NewHorizonsPosition.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "NEW HORIZONS",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/NewHorizonsCleanModel.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/NHTexture.jpg",
|
||||
AmbientIntensity = 0.0,
|
||||
DiffuseIntensity = 1.0,
|
||||
SpecularIntensity = 1.0,
|
||||
LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "New Horizons",
|
||||
Path = "/Solar System/Missions/New Horizons"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { NewHorizons })
|
||||
asset.export("NewHorizonsTextures", textures)
|
||||
asset.export("NewHorizonsModels", models)
|
||||
@@ -1,20 +0,0 @@
|
||||
asset.require('./model')
|
||||
asset.require('./label')
|
||||
asset.require('./fov')
|
||||
asset.require('./trail')
|
||||
|
||||
asset.require('./pluto')
|
||||
asset.require('./charon')
|
||||
|
||||
asset.require('./othermoons')
|
||||
|
||||
local mission = asset.localResource("newhorizons.mission")
|
||||
local missionName
|
||||
|
||||
asset.onInitialize(function()
|
||||
missionName = openspace.loadMission(mission)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.unloadMission(missionName)
|
||||
end)
|
||||
@@ -1,122 +0,0 @@
|
||||
-- Source: http://pluto.jhuapl.edu/Mission/index.php
|
||||
-- Many of the values (especially days of the month if 01 or 30 or 31 and hh::mm::ss if all 0)
|
||||
-- are approximate and need fixing
|
||||
|
||||
return {
|
||||
Name = "New Horizons",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Cruise Phase",
|
||||
TimeRange = { Start = "2006 JAN 19 00:00:00", End = "2015 JAN 15 00:00:00" },
|
||||
Phases = {
|
||||
{
|
||||
Name = "Jupiter fly-by",
|
||||
TimeRange = { Start = "2007 FEB 28 00:00:00", End = "2007 FEB 28 23:59:59" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 1",
|
||||
TimeRange = { Start = "2007 SEP 01 00:00:00", End = "2007 NOV 30 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 2",
|
||||
TimeRange = { Start = "2008 JUL 01 00:00:00", End = "2008 AUG 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 3",
|
||||
TimeRange = { Start = "2009 JUL 01 00:00:00", End = "2009 AUG 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 4",
|
||||
TimeRange = { Start = "2010 MAY 01 00:00:00", End = "2010 JUL 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 5",
|
||||
TimeRange = { Start = "2011 MAY 01 00:00:00", End = "2011 JUL 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 6",
|
||||
TimeRange = { Start = "2012 MAY 01 00:00:00", End = "2012 JUL 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 7",
|
||||
TimeRange = { Start = "2013 MAY 01 00:00:00", End = "2013 AUG 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Annual checkout 8 and Optical Navigation campaign 1",
|
||||
TimeRange = { Start = "2014 JUN 01 00:00:00", End = "2014 AUG 31 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Final Wakeup from Hibernation",
|
||||
TimeRange = { Start = "2014 DEC 06 00:00:00", End = "2014 DEC 06 23:59:59" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Pluto Encounter/Approach Phase 1",
|
||||
TimeRange = { Start = "2015 JAN 15 00:00:00", End = "2015 APR 01 00:00:00" },
|
||||
Phases = {
|
||||
{
|
||||
Name = "Optical nagivation campaign 2",
|
||||
TimeRange = { Start = "2015 JAN 25 00:00:00", End = "2015 APR 01 00:00:00" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Pluto Encounter/Approach Phase 2",
|
||||
TimeRange = { Start = "2015 APR 01 00:00:00", End = "2015 JUN 01 00:00:00" },
|
||||
Phases = {
|
||||
{
|
||||
Name = "Best-ever images of Pluto",
|
||||
TimeRange = { Start = "2015 MAY 01 00:00:00", End = "2015 JUN 01 00:00:00" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Pluto Encounter/Approach Phase 3",
|
||||
TimeRange = { Start = "2015 JUN 01 00:00:00", End = "2015 JUL 15 00:00:00" },
|
||||
Phases = {
|
||||
{
|
||||
Name = "Closest approach to Pluto",
|
||||
TimeRange = { Start = "2015 JUL 14 11:49:57", End = "2015 JUL 14 11:49:58" }
|
||||
},
|
||||
{
|
||||
Name = "Closest approach to Charon",
|
||||
TimeRange = { Start = "2015 JUL 14 12:03:50", End = "2015 JUL 14 12:03:51" }
|
||||
},
|
||||
{
|
||||
Name = "Pluto-Sun Occultation",
|
||||
TimeRange = { Start = "2015 JUL 14 12:51:25", End = "2015 JUL 14 12:52:00" }
|
||||
},
|
||||
{
|
||||
Name = "Pluto-Earth Occultation",
|
||||
TimeRange = { Start = "2015 JUL 14 12:52:27", End = "2015 JUL 14 12:53:00" }
|
||||
},
|
||||
{
|
||||
Name = "Charon-Sun Occultation",
|
||||
TimeRange = { Start = "2015 JUL 14 14:17:40", End = "2015 JUL 14 14:18:00" }
|
||||
},
|
||||
{
|
||||
Name = "Charon-Earth Occultation",
|
||||
TimeRange = { Start = "2015 JUL 14 14:20:00", End = "2015 JUL 14 14:21:00" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Departure Phase 1",
|
||||
TimeRange = { Start = "2015 JUL 15 00:00:00", End = "2015 AUG 01 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Departure Phase 2",
|
||||
TimeRange = { Start = "2015 AUG 01 00:00:00", End = "2015 OCT 01 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Departure Phase 3",
|
||||
TimeRange = { Start = "2015 OCT 01 00:00:00", End = "2016 JAN 01 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Data Playback Ends",
|
||||
TimeRange = { Start = "2016 OCT 01 00:00:00", End = "2016 DEC 01 00:00:00" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,126 +0,0 @@
|
||||
local Hydra = asset.require('scene/solarsystem/dwarf_planets/pluto/hydra')
|
||||
local Kerberos = asset.require('scene/solarsystem/dwarf_planets/pluto/kerberos')
|
||||
local Nix = asset.require('scene/solarsystem/dwarf_planets/pluto/nix')
|
||||
local Styx = asset.require('scene/solarsystem/dwarf_planets/pluto/styx')
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
|
||||
local hydraTextures = asset.syncedResource({
|
||||
Name = "Hydra Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "hydra_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local HydraText = {
|
||||
Identifier = "HydraText",
|
||||
Parent = Hydra.Hydra.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 1000000, 0, 1000000 },
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10.0^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = hydraTextures .. "/Hydra-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Hydra Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local kerberosTextures = asset.syncedResource({
|
||||
Name = "Kerberos Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "kerberos_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local KerberosText = {
|
||||
Identifier = "KerberosText",
|
||||
Parent = Kerberos.Kerberos.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 1000000.0, 0, 1000000.0 }
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = kerberosTextures .. "/Kerberos-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Kerberos Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local nixTextures = asset.syncedResource({
|
||||
Name = "Nix Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "nix_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local NixText = {
|
||||
Identifier = "NixText",
|
||||
Parent = Nix.Nix.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = nixTextures .. "/Nix-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Nix Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local styxTextures = asset.syncedResource({
|
||||
Name = "Styx Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "styx_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local StyxText = {
|
||||
Identifier = "StyxText",
|
||||
Parent = Styx.Styx.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 1000000.0, 0, 1000000.0 }
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = styxTextures .. "/Styx-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Styx Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
HydraText,
|
||||
KerberosText,
|
||||
NixText,
|
||||
StyxText
|
||||
})
|
||||
@@ -1,251 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local assets = asset.syncedResource({
|
||||
Name = "Pluto Assets",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_plutoencounter_pluto_assets",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local encounterTextures = asset.syncedResource({
|
||||
Name = "Pluto Encounter Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_plutoencounter_pluto_textures",
|
||||
Version = 4
|
||||
})
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Pluto Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "pluto_textures",
|
||||
Version = 5
|
||||
})
|
||||
|
||||
local images = asset.syncedResource({
|
||||
Name = "Pluto Images",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "newhorizons_plutoencounter_pluto_images",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local plutoRadius = 1.173E6
|
||||
|
||||
local PlutoProjection = {
|
||||
Identifier = "PlutoProjection",
|
||||
Parent = transforms.PlutoBarycenterAccurate.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "PLUTO",
|
||||
Observer = "PLUTO BARYCENTER",
|
||||
Kernels = NewHorizonsKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_PLUTO",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
Scale = 1.0
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlanetProjection",
|
||||
Radius = plutoRadius,
|
||||
Geometry = {
|
||||
Type = "SimpleSphere",
|
||||
Radius = plutoRadius,
|
||||
Segments = 400
|
||||
},
|
||||
ColorTexturePaths = {
|
||||
textures .. "/pluto.png",
|
||||
textures .. "/NH_Pluto_mosaic_16384.png",
|
||||
textures .. "/NH_Pluto_mosaic_8192.png",
|
||||
textures .. "/pmap_cyl_k201.jpg",
|
||||
textures .. "/pmap_cyl_k201_4096.jpg"
|
||||
},
|
||||
HeightTexturePaths = {
|
||||
textures .. "/NH_Pluto_DTM_16384.png",
|
||||
textures .. "/NH_Pluto_DTM_8192.png"
|
||||
},
|
||||
MeridianShift = false,
|
||||
Projection = {
|
||||
Sequence = images,
|
||||
EventFile = assets .. "/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt",
|
||||
-- SequenceType = "hybrid",
|
||||
SequenceType = "image-sequence",
|
||||
Observer = "NEW HORIZONS",
|
||||
Target = "PLUTO",
|
||||
Aberration = "NONE",
|
||||
AspectRatio = 2,
|
||||
|
||||
DataInputTranslation = {
|
||||
Instrument = {
|
||||
LORRI = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "NH_LORRI" }
|
||||
},
|
||||
RALPH_MVIC_PAN_FRAME = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "RALPH_ABORT",
|
||||
Spice = { "NH_RALPH_MVIC_FT" }
|
||||
},
|
||||
RALPH_MVIC_COLOR = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "END_NOM",
|
||||
Spice = { "NH_RALPH_MVIC_NIR",
|
||||
"NH_RALPH_MVIC_METHANE",
|
||||
"NH_RALPH_MVIC_RED",
|
||||
"NH_RALPH_MVIC_BLUE" }
|
||||
},
|
||||
RALPH_LEISA = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "END_NOM",
|
||||
Spice = { "NH_RALPH_LEISA" }
|
||||
},
|
||||
RALPH_MVIC_PAN1 = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "END_NOM",
|
||||
Spice = { "NH_RALPH_MVIC_PAN1" }
|
||||
},
|
||||
RALPH_MVIC_PAN2 = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "END_NOM",
|
||||
Spice = { "NH_RALPH_MVIC_PAN2" }
|
||||
},
|
||||
ALICE_Use_AIRGLOW = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "ALICE_END_PIXELLIST",
|
||||
Spice = { "NH_ALICE_AIRGLOW" }
|
||||
},
|
||||
ALICE_Use_AIRGLOW = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "ALICE_END_HISTOGRAM",
|
||||
Spice = { "NH_ALICE_AIRGLOW" }
|
||||
},
|
||||
ALICE_Use_SOCC = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "ALICE_END_PIXELLIST",
|
||||
Spice = { "NH_ALICE_SOC" }
|
||||
},
|
||||
ALICE_Use_SOCC = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "ALICE_END_HISTOGRAM",
|
||||
Spice = { "NH_ALICE_SOC" }
|
||||
},
|
||||
REX_START = {
|
||||
DetectorType = "Scanner",
|
||||
StopCommand = "REX_MODE_OFF",
|
||||
Spice = { "NH_REX" }
|
||||
}
|
||||
},
|
||||
Target ={
|
||||
Read = {
|
||||
"TARGET_NAME",
|
||||
"INSTRUMENT_HOST_NAME",
|
||||
"INSTRUMENT_ID",
|
||||
"START_TIME",
|
||||
"STOP_TIME",
|
||||
"DETECTOR_TYPE"
|
||||
},
|
||||
Convert = {
|
||||
PLUTO = { "PLUTO" },
|
||||
NEWHORIZONS = { "NEW HORIZONS" },
|
||||
CCD = { "CAMERA" },
|
||||
FRAMECCD = { "SCANNER" }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Instrument = {
|
||||
Name = "NH_LORRI",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 0.2907,
|
||||
Aspect = 1,
|
||||
Near = 0.2,
|
||||
Far = 10000
|
||||
},
|
||||
|
||||
PotentialTargets = {
|
||||
"PLUTO",
|
||||
"CHARON",
|
||||
"NIX",
|
||||
"HYDRA",
|
||||
"P5",
|
||||
"P4"
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pluto Projection",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local PlutoBarycenterLabel = {
|
||||
Identifier = "PlutoBarycenterLabel",
|
||||
Parent = transforms.PlutoBarycenterAccurate.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Billboard = true,
|
||||
Size = 5E4,
|
||||
Texture = encounterTextures .. "/barycenter.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pluto Barycenter Label",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local PlutoText = {
|
||||
Identifier = "PlutoText",
|
||||
Parent = PlutoProjection.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = {0, -2000000.0, 0}
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneImageLocal",
|
||||
Size = 10^6.3,
|
||||
Origin = "Center",
|
||||
Billboard = true,
|
||||
Texture = encounterTextures .. "/Pluto-Text.png",
|
||||
BlendMode = "Additive"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pluto Text",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local PlutoShadow = {
|
||||
Identifier = "PlutoShadow",
|
||||
Parent = PlutoProjection.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableShadowCylinder",
|
||||
TerminatorType = "PENUMBRAL",
|
||||
LightSource = "SUN",
|
||||
Observer = "NEW HORIZONS",
|
||||
Body = "PLUTO",
|
||||
BodyFrame = "IAU_PLUTO",
|
||||
Aberration = "NONE",
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pluto Shadow",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
PlutoProjection,
|
||||
PlutoBarycenterLabel,
|
||||
PlutoText,
|
||||
PlutoShadow
|
||||
})
|
||||
@@ -1,36 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
|
||||
|
||||
|
||||
local TrailAtPluto = {
|
||||
Identifier = "NewHorizonsTrailPluto",
|
||||
Parent = transforms.PlutoBarycenterAccurate.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "NEW HORIZONS",
|
||||
Observer = "PLUTO BARYCENTER"
|
||||
},
|
||||
Color = { 1.0, 0.8, 0.4 },
|
||||
ShowFullTrail = true,
|
||||
StartTime = "2015 JUL 07 12:00:00",
|
||||
EndTime = "2015 JUL 17 12:00:00",
|
||||
PointSize = 5,
|
||||
SampleInterval = 3600,
|
||||
TimeStampSubsampleFactor = 4,
|
||||
EnableFade = false,
|
||||
Rendering = "Lines+Points"
|
||||
},
|
||||
GUI = {
|
||||
Name = "New Horizons Trail Pluto",
|
||||
Path = "/Solar System/Missions/New Horizons"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
TrailAtPluto
|
||||
})
|
||||
@@ -1,54 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local kernels = asset.require('./kernels')
|
||||
|
||||
local PlutoBarycenterAccurate = {
|
||||
Identifier = "PlutoBarycenterAccurate",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
TimeFrame = {
|
||||
Type = "TimeFrameInterval",
|
||||
Start = "2015-JAN-01",
|
||||
End = "2015-AUG-01"
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "PLUTO BARYCENTER",
|
||||
Observer = "SUN",
|
||||
Kernels = kernels.PlutoKernels
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pluto Barycenter Accurate",
|
||||
Path = "/Solar System/Dwarf Planets/Pluto"
|
||||
}
|
||||
}
|
||||
|
||||
local NewHorizonsPosition = {
|
||||
Identifier = "NewHorizonsPosition",
|
||||
Parent = PlutoBarycenterAccurate.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "NEW HORIZONS",
|
||||
Observer = "PLUTO BARYCENTER",
|
||||
Kernels = kernels.NewHorizonsKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "NH_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "New Horizons Position",
|
||||
Path = "/Solar System/Missions/New Horizons"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
PlutoBarycenterAccurate,
|
||||
NewHorizonsPosition
|
||||
})
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
"2019/01/27 10:42:00.000" "2019/01/27 15:12:00.000"
|
||||
"2019/02/03 10:43:00.000" "2019/02/03 15:13:00.000"
|
||||
"2019/02/10 11:05:00.000" "2019/02/10 15:35:00.000"
|
||||
"2019/02/17 10:43:00.000" "2019/02/17 15:13:00.000"
|
||||
"2019/02/24 10:22:00.000" "2019/02/24 14:52:00.000"
|
||||
"2019/03/03 10:01:00.000" "2019/03/03 14:31:00.000"
|
||||
"2019/03/10 10:01:00.000" "2019/03/10 14:31:00.000"
|
||||
@@ -1,173 +0,0 @@
|
||||
"2019/04/16 12:03:15.000" "2019/04/16 12:03:15.800"
|
||||
"2019/04/16 12:03:25.000" "2019/04/16 12:03:25.800"
|
||||
"2019/04/16 12:03:35.000" "2019/04/16 12:03:35.800"
|
||||
"2019/04/16 12:03:45.000" "2019/04/16 12:03:45.800"
|
||||
"2019/04/16 12:03:55.000" "2019/04/16 12:03:55.800"
|
||||
"2019/04/16 12:04:05.000" "2019/04/16 12:04:05.800"
|
||||
"2019/04/16 12:04:15.000" "2019/04/16 12:04:15.800"
|
||||
"2019/04/16 12:04:53.000" "2019/04/16 12:04:53.800"
|
||||
"2019/04/16 12:05:03.000" "2019/04/16 12:05:03.800"
|
||||
"2019/04/16 12:05:13.000" "2019/04/16 12:05:13.800"
|
||||
"2019/04/16 12:05:23.000" "2019/04/16 12:05:23.800"
|
||||
"2019/04/16 12:05:33.000" "2019/04/16 12:05:33.800"
|
||||
"2019/04/16 12:05:43.000" "2019/04/16 12:05:43.800"
|
||||
"2019/04/16 12:05:53.000" "2019/04/16 12:05:53.800"
|
||||
"2019/04/16 12:06:03.000" "2019/04/16 12:06:03.800"
|
||||
"2019/04/16 12:06:13.000" "2019/04/16 12:06:13.800"
|
||||
"2019/04/16 12:06:23.000" "2019/04/16 12:06:23.800"
|
||||
"2019/04/16 12:07:13.000" "2019/04/16 12:07:13.800"
|
||||
"2019/04/16 12:07:23.000" "2019/04/16 12:07:23.800"
|
||||
"2019/04/16 12:07:33.000" "2019/04/16 12:07:33.800"
|
||||
"2019/04/16 12:07:43.000" "2019/04/16 12:07:43.800"
|
||||
"2019/04/16 12:07:53.000" "2019/04/16 12:07:53.800"
|
||||
"2019/04/16 12:08:03.000" "2019/04/16 12:08:03.800"
|
||||
"2019/04/16 12:08:13.000" "2019/04/16 12:08:13.800"
|
||||
"2019/04/16 12:08:23.000" "2019/04/16 12:08:23.800"
|
||||
"2019/04/16 12:08:33.000" "2019/04/16 12:08:33.800"
|
||||
"2019/04/16 12:08:43.000" "2019/04/16 12:08:43.800"
|
||||
"2019/04/16 12:09:34.000" "2019/04/16 12:09:34.800"
|
||||
"2019/04/16 12:09:44.000" "2019/04/16 12:09:44.800"
|
||||
"2019/04/16 12:09:54.000" "2019/04/16 12:09:54.800"
|
||||
"2019/04/16 12:10:04.000" "2019/04/16 12:10:04.800"
|
||||
"2019/04/16 12:10:14.000" "2019/04/16 12:10:14.800"
|
||||
"2019/04/16 12:10:24.000" "2019/04/16 12:10:24.800"
|
||||
"2019/04/16 12:10:34.000" "2019/04/16 12:10:34.800"
|
||||
"2019/04/16 12:10:44.000" "2019/04/16 12:10:44.800"
|
||||
"2019/04/16 12:10:54.000" "2019/04/16 12:10:54.800"
|
||||
"2019/04/16 12:11:04.000" "2019/04/16 12:11:04.800"
|
||||
"2019/04/16 12:11:51.000" "2019/04/16 12:11:51.800"
|
||||
"2019/04/16 12:12:01.000" "2019/04/16 12:12:01.800"
|
||||
"2019/04/16 12:12:11.000" "2019/04/16 12:12:11.800"
|
||||
"2019/04/16 12:12:21.000" "2019/04/16 12:12:21.800"
|
||||
"2019/04/16 12:12:31.000" "2019/04/16 12:12:31.800"
|
||||
"2019/04/16 12:12:41.000" "2019/04/16 12:12:41.800"
|
||||
"2019/04/16 12:12:51.000" "2019/04/16 12:12:51.800"
|
||||
"2019/04/16 12:13:01.000" "2019/04/16 12:13:01.800"
|
||||
"2019/04/16 12:13:56.000" "2019/04/16 12:13:56.800"
|
||||
"2019/04/16 12:14:06.000" "2019/04/16 12:14:06.800"
|
||||
"2019/04/16 12:14:16.000" "2019/04/16 12:14:16.800"
|
||||
"2019/04/16 12:14:26.000" "2019/04/16 12:14:26.800"
|
||||
"2019/04/16 12:14:36.000" "2019/04/16 12:14:36.800"
|
||||
"2019/04/16 12:14:46.000" "2019/04/16 12:14:46.800"
|
||||
"2019/04/16 12:14:56.000" "2019/04/16 12:14:56.800"
|
||||
"2019/04/16 12:15:06.000" "2019/04/16 12:15:06.800"
|
||||
"2019/04/16 12:15:40.000" "2019/04/16 12:15:40.800"
|
||||
"2019/04/16 12:15:50.000" "2019/04/16 12:15:50.800"
|
||||
"2019/04/16 12:16:00.000" "2019/04/16 12:16:00.800"
|
||||
"2019/04/16 12:16:10.000" "2019/04/16 12:16:10.800"
|
||||
"2019/04/16 12:16:20.000" "2019/04/16 12:16:20.800"
|
||||
"2019/04/16 17:49:37.000" "2019/04/16 17:49:37.800"
|
||||
"2019/04/16 17:49:47.000" "2019/04/16 17:49:47.800"
|
||||
"2019/04/16 17:49:57.000" "2019/04/16 17:49:57.800"
|
||||
"2019/04/16 17:50:07.000" "2019/04/16 17:50:07.800"
|
||||
"2019/04/16 17:50:17.000" "2019/04/16 17:50:17.800"
|
||||
"2019/04/16 17:50:27.000" "2019/04/16 17:50:27.800"
|
||||
"2019/04/16 17:50:37.000" "2019/04/16 17:50:37.800"
|
||||
"2019/04/16 17:50:47.000" "2019/04/16 17:50:47.800"
|
||||
"2019/04/16 17:50:57.000" "2019/04/16 17:50:57.800"
|
||||
"2019/04/16 17:51:07.000" "2019/04/16 17:51:07.800"
|
||||
"2019/04/16 17:51:17.000" "2019/04/16 17:51:17.800"
|
||||
"2019/04/16 17:51:27.000" "2019/04/16 17:51:27.800"
|
||||
"2019/04/16 17:51:37.000" "2019/04/16 17:51:37.800"
|
||||
"2019/04/16 17:51:47.000" "2019/04/16 17:51:47.800"
|
||||
"2019/04/16 17:52:48.000" "2019/04/16 17:52:48.800"
|
||||
"2019/04/16 17:52:58.000" "2019/04/16 17:52:58.800"
|
||||
"2019/04/16 17:53:08.000" "2019/04/16 17:53:08.800"
|
||||
"2019/04/16 17:53:18.000" "2019/04/16 17:53:18.800"
|
||||
"2019/04/16 17:53:28.000" "2019/04/16 17:53:28.800"
|
||||
"2019/04/16 17:53:38.000" "2019/04/16 17:53:38.800"
|
||||
"2019/04/16 17:53:48.000" "2019/04/16 17:53:48.800"
|
||||
"2019/04/16 17:53:58.000" "2019/04/16 17:53:58.800"
|
||||
"2019/04/16 17:54:08.000" "2019/04/16 17:54:08.800"
|
||||
"2019/04/16 17:54:18.000" "2019/04/16 17:54:18.800"
|
||||
"2019/04/16 17:54:28.000" "2019/04/16 17:54:28.800"
|
||||
"2019/04/16 17:54:38.000" "2019/04/16 17:54:38.800"
|
||||
"2019/04/16 17:54:48.000" "2019/04/16 17:54:48.800"
|
||||
"2019/04/16 17:55:35.000" "2019/04/16 17:55:35.800"
|
||||
"2019/04/16 17:55:45.000" "2019/04/16 17:55:45.800"
|
||||
"2019/04/16 17:55:55.000" "2019/04/16 17:55:55.800"
|
||||
"2019/04/16 17:56:05.000" "2019/04/16 17:56:05.800"
|
||||
"2019/04/16 17:56:15.000" "2019/04/16 17:56:15.800"
|
||||
"2019/04/16 17:56:25.000" "2019/04/16 17:56:25.800"
|
||||
"2019/04/16 17:56:35.000" "2019/04/16 17:56:35.800"
|
||||
"2019/04/16 17:56:45.000" "2019/04/16 17:56:45.800"
|
||||
"2019/04/16 17:56:55.000" "2019/04/16 17:56:55.800"
|
||||
"2019/04/16 17:57:05.000" "2019/04/16 17:57:05.800"
|
||||
"2019/04/16 17:57:15.000" "2019/04/16 17:57:15.800"
|
||||
"2019/04/16 17:57:25.000" "2019/04/16 17:57:25.800"
|
||||
"2019/04/16 17:57:35.000" "2019/04/16 17:57:35.800"
|
||||
"2019/04/16 17:57:45.000" "2019/04/16 17:57:45.800"
|
||||
"2019/04/16 17:57:55.000" "2019/04/16 17:57:55.800"
|
||||
"2019/04/16 17:58:05.000" "2019/04/16 17:58:05.800"
|
||||
"2019/04/16 17:58:15.000" "2019/04/16 17:58:15.800"
|
||||
"2019/04/16 17:58:48.000" "2019/04/16 17:58:48.800"
|
||||
"2019/04/16 17:58:58.000" "2019/04/16 17:58:58.800"
|
||||
"2019/04/16 17:59:08.000" "2019/04/16 17:59:08.800"
|
||||
"2019/04/16 17:59:18.000" "2019/04/16 17:59:18.800"
|
||||
"2019/04/16 17:59:28.000" "2019/04/16 17:59:28.800"
|
||||
"2019/04/16 17:59:38.000" "2019/04/16 17:59:38.800"
|
||||
"2019/04/16 17:59:48.000" "2019/04/16 17:59:48.800"
|
||||
"2019/04/16 17:59:58.000" "2019/04/16 17:59:58.800"
|
||||
"2019/04/16 18:00:08.000" "2019/04/16 18:00:08.800"
|
||||
"2019/04/16 18:00:18.000" "2019/04/16 18:00:18.800"
|
||||
"2019/04/16 18:00:28.000" "2019/04/16 18:00:28.800"
|
||||
"2019/04/16 18:00:38.000" "2019/04/16 18:00:38.800"
|
||||
"2019/04/16 18:01:41.000" "2019/04/16 18:01:41.800"
|
||||
"2019/04/16 18:01:51.000" "2019/04/16 18:01:51.800"
|
||||
"2019/04/16 18:02:01.000" "2019/04/16 18:02:01.800"
|
||||
"2019/04/16 18:02:11.000" "2019/04/16 18:02:11.800"
|
||||
"2019/04/16 18:02:21.000" "2019/04/16 18:02:21.800"
|
||||
"2019/04/16 18:02:31.000" "2019/04/16 18:02:31.800"
|
||||
"2019/04/16 18:02:41.000" "2019/04/16 18:02:41.800"
|
||||
"2019/04/16 18:02:51.000" "2019/04/16 18:02:51.800"
|
||||
"2019/04/16 18:03:01.000" "2019/04/16 18:03:01.800"
|
||||
"2019/04/16 18:03:11.000" "2019/04/16 18:03:11.800"
|
||||
"2019/04/16 18:03:21.000" "2019/04/16 18:03:21.800"
|
||||
"2019/04/30 21:02:07.000" "2019/04/30 21:02:07.800"
|
||||
"2019/04/30 21:02:17.000" "2019/04/30 21:02:17.800"
|
||||
"2019/04/30 21:02:27.000" "2019/04/30 21:02:27.800"
|
||||
"2019/04/30 21:02:37.000" "2019/04/30 21:02:37.800"
|
||||
"2019/04/30 21:02:47.000" "2019/04/30 21:02:47.800"
|
||||
"2019/04/30 21:02:57.000" "2019/04/30 21:02:57.800"
|
||||
"2019/04/30 21:03:07.000" "2019/04/30 21:03:07.800"
|
||||
"2019/04/30 21:03:17.000" "2019/04/30 21:03:17.800"
|
||||
"2019/04/30 21:03:27.000" "2019/04/30 21:03:27.800"
|
||||
"2019/04/30 21:03:37.000" "2019/04/30 21:03:37.800"
|
||||
"2019/04/30 21:03:47.000" "2019/04/30 21:03:47.800"
|
||||
"2019/04/30 21:03:57.000" "2019/04/30 21:03:57.800"
|
||||
"2019/04/30 21:04:42.000" "2019/04/30 21:04:42.800"
|
||||
"2019/04/30 21:04:52.000" "2019/04/30 21:04:52.800"
|
||||
"2019/04/30 21:05:02.000" "2019/04/30 21:05:02.800"
|
||||
"2019/04/30 21:05:12.000" "2019/04/30 21:05:12.800"
|
||||
"2019/04/30 21:05:22.000" "2019/04/30 21:05:22.800"
|
||||
"2019/04/30 21:05:32.000" "2019/04/30 21:05:32.800"
|
||||
"2019/04/30 21:05:42.000" "2019/04/30 21:05:42.800"
|
||||
"2019/04/30 21:05:52.000" "2019/04/30 21:05:52.800"
|
||||
"2019/04/30 21:06:02.000" "2019/04/30 21:06:02.800"
|
||||
"2019/04/30 21:06:12.000" "2019/04/30 21:06:12.800"
|
||||
"2019/04/30 21:06:22.000" "2019/04/30 21:06:22.800"
|
||||
"2019/04/30 21:06:32.000" "2019/04/30 21:06:32.800"
|
||||
"2019/04/30 21:07:04.000" "2019/04/30 21:07:04.800"
|
||||
"2019/04/30 21:07:14.000" "2019/04/30 21:07:14.800"
|
||||
"2019/04/30 21:07:24.000" "2019/04/30 21:07:24.800"
|
||||
"2019/04/30 21:07:34.000" "2019/04/30 21:07:34.800"
|
||||
"2019/04/30 21:07:44.000" "2019/04/30 21:07:44.800"
|
||||
"2019/04/30 21:07:54.000" "2019/04/30 21:07:54.800"
|
||||
"2019/04/30 21:08:04.000" "2019/04/30 21:08:04.800"
|
||||
"2019/04/30 21:08:14.000" "2019/04/30 21:08:14.800"
|
||||
"2019/04/30 21:08:24.000" "2019/04/30 21:08:24.800"
|
||||
"2019/04/30 21:08:34.000" "2019/04/30 21:08:34.800"
|
||||
"2019/04/30 21:08:44.000" "2019/04/30 21:08:44.800"
|
||||
"2019/04/30 21:08:54.000" "2019/04/30 21:08:54.800"
|
||||
"2019/04/30 21:09:04.000" "2019/04/30 21:09:04.800"
|
||||
"2019/04/30 21:09:14.000" "2019/04/30 21:09:14.800"
|
||||
"2019/04/30 21:09:24.000" "2019/04/30 21:09:24.800"
|
||||
"2019/04/30 21:10:13.000" "2019/04/30 21:10:13.800"
|
||||
"2019/04/30 21:10:23.000" "2019/04/30 21:10:23.800"
|
||||
"2019/04/30 21:10:33.000" "2019/04/30 21:10:33.800"
|
||||
"2019/04/30 21:10:43.000" "2019/04/30 21:10:43.800"
|
||||
"2019/04/30 21:10:53.000" "2019/04/30 21:10:53.800"
|
||||
"2019/04/30 21:11:03.000" "2019/04/30 21:11:03.800"
|
||||
"2019/04/30 21:11:13.000" "2019/04/30 21:11:13.800"
|
||||
"2019/04/30 21:11:23.000" "2019/04/30 21:11:23.800"
|
||||
"2019/04/30 21:11:33.000" "2019/04/30 21:11:33.800"
|
||||
@@ -1,110 +0,0 @@
|
||||
"2019/05/25 03:57:58.000" "2019/05/25 03:57:58.800"
|
||||
"2019/05/25 03:58:08.000" "2019/05/25 03:58:08.800"
|
||||
"2019/05/25 03:58:18.000" "2019/05/25 03:58:18.800"
|
||||
"2019/05/25 03:58:28.000" "2019/05/25 03:58:28.800"
|
||||
"2019/05/25 03:58:38.000" "2019/05/25 03:58:38.800"
|
||||
"2019/05/25 03:58:48.000" "2019/05/25 03:58:48.800"
|
||||
"2019/05/25 03:58:58.000" "2019/05/25 03:58:58.800"
|
||||
"2019/05/25 03:59:08.000" "2019/05/25 03:59:08.800"
|
||||
"2019/05/25 04:00:14.000" "2019/05/25 04:00:14.800"
|
||||
"2019/05/25 04:00:24.000" "2019/05/25 04:00:24.800"
|
||||
"2019/05/25 04:00:34.000" "2019/05/25 04:00:34.800"
|
||||
"2019/05/25 04:00:44.000" "2019/05/25 04:00:44.800"
|
||||
"2019/05/25 04:00:54.000" "2019/05/25 04:00:54.800"
|
||||
"2019/05/25 04:01:04.000" "2019/05/25 04:01:04.800"
|
||||
"2019/05/25 04:01:14.000" "2019/05/25 04:01:14.800"
|
||||
"2019/05/25 04:01:24.000" "2019/05/25 04:01:24.800"
|
||||
"2019/05/25 04:01:34.000" "2019/05/25 04:01:34.800"
|
||||
"2019/05/25 04:01:44.000" "2019/05/25 04:01:44.800"
|
||||
"2019/05/25 04:01:54.000" "2019/05/25 04:01:54.800"
|
||||
"2019/05/25 04:02:04.000" "2019/05/25 04:02:04.800"
|
||||
"2019/05/25 04:02:14.000" "2019/05/25 04:02:14.800"
|
||||
"2019/05/25 04:03:05.000" "2019/05/25 04:03:05.800"
|
||||
"2019/05/25 04:03:15.000" "2019/05/25 04:03:15.800"
|
||||
"2019/05/25 04:03:25.000" "2019/05/25 04:03:25.800"
|
||||
"2019/05/25 04:03:35.000" "2019/05/25 04:03:35.800"
|
||||
"2019/05/25 04:03:45.000" "2019/05/25 04:03:45.800"
|
||||
"2019/05/25 04:03:55.000" "2019/05/25 04:03:55.800"
|
||||
"2019/05/25 04:04:05.000" "2019/05/25 04:04:05.800"
|
||||
"2019/05/25 04:04:15.000" "2019/05/25 04:04:15.800"
|
||||
"2019/05/25 04:04:25.000" "2019/05/25 04:04:25.800"
|
||||
"2019/05/25 04:04:35.000" "2019/05/25 04:04:35.800"
|
||||
"2019/05/25 04:04:45.000" "2019/05/25 04:04:45.800"
|
||||
"2019/05/25 04:04:55.000" "2019/05/25 04:04:55.800"
|
||||
"2019/05/25 04:05:05.000" "2019/05/25 04:05:05.800"
|
||||
"2019/05/25 04:05:15.000" "2019/05/25 04:05:15.800"
|
||||
"2019/05/25 04:05:25.000" "2019/05/25 04:05:25.800"
|
||||
"2019/05/25 04:06:19.000" "2019/05/25 04:06:19.800"
|
||||
"2019/05/25 04:06:29.000" "2019/05/25 04:06:29.800"
|
||||
"2019/05/25 04:06:39.000" "2019/05/25 04:06:39.800"
|
||||
"2019/05/25 04:06:49.000" "2019/05/25 04:06:49.800"
|
||||
"2019/05/25 04:06:59.000" "2019/05/25 04:06:59.800"
|
||||
"2019/05/25 04:07:09.000" "2019/05/25 04:07:09.800"
|
||||
"2019/05/25 04:07:19.000" "2019/05/25 04:07:19.800"
|
||||
"2019/05/25 04:07:29.000" "2019/05/25 04:07:29.800"
|
||||
"2019/05/25 04:07:39.000" "2019/05/25 04:07:39.800"
|
||||
"2019/05/25 04:07:49.000" "2019/05/25 04:07:49.800"
|
||||
"2019/05/25 04:07:59.000" "2019/05/25 04:07:59.800"
|
||||
"2019/05/25 04:08:09.000" "2019/05/25 04:08:09.800"
|
||||
"2019/05/25 04:08:19.000" "2019/05/25 04:08:19.800"
|
||||
"2019/05/25 04:08:29.000" "2019/05/25 04:08:29.800"
|
||||
"2019/05/25 04:08:39.000" "2019/05/25 04:08:39.800"
|
||||
"2019/05/25 04:08:49.000" "2019/05/25 04:08:49.800"
|
||||
"2019/05/25 04:08:59.000" "2019/05/25 04:08:59.800"
|
||||
"2019/05/25 04:09:47.000" "2019/05/25 04:09:47.800"
|
||||
"2019/05/25 04:09:57.000" "2019/05/25 04:09:57.800"
|
||||
"2019/05/25 04:10:07.000" "2019/05/25 04:10:07.800"
|
||||
"2019/05/25 04:10:17.000" "2019/05/25 04:10:17.800"
|
||||
"2019/05/25 04:10:27.000" "2019/05/25 04:10:27.800"
|
||||
"2019/05/25 04:10:37.000" "2019/05/25 04:10:37.800"
|
||||
"2019/05/25 04:10:47.000" "2019/05/25 04:10:47.800"
|
||||
"2019/05/25 04:10:57.000" "2019/05/25 04:10:57.800"
|
||||
"2019/05/25 04:11:07.000" "2019/05/25 04:11:07.800"
|
||||
"2019/05/25 04:11:17.000" "2019/05/25 04:11:17.800"
|
||||
"2019/05/25 04:11:27.000" "2019/05/25 04:11:27.800"
|
||||
"2019/05/25 04:11:37.000" "2019/05/25 04:11:37.800"
|
||||
"2019/05/25 04:11:47.000" "2019/05/25 04:11:47.800"
|
||||
"2019/05/25 04:11:57.000" "2019/05/25 04:11:57.800"
|
||||
"2019/05/25 04:12:07.000" "2019/05/25 04:12:07.800"
|
||||
"2019/05/25 04:12:17.000" "2019/05/25 04:12:17.800"
|
||||
"2019/05/25 04:12:27.000" "2019/05/25 04:12:27.800"
|
||||
"2019/05/25 04:13:28.000" "2019/05/25 04:13:28.800"
|
||||
"2019/05/25 04:13:38.000" "2019/05/25 04:13:38.800"
|
||||
"2019/05/25 04:13:48.000" "2019/05/25 04:13:48.800"
|
||||
"2019/05/25 04:13:58.000" "2019/05/25 04:13:58.800"
|
||||
"2019/05/25 04:14:08.000" "2019/05/25 04:14:08.800"
|
||||
"2019/05/25 04:14:18.000" "2019/05/25 04:14:18.800"
|
||||
"2019/05/25 04:14:28.000" "2019/05/25 04:14:28.800"
|
||||
"2019/05/25 04:14:38.000" "2019/05/25 04:14:38.800"
|
||||
"2019/05/25 04:14:48.000" "2019/05/25 04:14:48.800"
|
||||
"2019/05/25 04:14:58.000" "2019/05/25 04:14:58.800"
|
||||
"2019/05/25 04:15:08.000" "2019/05/25 04:15:08.800"
|
||||
"2019/05/25 04:15:18.000" "2019/05/25 04:15:18.800"
|
||||
"2019/05/25 04:15:28.000" "2019/05/25 04:15:28.800"
|
||||
"2019/05/25 04:15:38.000" "2019/05/25 04:15:38.800"
|
||||
"2019/05/25 04:15:48.000" "2019/05/25 04:15:48.800"
|
||||
"2019/05/25 04:15:58.000" "2019/05/25 04:15:58.800"
|
||||
"2019/05/25 04:17:00.000" "2019/05/25 04:17:00.800"
|
||||
"2019/05/25 04:17:10.000" "2019/05/25 04:17:10.800"
|
||||
"2019/05/25 04:17:20.000" "2019/05/25 04:17:20.800"
|
||||
"2019/05/25 04:17:30.000" "2019/05/25 04:17:30.800"
|
||||
"2019/05/25 04:17:40.000" "2019/05/25 04:17:40.800"
|
||||
"2019/05/25 04:17:50.000" "2019/05/25 04:17:50.800"
|
||||
"2019/05/25 04:18:00.000" "2019/05/25 04:18:00.800"
|
||||
"2019/05/25 04:18:10.000" "2019/05/25 04:18:10.800"
|
||||
"2019/05/25 04:18:20.000" "2019/05/25 04:18:20.800"
|
||||
"2019/05/25 04:18:30.000" "2019/05/25 04:18:30.800"
|
||||
"2019/05/25 04:18:40.000" "2019/05/25 04:18:40.800"
|
||||
"2019/05/25 04:18:50.000" "2019/05/25 04:18:50.800"
|
||||
"2019/05/25 04:19:00.000" "2019/05/25 04:19:00.800"
|
||||
"2019/05/25 04:19:59.000" "2019/05/25 04:19:59.800"
|
||||
"2019/05/25 04:20:09.000" "2019/05/25 04:20:09.800"
|
||||
"2019/05/25 04:20:19.000" "2019/05/25 04:20:19.800"
|
||||
"2019/05/25 04:20:29.000" "2019/05/25 04:20:29.800"
|
||||
"2019/05/25 04:20:39.000" "2019/05/25 04:20:39.800"
|
||||
"2019/05/25 04:20:49.000" "2019/05/25 04:20:49.800"
|
||||
"2019/05/25 04:20:59.000" "2019/05/25 04:20:59.800"
|
||||
"2019/05/25 04:21:09.000" "2019/05/25 04:21:09.800"
|
||||
"2019/05/25 04:21:19.000" "2019/05/25 04:21:19.800"
|
||||
"2019/05/25 04:21:29.000" "2019/05/25 04:21:29.800"
|
||||
"2019/05/25 04:21:39.000" "2019/05/25 04:21:39.800"
|
||||
@@ -1 +0,0 @@
|
||||
"2019/05/25 03:57:58.000" "2019/05/25 04:21:40.000"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,115 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Bennu Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "bennu_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Bennu Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "bennu_models",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
|
||||
local Bennu = {
|
||||
Identifier = "Bennu",
|
||||
Parent = transforms.BennuBarycenter.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "IAU_BENNU",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModelProjection",
|
||||
Body = BENNU_BODY,
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/BennuTextured.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.png",
|
||||
Projection = {
|
||||
Sequence = asset.localResource('InstrumentTimes'),
|
||||
SequenceType = "instrument-times",
|
||||
Observer = "OSIRIS-REX",
|
||||
Target = BENNU_BODY,
|
||||
Aberration = "NONE",
|
||||
AspectRatio = 2,
|
||||
|
||||
DataInputTranslation = {
|
||||
Instruments = {
|
||||
ORX_OCAMS_POLYCAM = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ORX_OCAMS_POLYCAM" },
|
||||
Files = {
|
||||
"BaseballDiamond_PolyCam.txt",
|
||||
--"OrbitalB_Site08_PolyCamImages.txt",
|
||||
"Recon_225m_Equatorial_PolyCam.txt",
|
||||
},
|
||||
},
|
||||
ORX_REXIS = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ORX_REXIS" },
|
||||
Files = {
|
||||
"DetailedSurvey_EquatorialStations_Spectrometers.txt",
|
||||
"Recon_225m_Equatorial_spectrometers.txt",
|
||||
"Recon_525m_Equatorial_spectrometers.txt",
|
||||
}
|
||||
}
|
||||
},
|
||||
Target = {
|
||||
Body = BENNU_BODY
|
||||
},
|
||||
},
|
||||
|
||||
Instrument = { -- INVALID DATA - JUST FOR TESTING
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 0.792,
|
||||
Aspect = 1,
|
||||
Near = 0.01,
|
||||
Far = 1000000
|
||||
}
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Asteroid"
|
||||
}
|
||||
}
|
||||
|
||||
local BennuTrail = {
|
||||
Identifier = "BennuTrail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = BENNU_BODY,
|
||||
Observer = "SUN"
|
||||
},
|
||||
Color = { 0.4, 0.0, 0.7 },
|
||||
StartTime = "2015 JAN 01 00:00:00.000",
|
||||
EndTime = "2023 MAY 31 00:00:00.000",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "Bennu Trail",
|
||||
Path = "/Solar System/Asteroid"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { Bennu, BennuTrail })
|
||||
@@ -1,345 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local earthTransforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
|
||||
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Osiris Rex Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Osiris Rex Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_textures",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Osiris Rex Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "osirisrex_models",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
KernelCase = 2 -- Right now we only have the image times for case 2
|
||||
|
||||
local CaseDependentKernels
|
||||
if KernelCase == 2 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_525mSortie_Case02.bsp",
|
||||
kernels .. "/Recon_525mSortie_Case02_0Latitude.bc",
|
||||
kernels .. "/Recon_525mSortie_Case02_atl_19145_04.atf",
|
||||
|
||||
kernels .. "/ORX_Recon_225mSortie_Case02.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case02_0Latitude.bc"
|
||||
}
|
||||
elseif KernelCase == 5 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_525mSortie_Case05.bsp",
|
||||
kernels .. "/Recon_525mSortie_Case05_20negLatitude.bc",
|
||||
kernels .. "/Recon_525mSortie_Case05_atl_19145_04.atf",
|
||||
kernels .. "/Recon_525mSortie_Case05_NominalProfile.bc",
|
||||
|
||||
kernels .. "/ORX_Recon_225mSortie_Case05.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case05_20negLatitude.bc"
|
||||
}
|
||||
elseif KernelCase == 8 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/Recon_525mSortie_Case08_NominalProfile.bc",
|
||||
kernels .. "/ORX_Recon_225mSortie_Case08.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case08_40negLatitude.bc"
|
||||
}
|
||||
elseif KernelCase == 11 then
|
||||
CaseDependentKernels = {
|
||||
kernels .. "/ORX_Recon_225mSortie_Case11.bsp",
|
||||
kernels .. "/Recon_225mSortie_Case11_60negLatitude.bc"
|
||||
}
|
||||
end
|
||||
|
||||
local OsirisRexKernels = {
|
||||
-- background
|
||||
-- SCLK kernels needs to be loaded before CK kernels (and generally first)
|
||||
kernels .. "/ORX_SCLKSCET.00000.tsc",
|
||||
|
||||
-- This cannot be loaded correctly for some reason!
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/background/dsk/RQ36mod.oct12_CCv0001.bds")
|
||||
|
||||
kernels .. "/orx_v04.tf",
|
||||
kernels .. "/orx_lidar_v00.ti",
|
||||
kernels .. "/orx_ocams_v03.ti",
|
||||
kernels .. "/orx_otes_v00.ti",
|
||||
kernels .. "/orx_rexis_v00.ti",
|
||||
kernels .. "/orx_struct_v00.ti",
|
||||
kernels .. "/orx_navcam_v00.ti",
|
||||
kernels .. "/orx_ola_v00.ti",
|
||||
kernels .. "/orx_ovirs_v00.ti",
|
||||
kernels .. "/orx_stowcam_v00.ti",
|
||||
-- kernels .. "/naif0011.tls",
|
||||
kernels .. "/bennu_SPH250m.tpc",
|
||||
kernels .. "/bennu_v10.tpc",
|
||||
|
||||
-- Low res SPK
|
||||
kernels .. "/orx_160917_231024_pgaa3_day15m60_v1.bsp",
|
||||
kernels .. "/orx_160914_231024_pgaa3_day12m60_v1.bsp",
|
||||
|
||||
kernels .. "/orx_160908_231024_pgaa3_day06m60_v1.bsp",
|
||||
kernels .. "/spk_orx_160908_231024_pgaa2_day06m60_v3.bsp",
|
||||
kernels .. "/orx_160908_231024_pgaa2_day06m60.bsp",
|
||||
|
||||
kernels .. "/OREX_20160908_M60_complete.bsp",
|
||||
kernels .. "/OREX_20160904_M45_complete.bsp",
|
||||
|
||||
-- SPK
|
||||
kernels .. "/de421.bsp",
|
||||
kernels .. "/sb-101955-76.bsp",
|
||||
|
||||
-- Nominal_Profile_LowRes
|
||||
kernels .. "/Approach_600s_20180816T230000_20181119T010000.bsp",
|
||||
kernels .. "/Approach_NominalProfile_600s_20180816T230000_20181119T010000.bc",
|
||||
kernels .. "/DetailedSurvey_600s_20190108T000000_20190317T000000.bsp",
|
||||
kernels .. "/OrbitalA_600s_20181203T230000_20190109T000000.bsp",
|
||||
kernels .. "/OrbitalA_NominalProfile_600s_20181203T230000_20190109T000000.bc",
|
||||
kernels .. "/OrbitalB_600s_20190316T000000_20190521T000000.bsp",
|
||||
kernels .. "/DetailedSurvey_NominalProfile_600s_20190108T000000_20190317T000000.bc",
|
||||
kernels .. "/OrbitalB_NominalProfile600s_20190316T000000_20190521T000000.bc",
|
||||
kernels .. "/PrelimSurvey_600s_20181119T230000_20181204T010000.bsp",
|
||||
kernels .. "/PrelimSurvey_NominalProfile_600s_20181119T230000_20181204T010000.bc",
|
||||
kernels .. "/Recon_600s_20190519T000000_20190830T000000.bsp",
|
||||
kernels .. "/Recon_NominalProfile_600s_20190519T000000_20190830T000000.bc",
|
||||
|
||||
-- Nominal_Observations_Science
|
||||
kernels .. "/Phase03_AP_DustSearch_1.bc",
|
||||
kernels .. "/Phase03_AP_LightCurve_1.bc",
|
||||
kernels .. "/Phase03_AP_LightCurve_2.bc",
|
||||
kernels .. "/Phase03_AP_SatSearch_1.bc",
|
||||
kernels .. "/Phase03_AP_SatSearch_2.bc",
|
||||
kernels .. "/Phase03_AP_PhaseFunction_1.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_1.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_2.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_3.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_4.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_5.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_6.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_7.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_8.bc",
|
||||
kernels .. "/Phase03_AP_ShapeModel_9_Forced4x4.bc",
|
||||
kernels .. "/Phase03_AP_SpectraMap_1.bc",
|
||||
kernels .. "/Phase04_PS_MC_1_v1_1a.bc",
|
||||
kernels .. "/Phase04_PS_MC_2_v1_1a.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_1.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_2.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_3.bc",
|
||||
kernels .. "/Phase04_PS_OLA_Nominal_4.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_1.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_2.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_3.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_4.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_5.bc",
|
||||
kernels .. "/Phase04_PS_PolyCam_6.bc",
|
||||
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19013_18_BBD1_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19014_16_BBD2_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19020_18_BBD3_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/atl_19021_19_BBD4_info.TXT")
|
||||
--openspace.spice.loadKernel(kernels .. "/OsirisRexKernels/Nominal_Observations_Science/06_DetailedSurvey/BaseballDiamond_v2/README.txt")
|
||||
|
||||
kernels .. "/atl_19013_18_BBD1_v2.bc",
|
||||
kernels .. "/atl_19014_16_BBD2_v2.bc",
|
||||
kernels .. "/atl_19020_18_BBD3_v2.bc",
|
||||
kernels .. "/atl_19021_19_BBD4_v2.bc",
|
||||
|
||||
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_1.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_2.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_3.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_4.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_5.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_6.bc",
|
||||
kernels .. "/Phase06_DS_Equatorial_Stations_7.bc",
|
||||
kernels .. "/Phase06_DS_Plume_Search_1.bc",
|
||||
kernels .. "/Phase06_DS_Plume_Search_2.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_1.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_2.bc",
|
||||
kernels .. "/Phase07_OB_CSS_Mapping_3.bc",
|
||||
kernels .. "/CSS_Mapping_1.a",
|
||||
kernels .. "/CSS_Mapping_2.a",
|
||||
kernels .. "/CSS_Mapping_3.a",
|
||||
|
||||
--openspace.spice.loadKernel(kernels .. "/Case02_0Latitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case05_20negLatitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case08_40negLatitude.wmv")
|
||||
--openspace.spice.loadKernel(kernels .. "/Case11_60negLatitude.wmv")
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
-- Append the CaseDependentKernels at the end of the OsirisRexKernels set
|
||||
for i = 0, #CaseDependentKernels do
|
||||
OsirisRexKernels[#OsirisRexKernels + 1] = CaseDependentKernels[i]
|
||||
end
|
||||
|
||||
local OsirisRex = {
|
||||
Identifier = "OsirisRex",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "OSIRIS-REX",
|
||||
Observer = "SUN",
|
||||
Kernels = OsirisRexKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ORX_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC"
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "OSIRIS-REX",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/orx_base_resized_12_sep_2016.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/osirisTex.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "OSIRIS REx",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
local PolyCam = {
|
||||
Identifier = "ORX_OCAMS_POLYCAM",
|
||||
Parent = OsirisRex.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { -0.2476, 0.2710, 0.3364 }
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ORX_OCAMS_POLYCAM",
|
||||
DestinationFrame = "ORX_SPACECRAFT"
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "OSIRIS-REX",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/orx_polycam_resized_12_sep_2016.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/osirisTex.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "OCAMS POLYCAM",
|
||||
Path = "/Solar System/Missions/OSIRIS REx/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local Rexis = {
|
||||
Identifier = "ORX_REXIS",
|
||||
Parent = OsirisRex.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "OSIRIS-REX",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/orx_rexis_resized_12_sep_2016.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/osirisTex.png",
|
||||
LightSources = LightSources
|
||||
},
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "StaticTranslation",
|
||||
Position = { 0, 0.3371, 0.2712 }
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ORX_REXIS",
|
||||
DestinationFrame = "ORX_SPACECRAFT"
|
||||
},
|
||||
},
|
||||
GUI = {
|
||||
Name = "REXIS",
|
||||
Path = "/Solar System/Missions/OSIRIS REx/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local PolyCamFov = {
|
||||
Identifier = "POLYCAM FOV",
|
||||
Parent = PolyCam.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Frame = "ORX_OCAMS_POLYCAM",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "ORX_OCAMS_POLYCAM",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { BENNU_BODY }
|
||||
},
|
||||
GUI = {
|
||||
Name = "POLYCAM FOV",
|
||||
Path = "/Solar System/Missions/OSIRIS REx/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local RexisFov = {
|
||||
Identifier = "REXIS FOV",
|
||||
Parent = Rexis.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "OSIRIS-REX",
|
||||
Frame = "ORX_REXIS",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "ORX_REXIS",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { BENNU_BODY },
|
||||
FrameConversions = {
|
||||
[BENNU_BODY] = "IAU_BENNU"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "REXIS FOV",
|
||||
Path = "/Solar System/Missions/OSIRIS REx/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
OsirisRex,
|
||||
PolyCam,
|
||||
Rexis,
|
||||
PolyCamFov,
|
||||
RexisFov
|
||||
})
|
||||
@@ -1,16 +0,0 @@
|
||||
asset.request('./bennu')
|
||||
asset.request('./model')
|
||||
asset.request('./trail')
|
||||
|
||||
asset.require('./script_schedule')
|
||||
|
||||
local mission = asset.localResource('osirisrex.mission')
|
||||
local missionName
|
||||
|
||||
asset.onInitialize(function()
|
||||
missionName = openspace.loadMission(mission)
|
||||
end)
|
||||
|
||||
asset.onDeinitialize(function()
|
||||
openspace.unloadMission(missionName)
|
||||
end)
|
||||
@@ -1,386 +0,0 @@
|
||||
--[[
|
||||
|
||||
References:
|
||||
[1] Source : http://www.asteroidmission.org/about-mission/
|
||||
Date : 2016-08-23
|
||||
Comment : Precision is not even month - it just defines the overall mission approach
|
||||
|
||||
[2] Source : http://brinktest.lpl.arizona.edu/mission/
|
||||
Date : 2016-08-23
|
||||
Comment : Data taken from text descriptions of the visualizations. There is a little time bar up
|
||||
in the upper right corner.
|
||||
|
||||
[3] Source : SPICE kernel data coverage
|
||||
Date : 2016-08-23
|
||||
Comment : The spice data is split up into across different files. These files
|
||||
seems to represent different phases. A script was used to extract the
|
||||
SPICE coverage from all .bc files and use the names of the files as
|
||||
mission names and associate the name with the time coverage.
|
||||
Script used: support/mission/ckbrief2mission.js
|
||||
|
||||
[4] Source : Visual interpretation of SPICE kernel data coverage
|
||||
Date : 2016-08-23
|
||||
Comment : Based on observation of the visualized spice data through OpenSpace.
|
||||
|
||||
--]]
|
||||
|
||||
return {
|
||||
Name = "OSIRIS-REx",
|
||||
Phases = {
|
||||
-- All 1-level phases based on [1]
|
||||
{
|
||||
Name = "Planning and Fabrication",
|
||||
TimeRange = { Start = "2012 JAN 01 00:00:00", End = "2016 SEP 08 23:05:00" }
|
||||
},
|
||||
{
|
||||
Name = "Outbound Cruise",
|
||||
TimeRange = { Start = "2016 SEP 03 00:00:00", End = "2018 SEP 01 01:00:00" },
|
||||
Phases = {
|
||||
-- Phases from [4]
|
||||
{
|
||||
Name = "Pre Launch",
|
||||
TimeRange = { Start = "2016 SEP 03 01:00:00", End = "2016 SEP 08 23:05:05" }
|
||||
},
|
||||
{
|
||||
Name = "Launch", TimeRange = { Start = "2016 SEP 08 23:05:05", End = "2016 SEP 08 23:09:00" }
|
||||
},
|
||||
{
|
||||
Name = "Earth Orbit", TimeRange = { Start = "2016 SEP 08 23:09:00", End = "2016 SEP 08 23:45:00" }
|
||||
},
|
||||
{
|
||||
Name = "Solar Orbit", TimeRange = { Start = "2016 SEP 08 23:45:00", End = "2018 SEP 01 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Upcoming Gravity Assist", TimeRange = { Start = "2017 JAN 22 15:00:00", End = "2017 SEP 22 15:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Gravity Assist", TimeRange = { Start = "2017 SEP 22 15:00:00", End = "2017 SEP 22 21:00:00" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Asteroid Operations",
|
||||
Phases = {
|
||||
-- Nested Levels from [3]
|
||||
{
|
||||
Name = "03_Approach", Phases = {
|
||||
{
|
||||
Name = "DustSearch_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_DustSearch_1.bc",
|
||||
TimeRange = { Start = "2018-SEP-11 21:31:01.183", End = "2018-SEP-12 02:18:41.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "LightCurve_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_LightCurve_1.bc",
|
||||
TimeRange = { Start = "2018-OCT-09 21:50:48.182", End = "2018-OCT-10 02:33:16.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_LightCurve_2.bc",
|
||||
TimeRange = { Start = "2018-OCT-10 21:50:48.182", End = "2018-OCT-11 02:33:16.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "NatSatSearch_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_SatSearch_1.bc",
|
||||
TimeRange = { Start = "2018-OCT-26 19:38:30.183", End = "2018-OCT-27 00:22:34.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_SatSearch_2.bc",
|
||||
TimeRange = { Start = "2018-NOV-05 17:10:20.183", End = "2018-NOV-05 21:59:48.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "PhaseFunction_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_PhaseFunction_1.bc",
|
||||
TimeRange = { Start = "2018-OCT-12 21:42:26.183", End = "2018-OCT-13 02:24:54.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "ShapeModel_v1", Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_1.bc",
|
||||
TimeRange = { Start = "2018-NOV-09 11:02:59.183", End = "2018-NOV-09 15:52:27.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_2.bc",
|
||||
TimeRange = { Start = "2018-NOV-10 11:02:59.183", End = "2018-NOV-10 15:52:27.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_3.bc",
|
||||
TimeRange = { Start = "2018-NOV-11 11:02:59.183", End = "2018-NOV-11 15:52:27.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_4.bc",
|
||||
TimeRange = { Start = "2018-NOV-12 11:02:59.183", End = "2018-NOV-12 15:52:27.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_5.bc",
|
||||
TimeRange = { Start = "2018-NOV-13 11:02:59.183", End = "2018-NOV-13 15:52:27.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_6.bc",
|
||||
TimeRange = { Start = "2018-NOV-14 11:03:53.183", End = "2018-NOV-14 15:51:33.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_7.bc",
|
||||
TimeRange = { Start = "2018-NOV-15 11:03:53.183", End = "2018-NOV-15 15:51:33.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_8.bc",
|
||||
TimeRange = { Start = "2018-NOV-16 11:03:53.183", End = "2018-NOV-16 15:51:33.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase03_AP_ShapeModel_9_Forced4x4.bc",
|
||||
TimeRange = { Start = "2018-NOV-17 11:03:54.183", End = "2018-NOV-17 15:51:34.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "SpectraMap_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase03_AP_SpectraMap_1.bc",
|
||||
TimeRange = { Start = "2018-OCT-30 20:44:53.183", End = "2018-OCT-31 01:34:21.183" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "04_PrelimSurvey",
|
||||
Phases = {
|
||||
{
|
||||
Name = "MapCamOLA_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase04_PS_MC_1_v1_1a.bc",
|
||||
TimeRange = { Start = "2018-NOV-20 01:13:12.183", End = "2018-NOV-20 06:13:04.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_MC_2_v1_1a.bc",
|
||||
TimeRange = { Start = "2018-NOV-28 01:13:12.183", End = "2018-NOV-28 06:13:04.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "OLA_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase04_PS_OLA_Nominal_1.bc",
|
||||
TimeRange = { Start = "2018-NOV-19 22:30:00.184", End = "2018-NOV-19 23:19:28.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_OLA_Nominal_2.bc",
|
||||
TimeRange = { Start = "2018-NOV-23 22:19:34.184", End = "2018-NOV-23 23:19:26.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_OLA_Nominal_3.bc",
|
||||
TimeRange = { Start = "2018-NOV-24 00:48:38.184", End = "2018-NOV-24 01:38:06.184" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_OLA_Nominal_4.bc",
|
||||
TimeRange = { Start = "2018-NOV-27 22:29:58.184", End = "2018-NOV-27 23:19:26.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "PolyCam_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_1.bc",
|
||||
TimeRange = { Start = "2018-NOV-19 12:00:33.183", End = "2018-NOV-19 16:46:25.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_2.bc",
|
||||
TimeRange = { Start = "2018-NOV-20 07:10:26.183", End = "2018-NOV-20 12:10:18.183" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_3.bc",
|
||||
TimeRange = { Start = "2018-NOV-23 11:51:29.184", End = "2018-NOV-23 16:51:21.184" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_4.bc",
|
||||
TimeRange = { Start = "2018-NOV-24 07:17:39.184", End = "2018-NOV-24 12:03:31.184" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_5.bc",
|
||||
TimeRange = { Start = "2018-NOV-27 12:00:20.184", End = "2018-NOV-27 16:46:12.184" }
|
||||
},
|
||||
{
|
||||
Name = "Phase04_PS_PolyCam_6.bc",
|
||||
TimeRange = { Start = "2018-NOV-28 07:10:35.183", End = "2018-NOV-28 12:10:27.183" }
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "06_DetailedSurvey",
|
||||
Phases = {
|
||||
{
|
||||
Name = "BaseballDiamond_v2",
|
||||
Phases = {
|
||||
{
|
||||
Name = "atl_19013_18_BBD1_v2.bc",
|
||||
TimeRange = { Start = "2019-JAN-13 18:59:31.195", End = "2019-JAN-13 23:59:29.179" }
|
||||
},
|
||||
{
|
||||
Name = "atl_19014_16_BBD2_v2.bc",
|
||||
TimeRange = { Start = "2019-JAN-14 16:56:01.185", End = "2019-JAN-14 21:55:58.219" }
|
||||
},
|
||||
{
|
||||
Name = "atl_19020_18_BBD3_v2.bc",
|
||||
TimeRange = { Start = "2019-JAN-20 18:59:15.211", End = "2019-JAN-20 23:59:13.195" }
|
||||
},
|
||||
{
|
||||
Name = "atl_19021_19_BBD4_v2.bc",
|
||||
TimeRange = { Start = "2019-JAN-21 19:26:47.179", End = "2019-JAN-22 00:26:44.213" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "EquatorialStations_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_1.bc",
|
||||
TimeRange = { Start = "2019-JAN-27 10:36:24.185", End = "2019-JAN-27 15:20:28.185" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_2.bc",
|
||||
TimeRange = { Start = "2019-FEB-03 10:35:30.185", End = "2019-FEB-03 15:21:22.185" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_3.bc",
|
||||
TimeRange = { Start = "2019-FEB-10 10:51:50.185", End = "2019-FEB-10 15:51:42.185" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_4.bc",
|
||||
TimeRange = { Start = "2019-FEB-17 10:29:11.186", End = "2019-FEB-17 15:29:03.186" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_5.bc",
|
||||
TimeRange = { Start = "2019-FEB-24 10:08:28.186", End = "2019-FEB-24 15:08:20.185" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_6.bc",
|
||||
TimeRange = { Start = "2019-MAR-03 09:52:58.186", End = "2019-MAR-03 14:42:26.186" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Equatorial_Stations_7.bc",
|
||||
TimeRange = { Start = "2019-MAR-10 09:57:47.186", End = "2019-MAR-10 14:36:33.186" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "PlumeSearch_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase06_DS_Plume_Search_1.bc",
|
||||
TimeRange = { Start = "2019-JAN-28 10:34:36.185", End = "2019-JAN-28 15:22:16.185" }
|
||||
},
|
||||
{
|
||||
Name = "Phase06_DS_Plume_Search_2.bc",
|
||||
TimeRange = { Start = "2019-FEB-18 10:29:11.186", End = "2019-FEB-18 15:29:03.186" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "07_OrbitalB",
|
||||
Phases = {
|
||||
{
|
||||
Name = "CandidateSampleSite_v1",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Phase07_OB_CSS_Mapping_1.bc",
|
||||
TimeRange = { Start = "2019-APR-08 10:35:27.186", End = "2019-APR-08 15:22:06.186" }
|
||||
},
|
||||
{
|
||||
Name = "Phase07_OB_CSS_Mapping_2.bc",
|
||||
TimeRange = { Start = "2019-APR-08 16:16:06.186", End = "2019-APR-11 10:38:58.186" }
|
||||
},
|
||||
{
|
||||
Name = "Phase07_OB_CSS_Mapping_3.bc",
|
||||
TimeRange = { Start = "2019-APR-22 17:51:23.186", End = "2019-APR-29 19:41:03.186" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "08_Recon",
|
||||
Phases = {
|
||||
{
|
||||
Name = "225m_Sortie_v2",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Recon_225mSortie_Case02_0Latitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 03:50:31.195", End = "2019-MAY-25 04:32:17.227" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_225mSortie_Case05_20negLatitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 03:50:48.216", End = "2019-MAY-25 04:37:10.209" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_225mSortie_Case08_40negLatitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 04:02:43.176", End = "2019-MAY-25 04:54:41.179" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_225mSortie_Case11_60negLatitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 04:21:46.161", End = "2019-MAY-25 05:18:44.232" }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "525m_Sortie_v2",
|
||||
Phases = {
|
||||
{
|
||||
Name = "Recon_525mSortie_Case02_0Latitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 04:06:39.220", End = "2019-MAY-25 04:44:17.198" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_525mSortie_Case05_20negLatitude.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 04:11:39.201", End = "2019-MAY-25 04:49:37.224" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_525mSortie_Case05_NominalProfile.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 03:01:50.184", End = "2019-MAY-25 06:38:50.232" }
|
||||
},
|
||||
{
|
||||
Name = "Recon_525mSortie_Case08_NominalProfile.bc",
|
||||
TimeRange = { Start = "2019-MAY-25 03:01:50.184", End = "2019-MAY-25 06:38:50.232" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-- End of [3]
|
||||
}
|
||||
},
|
||||
{
|
||||
Name = "Backup Time",
|
||||
TimeRange = { Start = "2020 JAN 01 00:00:00", End = "2021 JAN 01 00:00:00" }
|
||||
},
|
||||
{
|
||||
Name = "Return Cruise",
|
||||
TimeRange = { Start = "2021 JAN 01 00:00:00", End = "2023 SEP 20 00:00:00"}
|
||||
},
|
||||
-- Not too interesting in terms of space visualization --> out commented
|
||||
-- { Name = "Sample Analysis", TimeRange = { Start = "2023 JAN 01 00:00:00", End = "2025 JUN 01 00:00:00" } },
|
||||
-- End of [1]
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
local scriptSchedulerHelper = asset.require('util/script_scheduler_helper')
|
||||
|
||||
asset.onInitialize(function ()
|
||||
scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "Scene.OsirisRexTrailSolarSystem", false)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabled("2016 SEP 08 23:05:00", "Scene.OsirisRexTrailBennu", false)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 08 23:05:01", "Scene.OsirisRexTrailEarth", true)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 00:00:00", "Scene.OsirisRexTrailSolarSystem", true)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2016 SEP 09 02:00:00", "Scene.OsirisRexTrailEarth", false)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 11 00:00:00", "Scene.OsirisRexTrailBennu", true)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2018 OCT 15 00:00:00", "Scene.OsirisRexTrailSolarSystem", false)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "Scene.OsirisRexTrailSolarSystem", true)
|
||||
scriptSchedulerHelper.scheduleRenderableEnabledReversable("2019 AUG 01 00:00:00", "Scene.OsirisRexTrailBennu", false)
|
||||
end)
|
||||
|
||||
|
||||
asset.onDeinitialize(function ()
|
||||
openspace.scriptScheduler.clear()
|
||||
end)
|
||||
@@ -1,95 +0,0 @@
|
||||
return
|
||||
{ Name = "Nominal_Observations_Science", Phases = {
|
||||
{ Name = "03_Approach", Phases = {
|
||||
{ Name = "DustSearch_v1", Phases = {
|
||||
{ Name = "Phase03_AP_DustSearch_1.bc", TimeRange = { Start = "2018-SEP-11 21:31:01.183", End = "2018-SEP-12 02:18:41.183" }},
|
||||
}},
|
||||
{ Name = "LightCurve_v1", Phases = {
|
||||
{ Name = "Phase03_AP_LightCurve_1.bc", TimeRange = { Start = "2018-OCT-09 21:50:48.182", End = "2018-OCT-10 02:33:16.183" }},
|
||||
{ Name = "Phase03_AP_LightCurve_2.bc", TimeRange = { Start = "2018-OCT-10 21:50:48.182", End = "2018-OCT-11 02:33:16.183" }},
|
||||
}},
|
||||
{ Name = "NatSatSearch_v1", Phases = {
|
||||
{ Name = "Phase03_AP_SatSearch_1.bc", TimeRange = { Start = "2018-OCT-26 19:38:30.183", End = "2018-OCT-27 00:22:34.183" }},
|
||||
{ Name = "Phase03_AP_SatSearch_2.bc", TimeRange = { Start = "2018-NOV-05 17:10:20.183", End = "2018-NOV-05 21:59:48.183" }},
|
||||
}},
|
||||
{ Name = "PhaseFunction_v1", Phases = {
|
||||
{ Name = "Phase03_AP_PhaseFunction_1.bc", TimeRange = { Start = "2018-OCT-12 21:42:26.183", End = "2018-OCT-13 02:24:54.183" }},
|
||||
}},
|
||||
{ Name = "ShapeModel_v1", Phases = {
|
||||
{ Name = "Phase03_AP_ShapeModel_1.bc", TimeRange = { Start = "2018-NOV-09 11:02:59.183", End = "2018-NOV-09 15:52:27.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_2.bc", TimeRange = { Start = "2018-NOV-10 11:02:59.183", End = "2018-NOV-10 15:52:27.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_3.bc", TimeRange = { Start = "2018-NOV-11 11:02:59.183", End = "2018-NOV-11 15:52:27.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_4.bc", TimeRange = { Start = "2018-NOV-12 11:02:59.183", End = "2018-NOV-12 15:52:27.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_5.bc", TimeRange = { Start = "2018-NOV-13 11:02:59.183", End = "2018-NOV-13 15:52:27.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_6.bc", TimeRange = { Start = "2018-NOV-14 11:03:53.183", End = "2018-NOV-14 15:51:33.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_7.bc", TimeRange = { Start = "2018-NOV-15 11:03:53.183", End = "2018-NOV-15 15:51:33.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_8.bc", TimeRange = { Start = "2018-NOV-16 11:03:53.183", End = "2018-NOV-16 15:51:33.183" }},
|
||||
{ Name = "Phase03_AP_ShapeModel_9_Forced4x4.bc", TimeRange = { Start = "2018-NOV-17 11:03:54.183", End = "2018-NOV-17 15:51:34.183" }},
|
||||
}},
|
||||
{ Name = "SpectraMap_v1", Phases = {
|
||||
{ Name = "Phase03_AP_SpectraMap_1.bc", TimeRange = { Start = "2018-OCT-30 20:44:53.183", End = "2018-OCT-31 01:34:21.183" }},
|
||||
}},
|
||||
}},
|
||||
{ Name = "04_PrelimSurvey", Phases = {
|
||||
{ Name = "MapCamOLA_v1", Phases = {
|
||||
{ Name = "Phase04_PS_MC_1_v1_1a.bc", TimeRange = { Start = "2018-NOV-20 01:13:12.183", End = "2018-NOV-20 06:13:04.183" }},
|
||||
{ Name = "Phase04_PS_MC_2_v1_1a.bc", TimeRange = { Start = "2018-NOV-28 01:13:12.183", End = "2018-NOV-28 06:13:04.183" }},
|
||||
}},
|
||||
{ Name = "OLA_v1", Phases = {
|
||||
{ Name = "Phase04_PS_OLA_Nominal_1.bc", TimeRange = { Start = "2018-NOV-19 22:30:00.184", End = "2018-NOV-19 23:19:28.183" }},
|
||||
{ Name = "Phase04_PS_OLA_Nominal_2.bc", TimeRange = { Start = "2018-NOV-23 22:19:34.184", End = "2018-NOV-23 23:19:26.183" }},
|
||||
{ Name = "Phase04_PS_OLA_Nominal_3.bc", TimeRange = { Start = "2018-NOV-24 00:48:38.184", End = "2018-NOV-24 01:38:06.184" }},
|
||||
{ Name = "Phase04_PS_OLA_Nominal_4.bc", TimeRange = { Start = "2018-NOV-27 22:29:58.184", End = "2018-NOV-27 23:19:26.183" }},
|
||||
}},
|
||||
{ Name = "PolyCam_v1", Phases = {
|
||||
{ Name = "Phase04_PS_PolyCam_1.bc", TimeRange = { Start = "2018-NOV-19 12:00:33.183", End = "2018-NOV-19 16:46:25.183" }},
|
||||
{ Name = "Phase04_PS_PolyCam_2.bc", TimeRange = { Start = "2018-NOV-20 07:10:26.183", End = "2018-NOV-20 12:10:18.183" }},
|
||||
{ Name = "Phase04_PS_PolyCam_3.bc", TimeRange = { Start = "2018-NOV-23 11:51:29.184", End = "2018-NOV-23 16:51:21.184" }},
|
||||
{ Name = "Phase04_PS_PolyCam_4.bc", TimeRange = { Start = "2018-NOV-24 07:17:39.184", End = "2018-NOV-24 12:03:31.184" }},
|
||||
{ Name = "Phase04_PS_PolyCam_5.bc", TimeRange = { Start = "2018-NOV-27 12:00:20.184", End = "2018-NOV-27 16:46:12.184" }},
|
||||
{ Name = "Phase04_PS_PolyCam_6.bc", TimeRange = { Start = "2018-NOV-28 07:10:35.183", End = "2018-NOV-28 12:10:27.183" }},
|
||||
}},
|
||||
}},
|
||||
{ Name = "06_DetailedSurvey", Phases = {
|
||||
{ Name = "BaseballDiamond_v2", Phases = {
|
||||
{ Name = "atl_19013_18_BBD1_v2.bc", TimeRange = { Start = "2019-JAN-13 18:59:31.195", End = "2019-JAN-13 23:59:29.179" }},
|
||||
{ Name = "atl_19014_16_BBD2_v2.bc", TimeRange = { Start = "2019-JAN-14 16:56:01.185", End = "2019-JAN-14 21:55:58.219" }},
|
||||
{ Name = "atl_19020_18_BBD3_v2.bc", TimeRange = { Start = "2019-JAN-20 18:59:15.211", End = "2019-JAN-20 23:59:13.195" }},
|
||||
{ Name = "atl_19021_19_BBD4_v2.bc", TimeRange = { Start = "2019-JAN-21 19:26:47.179", End = "2019-JAN-22 00:26:44.213" }},
|
||||
}},
|
||||
{ Name = "EquatorialStations_v1", Phases = {
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_1.bc", TimeRange = { Start = "2019-JAN-27 10:36:24.185", End = "2019-JAN-27 15:20:28.185" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_2.bc", TimeRange = { Start = "2019-FEB-03 10:35:30.185", End = "2019-FEB-03 15:21:22.185" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_3.bc", TimeRange = { Start = "2019-FEB-10 10:51:50.185", End = "2019-FEB-10 15:51:42.185" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_4.bc", TimeRange = { Start = "2019-FEB-17 10:29:11.186", End = "2019-FEB-17 15:29:03.186" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_5.bc", TimeRange = { Start = "2019-FEB-24 10:08:28.186", End = "2019-FEB-24 15:08:20.185" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_6.bc", TimeRange = { Start = "2019-MAR-03 09:52:58.186", End = "2019-MAR-03 14:42:26.186" }},
|
||||
{ Name = "Phase06_DS_Equatorial_Stations_7.bc", TimeRange = { Start = "2019-MAR-10 09:57:47.186", End = "2019-MAR-10 14:36:33.186" }},
|
||||
}},
|
||||
{ Name = "PlumeSearch_v1", Phases = {
|
||||
{ Name = "Phase06_DS_Plume_Search_1.bc", TimeRange = { Start = "2019-JAN-28 10:34:36.185", End = "2019-JAN-28 15:22:16.185" }},
|
||||
{ Name = "Phase06_DS_Plume_Search_2.bc", TimeRange = { Start = "2019-FEB-18 10:29:11.186", End = "2019-FEB-18 15:29:03.186" }},
|
||||
}},
|
||||
}},
|
||||
{ Name = "07_OrbitalB", Phases = {
|
||||
{ Name = "CandidateSampleSite_v1", Phases = {
|
||||
{ Name = "Phase07_OB_CSS_Mapping_1.bc", TimeRange = { Start = "2019-APR-08 10:35:27.186", End = "2019-APR-08 15:22:06.186" }},
|
||||
{ Name = "Phase07_OB_CSS_Mapping_2.bc", TimeRange = { Start = "2019-APR-08 16:16:06.186", End = "2019-APR-11 10:38:58.186" }},
|
||||
{ Name = "Phase07_OB_CSS_Mapping_3.bc", TimeRange = { Start = "2019-APR-22 17:51:23.186", End = "2019-APR-29 19:41:03.186" }},
|
||||
}},
|
||||
}},
|
||||
{ Name = "08_Recon", Phases = {
|
||||
{ Name = "225m_Sortie_v2", Phases = {
|
||||
{ Name = "Recon_225mSortie_Case02_0Latitude.bc", TimeRange = { Start = "2019-MAY-25 03:50:31.195", End = "2019-MAY-25 04:32:17.227" }},
|
||||
{ Name = "Recon_225mSortie_Case05_20negLatitude.bc", TimeRange = { Start = "2019-MAY-25 03:50:48.216", End = "2019-MAY-25 04:37:10.209" }},
|
||||
{ Name = "Recon_225mSortie_Case08_40negLatitude.bc", TimeRange = { Start = "2019-MAY-25 04:02:43.176", End = "2019-MAY-25 04:54:41.179" }},
|
||||
{ Name = "Recon_225mSortie_Case11_60negLatitude.bc", TimeRange = { Start = "2019-MAY-25 04:21:46.161", End = "2019-MAY-25 05:18:44.232" }},
|
||||
}},
|
||||
{ Name = "525m_Sortie_v2", Phases = {
|
||||
{ Name = "Recon_525mSortie_Case02_0Latitude.bc", TimeRange = { Start = "2019-MAY-25 04:06:39.220", End = "2019-MAY-25 04:44:17.198" }},
|
||||
{ Name = "Recon_525mSortie_Case05_20negLatitude.bc", TimeRange = { Start = "2019-MAY-25 04:11:39.201", End = "2019-MAY-25 04:49:37.224" }},
|
||||
{ Name = "Recon_525mSortie_Case05_NominalProfile.bc", TimeRange = { Start = "2019-MAY-25 03:01:50.184", End = "2019-MAY-25 06:38:50.232" }},
|
||||
{ Name = "Recon_525mSortie_Case08_NominalProfile.bc", TimeRange = { Start = "2019-MAY-25 03:01:50.184", End = "2019-MAY-25 06:38:50.232" }},
|
||||
}},
|
||||
}},
|
||||
}}
|
||||
@@ -1,80 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('./transforms')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local earthTransforms = asset.require('scene/solarsystem/planets/earth/transforms')
|
||||
|
||||
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
local OsirisRexTrailEarth = {
|
||||
Identifier = "OsirisRexTrailEarth",
|
||||
Parent = earthTransforms.EarthIAU.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "OSIRIS-REX",
|
||||
Frame = "IAU_EARTH",
|
||||
Observer = "EARTH"
|
||||
},
|
||||
Color = { 0.9, 0.9, 0.0 },
|
||||
StartTime = "2016 SEP 8 23:05:00.50",
|
||||
EndTime = "2016 SEP 9 00:05:00",
|
||||
SampleInterval = 60
|
||||
},
|
||||
GUI = {
|
||||
Name = "OSIRIS REx Trail Earth",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
local OsirisRexTrailSolarSystem = {
|
||||
Identifier = "OsirisRexTrailSolarSystem",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "OSIRIS-REX",
|
||||
Observer = "SUN"
|
||||
},
|
||||
Color = { 0.2, 0.9, 0.2 },
|
||||
StartTime = "2016 SEP 8 23:05:00.50",
|
||||
EndTime = "2023 SEP 24 12:00:00",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "OSIRIS REx Trail Solar System",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
local OsirisRexTrailBennu = {
|
||||
Identifier = "OsirisRexTrailBennu",
|
||||
Parent = transforms.BennuBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "OSIRIS-REX",
|
||||
Observer = BENNU_BODY
|
||||
},
|
||||
Color = { 0.9, 0.2, 0.9 },
|
||||
StartTime = "2018 SEP 4 00:00:00",
|
||||
EndTime = "2023 SEP 24 12:00:00",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "OSIRIS REx Trail Bennu",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
OsirisRexTrailEarth,
|
||||
OsirisRexTrailSolarSystem,
|
||||
OsirisRexTrailBennu
|
||||
})
|
||||
@@ -1,26 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local BENNU_BODY = "2101955"
|
||||
|
||||
local BennuBarycenter = {
|
||||
Identifier = "BennuBarycenter",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = BENNU_BODY,
|
||||
Observer = "SUN"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Bennu Barycenter",
|
||||
Path = "/Solar System/Missions/OSIRIS REx"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, { BennuBarycenter })
|
||||
@@ -1,75 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local modelFolder = asset.syncedResource({
|
||||
Name = "Pioneer 10/11 Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "pioneer_10_11_model",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local kernelsFolder = asset.syncedResource({
|
||||
Name = "Pioneer Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "pioneer_10_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernelsList = {kernelsFolder .. '/p10-a.bsp'}
|
||||
|
||||
local Pioneer10NAIF = "-23"
|
||||
|
||||
local Pioneer10 = {
|
||||
Identifier = "Pioneer10",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = Pioneer10NAIF,
|
||||
Observer = "SUN",
|
||||
Kernels = kernelsList
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = modelFolder .. "/Pioneer.obj"
|
||||
},
|
||||
ColorTexture = modelFolder .. "/gray.png",
|
||||
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 10",
|
||||
Path = "/Solar System/Missions/Pioneer/10"
|
||||
}
|
||||
}
|
||||
|
||||
local Pioneer10Trail = {
|
||||
Identifier = "Pioneer10Trail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = Pioneer10NAIF,
|
||||
Observer = "SUN",
|
||||
Kernels = kernelsList
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1972 MAR 03 02:04:00",
|
||||
EndTime = "1990 JAN 02 00:00:00",
|
||||
EnableFade = false,
|
||||
SampleInterval = 6545 * 2
|
||||
-- 6545 is the number of days between the Start and End time (aka sample every 2d)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 10 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer/10"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Pioneer10,
|
||||
Pioneer10Trail,
|
||||
})
|
||||
@@ -1,78 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
local modelFolder = asset.syncedResource({
|
||||
Name = "Pioneer 10/11 Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "pioneer_10_11_model",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local kernelsFolder = asset.syncedResource({
|
||||
Name = "Pioneer Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "pioneer_11_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernelsList = {
|
||||
kernelsFolder .. '/p11-a.bsp',
|
||||
kernelsFolder .. '/p11_sat336.bsp'
|
||||
}
|
||||
|
||||
local Pioneer11NAIF = "-24"
|
||||
|
||||
local Pioneer11 = {
|
||||
Identifier = "Pioneer_11",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = Pioneer11NAIF,
|
||||
Observer = "SUN",
|
||||
Kernels = kernelsList
|
||||
},
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = modelFolder .. "/Pioneer.obj"
|
||||
},
|
||||
ColorTexture = modelFolder .. "/gray.png",
|
||||
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 11",
|
||||
Path = "/Solar System/Missions/Pioneer/11"
|
||||
}
|
||||
}
|
||||
|
||||
local Pioneer11Trail = {
|
||||
Identifier = "Pioneer11Trail",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = Pioneer11NAIF,
|
||||
Observer = "SUN",
|
||||
Kernels = kernelsList
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1973 APR 06 02:25:00.000",
|
||||
EndTime = "1990 JAN 02 00:00:00.000",
|
||||
EnableFade = false,
|
||||
SampleInterval = 6087 * 2
|
||||
--6087 is the number of days between the Start and End time (so sample every 2d)
|
||||
},
|
||||
GUI = {
|
||||
Name = "Pioneer 11 Trail",
|
||||
Path = "/Solar System/Missions/Pioneer/11"
|
||||
}
|
||||
}
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Pioneer11,
|
||||
Pioneer11Trail,
|
||||
})
|
||||
@@ -1,154 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local transforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "67P Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "67p_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "67P Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "67p_models",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local images = asset.syncedResource({
|
||||
Name = "Rosetta Images",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "rosettaimages",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local imagesDestination = images .. "/images"
|
||||
|
||||
local Barycenter = {
|
||||
Identifier = "67PBarycenter",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "CHURYUMOV-GERASIMENKO",
|
||||
Observer = "SUN"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "67P Barycenter",
|
||||
Path = "/Solar System/Comets/67P Churymov-Gerasimenko"
|
||||
}
|
||||
}
|
||||
|
||||
local Comet67P = {
|
||||
Identifier = "67P",
|
||||
Parent = Barycenter.Identifier,
|
||||
Transform = {
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "67P/C-G_CK",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
Renderable = {
|
||||
Type = "RenderableModelProjection",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/67P_rotated_5_130.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/gray.jpg",
|
||||
Projection = {
|
||||
Sequence = { imagesDestination },
|
||||
SequenceType = "image-sequence",
|
||||
Observer = "ROSETTA",
|
||||
Target = "CHURYUMOV-GERASIMENKO",
|
||||
Aberration = "NONE",
|
||||
TextureMap = true,
|
||||
ShadowMap = true,
|
||||
|
||||
DataInputTranslation = {
|
||||
Instrument = {
|
||||
NAVCAM = {
|
||||
DetectorType = "Camera",
|
||||
Spice = { "ROS_NAVCAM-A" }
|
||||
},
|
||||
},
|
||||
Target = {
|
||||
Read = {
|
||||
"TARGET_NAME",
|
||||
"INSTRUMENT_HOST_NAME",
|
||||
"INSTRUMENT_ID",
|
||||
"START_TIME",
|
||||
"STOP_TIME"
|
||||
},
|
||||
Convert = {
|
||||
CHURYUMOV = { "CHURYUMOV-GERASIMENKO" },
|
||||
ROSETTA = { "ROSETTA" },
|
||||
["ROSETTA-ORBITER"] = { "ROSETTA" },
|
||||
CHURYUMOVGERASIMENKO11969R1 = { "CHURYUMOV-GERASIMENKO" },
|
||||
CHURYUMOVGERASIMENKO = { "CHURYUMOV-GERASIMENKO" },
|
||||
["CHURYUMOV-GERASIMENKO1(1969R1)"] = { "CHURYUMOV-GERASIMENKO" },
|
||||
CALIBRATION = { "CALIBRATION" },
|
||||
ALPHALYR = { "ALPHALYR" },
|
||||
ZETACAS = { "ZETACAS" }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Instrument = {
|
||||
Name = "ROS_NAVCAM-A",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE",
|
||||
Fovy = 5.00,
|
||||
Aspect = 1
|
||||
}
|
||||
},
|
||||
|
||||
BoundingSphereRadius = 5000.0
|
||||
},
|
||||
GUI = {
|
||||
Name = "67P Churymov-Gerasimenko",
|
||||
Path = "/Solar System/Comets/67P Churymov-Gerasimenko"
|
||||
}
|
||||
}
|
||||
|
||||
local Trail67P = {
|
||||
Identifier = "67PTrail",
|
||||
Parent = transforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "CHURYUMOV-GERASIMENKO",
|
||||
Observer = "SUN"
|
||||
},
|
||||
Color = { 0.1, 0.9, 0.2 },
|
||||
StartTime = "2014 JAN 01 00:00:00.000",
|
||||
EndTime = "2017 JAN 01 00:00:00.000",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "67P Trail",
|
||||
Path = "/Solar System/Comets/67P Churymov-Gerasimenko"
|
||||
}
|
||||
}
|
||||
|
||||
asset.onInitialize(function()
|
||||
if not openspace.directoryExists(imagesDestination) then
|
||||
openspace.printInfo("Extracting Rosetta images")
|
||||
openspace.unzipFile(images .. "/images_v1_v2.zip", imagesDestination, true)
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Barycenter,
|
||||
Comet67P,
|
||||
Trail67P
|
||||
})
|
||||
|
||||
asset.export("Barycenter", Barycenter)
|
||||
asset.export("Comet67P", Comet67P)
|
||||
@@ -1,543 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
local transforms = asset.require('./67p')
|
||||
|
||||
|
||||
|
||||
local textures = asset.syncedResource({
|
||||
Name = "Rosetta Textures",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "rosetta_textures",
|
||||
Version = 2
|
||||
})
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Rosetta Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "rosetta_model",
|
||||
Version = 3
|
||||
})
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Rosetta Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "rosetta_kernels",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local RosettaKernels = {
|
||||
kernels .. "/ROS_160718_STEP.TSC",
|
||||
kernels .. "/ros_triv.tsc",
|
||||
|
||||
kernels .. "/CORB_DV_243_01___T19_00325.BSP",
|
||||
kernels .. "/CORB_DV_223_01___T19_00302.BSP",
|
||||
kernels .. "/CORB_DV_145_01___T19_00216.BSP",
|
||||
|
||||
kernels .. "/LORB_DV_236_01___T19_00318.BSP",
|
||||
kernels .. "/LORB_DV_223_01___T19_00302.BSP",
|
||||
kernels .. "/LORB_DV_145_01___T19_00216.BSP",
|
||||
|
||||
kernels .. "/RORB_DV_243_01___T19_00325.BSP",
|
||||
kernels .. "/RORB_DV_223_01___T19_00302.BSP",
|
||||
kernels .. "/RORB_DV_145_01___T19_00216.BSP",
|
||||
|
||||
kernels .. "/ATNR_P040302093352_00127.BC",
|
||||
|
||||
kernels .. "/ROS_STRUCT_V5.BSP",
|
||||
|
||||
kernels .. "/ROS_NAVCAM_V01.TI",
|
||||
|
||||
kernels .. "/ROS_CHURYUMOV_V01.TF",
|
||||
kernels .. "/ROS_V26.TF",
|
||||
|
||||
-- CK
|
||||
-- Rosetta attitude
|
||||
kernels .. "/RATT_DV_243_01_01____00325.BC",
|
||||
kernels .. "/RATT_DV_223_01_01____00302.BC",
|
||||
kernels .. "/RATT_DV_145_01_01____00216.BC",
|
||||
|
||||
-- Comet attitude
|
||||
kernels .. "/CATT_DV_243_01_______00325.BC",
|
||||
kernels .. "/CATT_DV_223_01_______00302.BC",
|
||||
kernels .. "/CATT_DV_145_01_______00216.BC",
|
||||
|
||||
-- High gain antenna
|
||||
kernels .. "/ROS_HGA_2016_V0035.BC",
|
||||
kernels .. "/ROS_HGA_2015_V0053.BC",
|
||||
kernels .. "/ROS_HGA_2014_V0044.BC",
|
||||
|
||||
-- Solar arrays
|
||||
kernels .. "/ROS_SA_2016_V0034.BC",
|
||||
kernels .. "/ROS_SA_2015_V0042.BC",
|
||||
kernels .. "/ROS_SA_2014_V0047.BC",
|
||||
|
||||
|
||||
kernels .. "/ROS_CGS_RSOC_V03.TPC"
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
local RotationMatrix = {
|
||||
0, 1, 0,
|
||||
0, 0, 1,
|
||||
1, 0, 0
|
||||
}
|
||||
|
||||
local Rosetta = {
|
||||
Identifier = "Rosetta",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "ROSETTA",
|
||||
Observer = "SUN",
|
||||
Kernels = RosettaKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ROS_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaModel = {
|
||||
Identifier = "RosettaModel",
|
||||
Parent = Rosetta.Identifier,
|
||||
Transform = {
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
-- The scale of the model is in cm; OpenSpace is in m
|
||||
Scale = 0.01
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaBlackFoil = {
|
||||
Identifier = "Rosetta_black_foil",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/black_foil.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_silver_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Black Foil",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaBlackParts = {
|
||||
Identifier = "Rosetta_black_parts",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/black_parts.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_silver_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Black Parts",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaDish = {
|
||||
Identifier = "Rosetta_dish",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/dish.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/dish_AO.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Dish",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaParts = {
|
||||
Identifier = "Rosetta_parts",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/parts.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/parts2_AO.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Parts",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaSilverFoil = {
|
||||
Identifier = "Rosetta_silver_foil",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/silver_foil.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_silver_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Silver Foil",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaVents = {
|
||||
Identifier = "Rosetta_vents",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/vents.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/tex_01.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Vents",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaWingA = {
|
||||
Identifier = "Rosetta_wing_a",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .."/wingA.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/tex_01.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Wing A",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaWingB = {
|
||||
Identifier = "Rosetta_wing_b",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/wingB.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/tex_01.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Wing B",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaYellowFoil = {
|
||||
Identifier = "Rosetta_yellow_foil",
|
||||
Parent = RosettaModel.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/yellow_foil.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_gold_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Model Part Yellow Foil",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local Philae = {
|
||||
Identifier = "Philae",
|
||||
Parent = transforms.Barycenter.Identifier,
|
||||
-- This should need a transform, but currently the model is intrinsically
|
||||
-- translated
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "PHILAE",
|
||||
Observer = "CHURYUMOV-GERASIMENKO",
|
||||
Kernels = RosettaKernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "ROS_SPACECRAFT",
|
||||
DestinationFrame = "GALACTIC",
|
||||
},
|
||||
Scale = {
|
||||
Type = "StaticScale",
|
||||
-- The scale of the model is in cm; OpenSpace is in m
|
||||
Scale = 0.01
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Model",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local PhilaeFoil = {
|
||||
Identifier = "Philae_foil",
|
||||
Parent = Philae.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/lander_foil.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_silver_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Model Part Foil",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local PhilaeLids = {
|
||||
Identifier = "Philae_lids",
|
||||
Parent = Philae.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/lander_lids.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/parts2_AO.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Model Part Lids",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local PhilaeParts = {
|
||||
Identifier = "Philae_parts",
|
||||
Parent = Philae.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/lander_parts.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/foil_silver_ramp.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Model Part Parts",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local PhilaeSolarPanels = {
|
||||
Identifier = "Philae_solarp",
|
||||
Parent = Philae.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Body = "ROSETTA",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/lander_solarp.obj"
|
||||
},
|
||||
ColorTexture = textures .. "/tex_01.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Model Parts Solar Panels",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local NavCam = {
|
||||
Identifier = "NAVCAM",
|
||||
Parent = Rosetta.Identifier,
|
||||
GUI = {
|
||||
Path = "/Solar System/Missions/Rosetta/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local NavCamFov = {
|
||||
Identifier = "NAVCAM_FOV",
|
||||
Parent = NavCam.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableFov",
|
||||
Body = "ROSETTA",
|
||||
Frame = "ROS_NAVCAM-A",
|
||||
RGB = { 0.8, 0.7, 0.7 },
|
||||
Instrument = {
|
||||
Name = "ROS_NAVCAM-A",
|
||||
Method = "ELLIPSOID",
|
||||
Aberration = "NONE"
|
||||
},
|
||||
PotentialTargets = { "CHURYUMOV-GERASIMENKO" },
|
||||
FrameConversions = {
|
||||
["CHURYUMOV-GERASIMENKO"] = "67P/C-G_CK"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "NAVCAM FOV",
|
||||
Path = "/Solar System/Missions/Rosetta/Instruments"
|
||||
}
|
||||
}
|
||||
|
||||
local ImagePlane = {
|
||||
Identifier = "ImagePlaneRosetta",
|
||||
Parent = transforms.Comet67P.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderablePlaneProjection",
|
||||
Frame = "67P/C-G_CK",
|
||||
DefaultTarget = "CHURYUMOV-GERASIMENKO",
|
||||
Spacecraft = "ROSETTA",
|
||||
Instrument = "ROS_NAVCAM-A",
|
||||
Moving = false,
|
||||
Texture = textures .. "/defaultProj.png"
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Image Plane",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local RosettaCometTrail = {
|
||||
Identifier = "RosettaCometTrail",
|
||||
Parent = transforms.Barycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "ROSETTA",
|
||||
Observer = "CHURYUMOV-GERASIMENKO"
|
||||
},
|
||||
Color = { 0.288, 0.375, 0.934 },
|
||||
StartTime = "2014 AUG 01 12:00:00",
|
||||
EndTime = "2016 SEP 30 12:00:00",
|
||||
SampleInterval = 3600
|
||||
},
|
||||
GUI = {
|
||||
Name = "Rosetta Comet Trail",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
local PhilaeTrail = {
|
||||
Identifier = "PhilaeTrail",
|
||||
Parent = transforms.Barycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "PHILAE",
|
||||
Observer = "CHURYUMOV-GERASIMENKO"
|
||||
},
|
||||
Color = { 0.8, 0.5, 1.0 },
|
||||
StartTime = "2014 NOV 12 08:35:00",
|
||||
EndTime = "2014 NOV 12 17:00:00",
|
||||
SampleInterval = 2
|
||||
},
|
||||
GUI = {
|
||||
Name = "Philae Trail",
|
||||
Path = "/Solar System/Missions/Rosetta"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Rosetta,
|
||||
RosettaModel,
|
||||
RosettaBlackFoil,
|
||||
RosettaBlackParts,
|
||||
RosettaDish,
|
||||
RosettaParts,
|
||||
RosettaSilverFoil,
|
||||
RosettaVents,
|
||||
RosettaWingA,
|
||||
RosettaWingB,
|
||||
RosettaYellowFoil,
|
||||
|
||||
NavCam,
|
||||
NavCamFov,
|
||||
ImagePlane,
|
||||
|
||||
Philae,
|
||||
PhilaeFoil,
|
||||
PhilaeLids,
|
||||
PhilaeParts,
|
||||
PhilaeSolarPanels,
|
||||
|
||||
RosettaCometTrail,
|
||||
PhilaeTrail
|
||||
})
|
||||
@@ -1,239 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Voyager 1 Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "voyager1_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Voyager 1 Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "voyager1_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Kernels = {
|
||||
kernels .. '/vg1_v02.tf',
|
||||
kernels .. '/vg100019.tsc',
|
||||
kernels .. '/Voyager_1.a54206u_V0.2_merged.bsp',
|
||||
kernels .. '/voyager_1.ST+1991_a54418u.merged.bsp',
|
||||
kernels .. '/vgr1_jup230.bsp',
|
||||
kernels .. '/vgr1_sat337.bsp',
|
||||
kernels .. '/vgr1_super.bc',
|
||||
kernels .. '/vgr1_super_v2.bc'
|
||||
}
|
||||
|
||||
local RotationMatrix = {
|
||||
-1, 0, 0,
|
||||
0, 0, -1,
|
||||
0, -1, 0
|
||||
}
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager1 = {
|
||||
Identifier = "Voyager_1",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "VG1_SC_BUS",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager1Main = {
|
||||
Identifier = "Voyager_1_Main",
|
||||
Parent = Voyager1.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/voyager-main.obj"
|
||||
},
|
||||
ColorTexture = models .. "/voyager-main.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Main",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager1Antenna = {
|
||||
Identifier = "Voyager_1_Antanna",
|
||||
Parent = Voyager1.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/voyager-antenna.obj"
|
||||
},
|
||||
ColorTexture = models .. "/voyager-antenna.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Antanna",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
-- The trails are organized as follows. The cruise phases can be resolved in relatively
|
||||
-- low resolution since they are just straight lines
|
||||
-- The encounter phases should be much higher resolution or otherwise artifacts would appear
|
||||
local VoyagerTrailCruiseEarthJupiter = {
|
||||
Identifier = "Voyager_1_Trail_Cruise_Earth_Jupiter",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1977 SEP 05",
|
||||
EndTime = "1979 MAR 04",
|
||||
SampleInterval = 545 * 2 -- 545 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Trail Cruise Earth-Jupiter",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterJupiter = {
|
||||
Identifier = "Voyager_1_Trail_Encounter_Jupiter",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
EnableFade = false,
|
||||
StartTime = "1979 MAR 03 23:24:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1979 MAR 09",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Trail Encounter Jupiter",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseJupiterSaturn = {
|
||||
Identifier = "Voyager_1_Trail_Cruise_Jupiter_Saturn",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1979 MAR 09",
|
||||
EndTime = "1980 NOV 11",
|
||||
SampleInterval = 618 * 2 -- 618 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Trail Cruise Jupiter-Saturn",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterSaturn = {
|
||||
Identifier = "Voyager_1_Trail_Encounter_Saturn",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1980 NOV 10 23:08:30", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1980 NOV 16",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Trail Encounter Saturn",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseSaturnInf = {
|
||||
Identifier = "Voyager_1_Trail_Cruise_Saturn_Inf",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 1",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1980 NOV 16",
|
||||
EndTime = "2021 JAN 01",
|
||||
SampleInterval = 14656 * 2 -- 14656 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 1 Trail Cruise Saturn-Inf",
|
||||
Path = "/Solar System/Missions/Voyager 1"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Voyager1,
|
||||
Voyager1Main,
|
||||
Voyager1Antenna,
|
||||
VoyagerTrailCruiseEarthJupiter,
|
||||
VoyagerTrailEncounterJupiter,
|
||||
VoyagerTrailCruiseJupiterSaturn,
|
||||
VoyagerTrailEncounterSaturn,
|
||||
VoyagerTrailCruiseSaturnInf
|
||||
})
|
||||
@@ -1,338 +0,0 @@
|
||||
local assetHelper = asset.require('util/asset_helper')
|
||||
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
|
||||
|
||||
|
||||
|
||||
local models = asset.syncedResource({
|
||||
Name = "Voyager 2 Models",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "voyager2_model",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local kernels = asset.syncedResource({
|
||||
Name = "Voyager 2 Kernels",
|
||||
Type = "HttpSynchronization",
|
||||
Identifier = "voyager2_spice",
|
||||
Version = 1
|
||||
})
|
||||
|
||||
local Kernels = {
|
||||
kernels .. '/vg2_v02.tf',
|
||||
kernels .. '/vg200022.tsc',
|
||||
kernels .. '/Voyager_2.m05016u.merged.bsp',
|
||||
kernels .. '/voyager_2.ST+1992_m05208u.merged.bsp',
|
||||
kernels .. '/vgr2_jup230.bsp',
|
||||
kernels .. '/vgr2_sat337.bsp',
|
||||
kernels .. '/vgr2_ura083.bsp',
|
||||
kernels .. '/vgr2_nep081.bsp',
|
||||
kernels .. '/vgr2_super.bc',
|
||||
kernels .. '/vgr2_super_v2.bc'
|
||||
}
|
||||
|
||||
local RotationMatrix = {
|
||||
-1, 0, 0,
|
||||
0, 0, -1,
|
||||
0, -1, 0
|
||||
}
|
||||
|
||||
|
||||
local LightSources = {
|
||||
{
|
||||
Type = "SceneGraphLightSource",
|
||||
Identifier = "Sun",
|
||||
Node = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Intensity = 1.0
|
||||
},
|
||||
{
|
||||
Identifier = "Camera",
|
||||
Type = "CameraLightSource",
|
||||
Intensity = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager2 = {
|
||||
Identifier = "Voyager_2",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Transform = {
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Rotation = {
|
||||
Type = "SpiceRotation",
|
||||
SourceFrame = "VG2_SC_BUS",
|
||||
DestinationFrame = "GALACTIC"
|
||||
}
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager2Main = {
|
||||
Identifier = "Voyager_2_Main",
|
||||
Parent = Voyager2.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/voyager-main.obj"
|
||||
},
|
||||
ColorTexture = models .. "/voyager-main.jpg",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Main",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local Voyager2Antenna = {
|
||||
Identifier = "Voyager_2_Antanna",
|
||||
Parent = Voyager2.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableModel",
|
||||
Geometry = {
|
||||
Type = "MultiModelGeometry",
|
||||
GeometryFile = models .. "/voyager-antenna.obj"
|
||||
},
|
||||
ColorTexture = models .. "/voyager-antenna.png",
|
||||
ModelTransform = RotationMatrix,
|
||||
LightSources = LightSources
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Antanna",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
-- The trails are organized as follows. The cruise phases can be resolved in relatively
|
||||
-- low resolution since they are just straight lines
|
||||
-- The encounter phases should be much higher resolution or otherwise artifacts would appear
|
||||
local VoyagerTrailCruiseEarthJupiter = {
|
||||
Identifier = "Voyager_2_Trail_Cruise_Earth_Jupiter",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1977 SEP 05",
|
||||
EndTime = "1979 JUL 06",
|
||||
SampleInterval = 669 * 2 -- 669 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Cruise Earth-Jupiter",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterJupiter = {
|
||||
Identifier = "Voyager_2_Trail_Encounter_Jupiter",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
EnableFade = false,
|
||||
StartTime = "1979 JUL 05 23:24:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1979 JUL 15",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Encounter Jupiter",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseJupiterSaturn = {
|
||||
Identifier = "Voyager_2_Trail_Cruise_Jupiter_Saturn",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1979 JUL 15",
|
||||
EndTime = "1981 AUG 23",
|
||||
SampleInterval = 770 * 2 -- 770 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Cruise Jupiter-Saturn",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterSaturn = {
|
||||
Identifier = "Voyager_2_Trail_Encounter_Saturn",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1981 AUG 22 23:08:30", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1981 AUG 30",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Encounter Saturn",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseSaturnUranus = {
|
||||
Identifier = "Voyager_2_Trail_Cruise_Saturn_Uranus",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1981 AUG 30",
|
||||
EndTime = "1986 JAN 22",
|
||||
SampleInterval = 1971 * 2 -- 1971 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Cruise Saturn-Uranus",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterUranus = {
|
||||
Identifier = "Voyager_2_Trail_Encounter_Uranus",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1986 JAN 21 23:30:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1986 JAN 27",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Encounter Uranus",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseUranusNeptune = {
|
||||
Identifier = "Voyager_2_Trail_Cruise_Uranus_Neptune",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1986 JAN 27",
|
||||
EndTime = "1989 AUG 24",
|
||||
SampleInterval = 1305 * 2 -- 1305 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Cruise Uranus-Neptune",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailEncounterNeptune = {
|
||||
Identifier = "Voyager_2_Trail_Encounter_Neptune",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1989 AUG 23 23:30:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
|
||||
EndTime = "1989 AUG 26",
|
||||
SampleInterval = 100
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Encounter Neptune",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
local VoyagerTrailCruiseNeptuneInf = {
|
||||
Identifier = "Voyager_2_Trail_Cruise_Neptune_Inf",
|
||||
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
|
||||
Renderable = {
|
||||
Type = "RenderableTrailTrajectory",
|
||||
Translation = {
|
||||
Type = "SpiceTranslation",
|
||||
Target = "VOYAGER 2",
|
||||
Observer = "SUN",
|
||||
Kernels = Kernels
|
||||
},
|
||||
EnableFade = false,
|
||||
Color = { 0.70, 0.50, 0.20 },
|
||||
StartTime = "1989 AUG 26",
|
||||
EndTime = "2021 JAN 01",
|
||||
SampleInterval = 11451 * 2 -- 11451 is the number of days between the Start and End time
|
||||
},
|
||||
GUI = {
|
||||
Name = "Voyager 2 Trail Cruise Neptune-Inf",
|
||||
Path = "/Solar System/Missions/Voyager 2"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
assetHelper.registerSceneGraphNodesAndExport(asset, {
|
||||
Voyager2,
|
||||
Voyager2Main,
|
||||
Voyager2Antenna,
|
||||
VoyagerTrailCruiseEarthJupiter,
|
||||
VoyagerTrailEncounterJupiter,
|
||||
VoyagerTrailCruiseJupiterSaturn,
|
||||
VoyagerTrailEncounterSaturn,
|
||||
VoyagerTrailCruiseSaturnUranus,
|
||||
VoyagerTrailEncounterUranus,
|
||||
VoyagerTrailCruiseUranusNeptune,
|
||||
VoyagerTrailEncounterNeptune,
|
||||
VoyagerTrailCruiseNeptuneInf
|
||||
})
|
||||
@@ -128,23 +128,17 @@ public:
|
||||
void updateRaycastData();
|
||||
void updateDeferredcastData();
|
||||
void updateHDRAndFiltering();
|
||||
void updateMSAASamplingPattern();
|
||||
|
||||
|
||||
void setResolution(glm::ivec2 res) override;
|
||||
void setNAaSamples(int nAaSamples) override;
|
||||
void setHDRExposure(float hdrExposure) override;
|
||||
void setGamma(float gamma) override;
|
||||
void setMaxWhite(float maxWhite) override;
|
||||
void setToneMapOperator(int tmOp) override;
|
||||
void setHue(float hue) override;
|
||||
void setValue(float value) override;
|
||||
void setSaturation(float sat) override;
|
||||
void setLightness(float lightness) override;
|
||||
void setColorSpace(unsigned int colorspace) override;
|
||||
|
||||
|
||||
int nAaSamples() const override;
|
||||
const std::vector<double>& mSSAPattern() const override;
|
||||
|
||||
|
||||
void update() override;
|
||||
void performRaycasterTasks(const std::vector<RaycasterTask>& tasks);
|
||||
void performDeferredTasks(const std::vector<DeferredcasterTask>& tasks);
|
||||
@@ -181,8 +175,7 @@ private:
|
||||
UniformCache(mainColorTexture, blackoutFactor, nAaSamples) _uniformCache;
|
||||
|
||||
UniformCache(hdrFeedingTexture, blackoutFactor, hdrExposure, gamma,
|
||||
toneMapOperator, maxWhite, Hue, Saturation, Value,
|
||||
Lightness, colorSpace, nAaSamples) _hdrUniformCache;
|
||||
Hue, Saturation, Value, nAaSamples) _hdrUniformCache;
|
||||
|
||||
GLint _defaultFBO;
|
||||
GLuint _screenQuad;
|
||||
@@ -204,20 +197,14 @@ private:
|
||||
|
||||
glm::ivec2 _resolution = glm::ivec2(0);
|
||||
int _nAaSamples;
|
||||
|
||||
float _hdrExposure = 3.7f;
|
||||
float _gamma = 0.95f;
|
||||
float _maxWhite = 5.0f;
|
||||
int _toneMapOperator = 8;
|
||||
bool _histogramEnabled = false;
|
||||
float _hue = 1.f;
|
||||
float _saturation = 1.2f;
|
||||
float _saturation = 1.f;
|
||||
float _value = 1.f;
|
||||
float _lightness = 1.1f;
|
||||
unsigned int _colorSpace = 1;
|
||||
|
||||
std::vector<double> _mSAAPattern;
|
||||
std::vector<float> _histoPoints;
|
||||
|
||||
|
||||
ghoul::Dictionary _rendererData;
|
||||
};
|
||||
|
||||
|
||||
@@ -65,26 +65,6 @@ public:
|
||||
Invalid
|
||||
};
|
||||
|
||||
// The next enum should be synchronized with the
|
||||
// defines in hdr.glsl file.
|
||||
enum class ToneMapOperators {
|
||||
EXPONENTIAL = 0,
|
||||
LINEAR, //1
|
||||
SIMPLE_REINHARD, //2
|
||||
LUM_BASED_REINHARD, //3
|
||||
WHITE_PRESERVING, //4
|
||||
ROM_BIN_DA_HOUSE, //5
|
||||
FILMIC, //6
|
||||
UNCHARTED, //7
|
||||
COSTA, //8
|
||||
PHOTOGRAPHIC_REINHARD, //9
|
||||
};
|
||||
|
||||
enum class COLORSPACE {
|
||||
HSV = 0,
|
||||
HSL
|
||||
};
|
||||
|
||||
RenderEngine();
|
||||
~RenderEngine();
|
||||
|
||||
@@ -229,26 +209,19 @@ private:
|
||||
properties::FloatProperty _globalBlackOutFactor;
|
||||
properties::IntProperty _nAaSamples;
|
||||
|
||||
properties::PropertyOwner _tmoOwner;
|
||||
properties::BoolProperty _disableHDRPipeline;
|
||||
properties::FloatProperty _hdrExposure;
|
||||
properties::FloatProperty _maxWhite;
|
||||
properties::OptionProperty _toneMapOperator;
|
||||
|
||||
properties::PropertyOwner _imageOwner;
|
||||
properties::FloatProperty _gamma;
|
||||
|
||||
properties::FloatProperty _hue;
|
||||
properties::FloatProperty _saturation;
|
||||
properties::FloatProperty _value;
|
||||
properties::FloatProperty _lightness;
|
||||
|
||||
|
||||
properties::FloatProperty _horizFieldOfView;
|
||||
|
||||
properties::Vec3Property _globalRotation;
|
||||
properties::Vec3Property _screenSpaceRotation;
|
||||
properties::Vec3Property _masterRotation;
|
||||
|
||||
properties::OptionProperty _colorSpace;
|
||||
|
||||
uint64_t _frameNumber = 0;
|
||||
|
||||
|
||||
@@ -52,16 +52,10 @@ public:
|
||||
virtual void setNAaSamples(int nAaSamples) = 0;
|
||||
virtual void setHDRExposure(float hdrExposure) = 0;
|
||||
virtual void setGamma(float gamma) = 0;
|
||||
virtual void setMaxWhite(float maxWhite) = 0;
|
||||
virtual void setToneMapOperator(int tmOp) = 0;
|
||||
virtual void setHue(float hue) = 0;
|
||||
virtual void setValue(float value) = 0;
|
||||
virtual void setSaturation(float sat) = 0;
|
||||
virtual void setLightness(float lightness) = 0;
|
||||
virtual void setColorSpace(unsigned int colorspace) = 0;
|
||||
|
||||
virtual int nAaSamples() const = 0;
|
||||
virtual const std::vector<double>& mSSAPattern() const = 0;
|
||||
|
||||
/**
|
||||
* Set raycasting uniforms on the program object, and setup raycasting.
|
||||
|
||||
@@ -67,7 +67,6 @@ out vec4 renderTarget;
|
||||
in vec3 interpolatedNDCPos;
|
||||
|
||||
uniform int nAaSamples;
|
||||
uniform double msaaSamplePatter[48];
|
||||
uniform int cullAtmosphere;
|
||||
|
||||
uniform sampler2D irradianceTexture;
|
||||
@@ -234,13 +233,6 @@ bool dAtmosphereIntersection(const dvec3 planetPosition, const dRay ray, const d
|
||||
void dCalculateRayRenderableGlobe(in int mssaSample, out dRay ray,
|
||||
out dvec4 planetPositionObjectCoords,
|
||||
out dvec4 cameraPositionInObject) {
|
||||
// ======================================
|
||||
// ======= Avoiding Some Matrices =======
|
||||
|
||||
// Compute positions and directions in object space.
|
||||
dvec2 samplePos = dvec2(msaaSamplePatter[mssaSample],
|
||||
msaaSamplePatter[mssaSample+1]);
|
||||
|
||||
dvec4 clipCoords = dvec4(interpolatedNDCPos.xy, 1.0, 1.0);
|
||||
|
||||
// Clip to Object Coords
|
||||
|
||||
@@ -31,17 +31,13 @@
|
||||
|
||||
layout (location = 0) out vec4 finalColor;
|
||||
|
||||
uniform float backgroundConstant;
|
||||
uniform float hdrExposure;
|
||||
uniform float blackoutFactor;
|
||||
uniform float gamma;
|
||||
uniform float maxWhite;
|
||||
uniform float Hue;
|
||||
uniform float Saturation;
|
||||
uniform float Value;
|
||||
uniform float Lightness;
|
||||
uniform int toneMapOperator;
|
||||
uniform uint colorSpace;
|
||||
uniform int nAaSamples;
|
||||
|
||||
uniform sampler2DMS hdrFeedingTexture;
|
||||
@@ -59,42 +55,15 @@ void main() {
|
||||
color /= nAaSamples;
|
||||
color.rgb *= blackoutFactor;
|
||||
|
||||
vec3 tColor = vec3(0.0);
|
||||
if (toneMapOperator == EXPONENTIAL) {
|
||||
tColor = exponentialToneMapping(color.rgb, hdrExposure, gamma);
|
||||
} else if (toneMapOperator == LINEAR) {
|
||||
tColor = linearToneMapping(color.rgb, hdrExposure);
|
||||
} else if (toneMapOperator == SIMPLE_REINHARD) {
|
||||
tColor = simpleReinhardToneMapping(color.rgb, hdrExposure);
|
||||
} else if (toneMapOperator == LUM_BASED_REINHARD) {
|
||||
tColor = lumaBasedReinhardToneMapping(color.rgb);
|
||||
} else if (toneMapOperator == WHITE_PRESERVING) {
|
||||
tColor = whitePreservingLumaBasedReinhardToneMapping(color.rgb, maxWhite);
|
||||
} else if (toneMapOperator == ROM_BIN_DA_HOUSE) {
|
||||
tColor = RomBinDaHouseToneMapping(color.rgb);
|
||||
} else if (toneMapOperator == FILMIC) {
|
||||
tColor = filmicToneMapping(color.rgb);
|
||||
} else if (toneMapOperator == UNCHARTED) {
|
||||
tColor = Uncharted2ToneMapping(color.rgb, hdrExposure);
|
||||
} else if (toneMapOperator == COSTA) {
|
||||
tColor = jToneMapping(color.rgb, hdrExposure);
|
||||
} else if (toneMapOperator == PHOTOGRAPHIC_REINHARD) {
|
||||
tColor = photographicReinhardToneMapping(color.rgb);
|
||||
}
|
||||
// Applies TMO
|
||||
vec3 tColor = toneMappingOperator(color.rgb, hdrExposure);
|
||||
|
||||
// Color control
|
||||
vec3 hsvColor = rgb2hsv(tColor);
|
||||
hsvColor.x = (hsvColor.x * Hue) > 360.f ? 360.f : (hsvColor.x * Hue);
|
||||
hsvColor.y = (hsvColor.y * Saturation) > 1.f ? 1.f : (hsvColor.y * Saturation);
|
||||
hsvColor.z = (hsvColor.z * Value) > 1.f ? 1.f : (hsvColor.z * Value);
|
||||
|
||||
if (colorSpace == HSL_COLOR) {
|
||||
vec3 hslColor = rgb2hsl(tColor);
|
||||
hslColor.x = (hslColor.x * Hue) > 360.f ? 360.f : (hslColor.x * Hue);
|
||||
hslColor.y = (hslColor.y * Saturation) > 1.f ? 1.f : (hslColor.y * Saturation);
|
||||
hslColor.z = (hslColor.z * Lightness) > 1.f ? 1.f : (hslColor.z * Lightness);
|
||||
|
||||
finalColor = vec4(gammaCorrection(hsl2rgb(hslColor), gamma), color.a);
|
||||
} else if (colorSpace == HSV_COLOR) {
|
||||
vec3 hsvColor = rgb2hsv(tColor);
|
||||
hsvColor.x = (hsvColor.x * Hue) > 360.f ? 360.f : (hsvColor.x * Hue);
|
||||
hsvColor.y = (hsvColor.y * Saturation) > 1.f ? 1.f : (hsvColor.y * Saturation);
|
||||
hsvColor.z = (hsvColor.z * Value) > 1.f ? 1.f : (hsvColor.z * Value);
|
||||
|
||||
finalColor = vec4(gammaCorrection(hsv2rgb(hsvColor), gamma), color.a);
|
||||
}
|
||||
// Gamma Correction
|
||||
finalColor = vec4(gammaCorrection(hsv2rgb(hsvColor), gamma), color.a);
|
||||
}
|
||||
@@ -36,8 +36,7 @@ layout(location = 3) out vec4 filterBuffer;
|
||||
|
||||
void main() {
|
||||
Fragment f = getFragment();
|
||||
_out_color_ = vec4((log2(vec3(1.0) - (f.color.rgb - vec3(DeltaError)))/(-exposure)), f.color.a);
|
||||
|
||||
_out_color_ = vec4((log2(vec3(1.0) - (f.color.rgb - vec3(DeltaError)))/(-exposure)), f.color.a);
|
||||
_out_color_.x = isnan(_out_color_.x) ? MaxValueColorBuffer : _out_color_.x;
|
||||
_out_color_.y = isnan(_out_color_.y) ? MaxValueColorBuffer : _out_color_.y;
|
||||
_out_color_.z = isnan(_out_color_.z) ? MaxValueColorBuffer : _out_color_.z;
|
||||
|
||||
@@ -26,14 +26,6 @@
|
||||
|
||||
in vec4 position;
|
||||
|
||||
// out vec2 texCoord;
|
||||
// out vec3 vPosition;
|
||||
// out vec4 worldPosition;
|
||||
|
||||
void main() {
|
||||
gl_Position = position;
|
||||
// texCoord = 0.5 + position.xy * 0.5;
|
||||
|
||||
// vPosition = position.xyz;
|
||||
// worldPosition = position;
|
||||
}
|
||||
|
||||
@@ -22,18 +22,6 @@
|
||||
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
||||
****************************************************************************************/
|
||||
|
||||
// The next defines must being synchronized with the enum defined in file renderengine.h
|
||||
#define EXPONENTIAL 0
|
||||
#define LINEAR 1
|
||||
#define SIMPLE_REINHARD 2
|
||||
#define LUM_BASED_REINHARD 3
|
||||
#define WHITE_PRESERVING 4
|
||||
#define ROM_BIN_DA_HOUSE 5
|
||||
#define FILMIC 6
|
||||
#define UNCHARTED 7
|
||||
#define COSTA 8
|
||||
#define PHOTOGRAPHIC_REINHARD 9
|
||||
|
||||
const float HCV_EPSILON = 1e-7;
|
||||
const float HSL_EPSILON = 1e-7;
|
||||
const float HCY_EPSILON = 1e-7;
|
||||
@@ -155,27 +143,6 @@ vec3 rgb2hsl(vec3 rgb)
|
||||
return vec3(HCV.x, S, L);
|
||||
}
|
||||
|
||||
vec3 globalToneMappingOperatorRTR(vec3 color, const float exposure, const float maxWhite, const float aveLum) {
|
||||
// Convert color to XYZ
|
||||
vec3 xyzCol = RGB2XYZ * color;
|
||||
|
||||
// Convert from XYZ to xyY
|
||||
float xyzSum = xyzCol.x + xyzCol.y + xyzCol.z;
|
||||
vec3 xyYCol = vec3( xyzCol.x / xyzSum, xyzCol.y / xyzSum, xyzCol.y);
|
||||
|
||||
// Apply the tone mapping operation to the luminance (xyYCol.z or xyzCol.y)
|
||||
float L = (exposure * xyYCol.z) / aveLum;
|
||||
L = (L * ( 1 + L / (maxWhite * maxWhite) )) / ( 1 + L );
|
||||
|
||||
// Using the new luminance, convert back to XYZ
|
||||
xyzCol.x = (L * xyYCol.x) / (xyYCol.y);
|
||||
xyzCol.y = L;
|
||||
xyzCol.z = (L * (1 - xyYCol.x - xyYCol.y))/xyYCol.y;
|
||||
|
||||
// Convert back to RGB and send to output buffer
|
||||
return XYZ2RGB * xyzCol;
|
||||
}
|
||||
|
||||
vec3 exponentialToneMapping(vec3 color, const float exposure, const float gamma) {
|
||||
color *= exposure;
|
||||
|
||||
@@ -186,64 +153,7 @@ vec3 exponentialToneMapping(vec3 color, const float exposure, const float gamma)
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 linearToneMapping(vec3 color, const float exposure) {
|
||||
color = clamp(exposure * color, 0.f, 1.f);
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 simpleReinhardToneMapping(vec3 color, const float exposure) {
|
||||
color *= exposure/(1.f + color / exposure);
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 lumaBasedReinhardToneMapping(vec3 color) {
|
||||
|
||||
float luma = dot(color, vec3(0.2126f, 0.7152f, 0.0722f));
|
||||
float toneMappedLuma = luma / (1.f + luma);
|
||||
color *= toneMappedLuma / luma;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 photographicReinhardToneMapping(vec3 color) {
|
||||
return color / (color + vec3(1.0));
|
||||
}
|
||||
|
||||
vec3 whitePreservingLumaBasedReinhardToneMapping(vec3 color, const float maxWhite) {
|
||||
//float luma = dot(color, vec3(0.2126f, 0.7152f, 0.0722f));
|
||||
float luma = dot(color, vec3(0.4126f, 0.9152f, 0.2722f));
|
||||
float toneMappedLuma = luma * (1.f + luma / (maxWhite * maxWhite)) / (1.f + luma);
|
||||
color *= toneMappedLuma / luma;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 RomBinDaHouseToneMapping(vec3 color) {
|
||||
color = exp2( -1.f / ( 2.72f * color + 0.15f ) );
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 filmicToneMapping(vec3 color)
|
||||
{
|
||||
color = max(vec3(0.f), color - vec3(0.04f));
|
||||
color = (color * (6.2f * color + 0.5f)) / (color * (6.2f * color + 20.f) + 0.06f);
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 Uncharted2ToneMapping(vec3 color, const float exposure) {
|
||||
float A = 0.15f;
|
||||
float B = 0.5f;
|
||||
float C = 0.1f;
|
||||
float D = 0.2f;
|
||||
float E = 0.02f;
|
||||
float F = 0.3f;
|
||||
float W = 11.2f;
|
||||
color *= exposure;
|
||||
color = ((color * (A * color + C * B) + D * E) / (color * (A * color + B) + D * F)) - E / F;
|
||||
float white = ((W * (A * W + C * B) + D * E) / (W * (A * W + B) + D * F)) - E / F;
|
||||
color /= white;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 jToneMapping(vec3 color, const float exposure) {
|
||||
vec3 toneMappingOperator(vec3 color, const float exposure) {
|
||||
return 1.0 - exp2(-exposure * color);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,10 +54,9 @@ namespace {
|
||||
"mainColorTexture", "blackoutFactor", "nAaSamples"
|
||||
};
|
||||
|
||||
constexpr const std::array<const char*, 12> HDRUniformNames = {
|
||||
constexpr const std::array<const char*, 8> HDRUniformNames = {
|
||||
"hdrFeedingTexture", "blackoutFactor", "hdrExposure", "gamma",
|
||||
"toneMapOperator", "maxWhite", "Hue", "Saturation", "Value",
|
||||
"Lightness", "colorSpace", "nAaSamples"
|
||||
"Hue", "Saturation", "Value", "nAaSamples"
|
||||
};
|
||||
|
||||
constexpr const char* ExitFragmentShaderPath =
|
||||
@@ -385,13 +384,9 @@ void FramebufferRenderer::applyTMO(float blackoutFactor) {
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.blackoutFactor, blackoutFactor);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.hdrExposure, _hdrExposure);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.gamma, _gamma);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.toneMapOperator, _toneMapOperator);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.maxWhite, _maxWhite);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.Hue, _hue);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.Saturation, _saturation);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.Value, _value);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.Lightness, _lightness);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.colorSpace, _colorSpace);
|
||||
_hdrFilteringProgram->setUniform(_hdrUniformCache.nAaSamples, _nAaSamples);
|
||||
|
||||
|
||||
@@ -403,13 +398,8 @@ void FramebufferRenderer::applyTMO(float blackoutFactor) {
|
||||
}
|
||||
|
||||
void FramebufferRenderer::update() {
|
||||
if (_dirtyMsaaSamplingPattern) {
|
||||
updateMSAASamplingPattern();
|
||||
}
|
||||
|
||||
if (_dirtyResolution) {
|
||||
updateResolution();
|
||||
updateMSAASamplingPattern();
|
||||
}
|
||||
|
||||
if (_dirtyRaycastData) {
|
||||
@@ -733,330 +723,6 @@ void FramebufferRenderer::updateHDRAndFiltering() {
|
||||
//_hdrFilteringProgram->setIgnoreUniformLocationError(IgnoreError::Yes);
|
||||
}
|
||||
|
||||
void FramebufferRenderer::updateMSAASamplingPattern() {
|
||||
// JCC: All code below can be replaced by
|
||||
// void GetMultisamplefv( enum pname, uint index, float *val );
|
||||
|
||||
LDEBUG("Updating MSAA Sampling Pattern");
|
||||
|
||||
constexpr const int GridSize = 32;
|
||||
GLfloat step = 2.f / static_cast<GLfloat>(GridSize);
|
||||
GLfloat sizeX = -1.f;
|
||||
GLfloat sizeY = 1.0;
|
||||
|
||||
constexpr const int NVertex = 4 * 6;
|
||||
// openPixelSizeVertexData
|
||||
GLfloat vertexData[GridSize * GridSize * NVertex];
|
||||
|
||||
// @CLEANUP(abock): Is this necessary? I was mucking about with the shader and it
|
||||
// didn't make any visual difference. If it is necessary, the z and w
|
||||
// components can be removed for sure since they are always 0, 1 and
|
||||
// not used in the shader either
|
||||
for (int y = 0; y < GridSize; ++y) {
|
||||
for (int x = 0; x < GridSize; ++x) {
|
||||
vertexData[y * GridSize * NVertex + x * NVertex] = sizeX;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 1] = sizeY - step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 2] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 3] = 1.f;
|
||||
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 4] = sizeX + step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 5] = sizeY;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 6] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 7] = 1.f;
|
||||
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 8] = sizeX;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 9] = sizeY;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 10] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 11] = 1.f;
|
||||
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 12] = sizeX;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 13] = sizeY - step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 14] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 15] = 1.f;
|
||||
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 16] = sizeX + step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 17] = sizeY - step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 18] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 19] = 1.f;
|
||||
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 20] = sizeX + step;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 21] = sizeY;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 22] = 0.f;
|
||||
vertexData[y * GridSize * NVertex + x * NVertex + 23] = 1.f;
|
||||
|
||||
sizeX += step;
|
||||
}
|
||||
sizeX = -1.f;
|
||||
sizeY -= step;
|
||||
}
|
||||
|
||||
GLuint pixelSizeQuadVAO = 0;
|
||||
glGenVertexArrays(1, &pixelSizeQuadVAO);
|
||||
glBindVertexArray(pixelSizeQuadVAO);
|
||||
|
||||
GLuint pixelSizeQuadVBO = 0;
|
||||
glGenBuffers(1, &pixelSizeQuadVBO);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, pixelSizeQuadVBO);
|
||||
|
||||
glBufferData(
|
||||
GL_ARRAY_BUFFER,
|
||||
sizeof(GLfloat) * GridSize * GridSize * NVertex,
|
||||
vertexData,
|
||||
GL_STATIC_DRAW
|
||||
);
|
||||
|
||||
// Position
|
||||
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, nullptr);
|
||||
glEnableVertexAttribArray(0);
|
||||
|
||||
// Saves current state
|
||||
GLint defaultFbo;
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &defaultFbo);
|
||||
GLint viewport[4];
|
||||
glGetIntegerv(GL_VIEWPORT, viewport);
|
||||
|
||||
// Main framebuffer
|
||||
GLuint pixelSizeTexture = 0;
|
||||
GLuint pixelSizeFramebuffer = 0;
|
||||
|
||||
glGenTextures(1, &pixelSizeTexture);
|
||||
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, pixelSizeTexture);
|
||||
|
||||
constexpr const GLsizei OnePixel = 1;
|
||||
glTexImage2DMultisample(
|
||||
GL_TEXTURE_2D_MULTISAMPLE,
|
||||
_nAaSamples,
|
||||
GL_RGBA32F,
|
||||
OnePixel,
|
||||
OnePixel,
|
||||
true
|
||||
);
|
||||
|
||||
glViewport(0, 0, OnePixel, OnePixel);
|
||||
|
||||
glGenFramebuffers(1, &pixelSizeFramebuffer);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, pixelSizeFramebuffer);
|
||||
glFramebufferTexture2D(
|
||||
GL_FRAMEBUFFER,
|
||||
GL_COLOR_ATTACHMENT0,
|
||||
GL_TEXTURE_2D_MULTISAMPLE,
|
||||
pixelSizeTexture,
|
||||
0
|
||||
);
|
||||
|
||||
GLenum textureBuffers[1] = { GL_COLOR_ATTACHMENT0 };
|
||||
glDrawBuffers(1, textureBuffers);
|
||||
|
||||
glClearColor(0.f, 0.f, 0.f, 1.f);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
if (status != GL_FRAMEBUFFER_COMPLETE) {
|
||||
LERROR("MSAA Sampling pattern framebuffer is not complete");
|
||||
return;
|
||||
}
|
||||
|
||||
std::unique_ptr<ghoul::opengl::ProgramObject> pixelSizeProgram =
|
||||
ghoul::opengl::ProgramObject::Build(
|
||||
"OnePixel MSAA",
|
||||
absPath("${SHADERS}/framebuffer/pixelSizeMSAA.vert"),
|
||||
absPath("${SHADERS}/framebuffer/pixelSizeMSAA.frag")
|
||||
);
|
||||
|
||||
pixelSizeProgram->activate();
|
||||
|
||||
// Draw sub-pixel grid
|
||||
glEnable(GL_SAMPLE_SHADING);
|
||||
glBindVertexArray(pixelSizeQuadVAO);
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
glDepthMask(false);
|
||||
glDrawArrays(GL_TRIANGLES, 0, GridSize * GridSize * 6);
|
||||
glBindVertexArray(0);
|
||||
glDepthMask(true);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glDisable(GL_SAMPLE_SHADING);
|
||||
|
||||
pixelSizeProgram->deactivate();
|
||||
|
||||
// Now we render the Nx1 quad strip
|
||||
GLuint nOneStripFramebuffer = 0;
|
||||
GLuint nOneStripVAO = 0;
|
||||
GLuint nOneStripVBO = 0;
|
||||
GLuint nOneStripTexture = 0;
|
||||
|
||||
sizeX = -1.f;
|
||||
step = 2.f / static_cast<GLfloat>(_nAaSamples);
|
||||
|
||||
std::vector<GLfloat>nOneStripVertexData(_nAaSamples * (NVertex + 12));
|
||||
|
||||
for (int x = 0; x < _nAaSamples; ++x) {
|
||||
nOneStripVertexData[x * (NVertex + 12)] = sizeX;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 1] = -1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 2] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 3] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 4] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 5] = 0.f;
|
||||
|
||||
nOneStripVertexData[x * (NVertex + 12) + 6] = sizeX + step;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 7] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 8] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 9] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 10] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 11] = 1.f;
|
||||
|
||||
nOneStripVertexData[x * (NVertex + 12) + 12] = sizeX;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 13] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 14] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 15] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 16] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 17] = 0.f;
|
||||
|
||||
nOneStripVertexData[x * (NVertex + 12) + 18] = sizeX;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 19] = -1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 20] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 21] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 22] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 23] = 0.f;
|
||||
|
||||
nOneStripVertexData[x * (NVertex + 12) + 24] = sizeX + step;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 25] = -1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 26] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 27] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 28] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 29] = 1.f;
|
||||
|
||||
nOneStripVertexData[x * (NVertex + 12) + 30] = sizeX + step;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 31] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 32] = 0.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 33] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 34] = 1.f;
|
||||
nOneStripVertexData[x * (NVertex + 12) + 35] = 1.f;
|
||||
|
||||
sizeX += step;
|
||||
}
|
||||
|
||||
glGenVertexArrays(1, &nOneStripVAO);
|
||||
glBindVertexArray(nOneStripVAO);
|
||||
glGenBuffers(1, &nOneStripVBO);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, nOneStripVBO);
|
||||
glBufferData(
|
||||
GL_ARRAY_BUFFER,
|
||||
sizeof(GLfloat) * _nAaSamples * (NVertex + 12),
|
||||
nOneStripVertexData.data(),
|
||||
GL_STATIC_DRAW
|
||||
);
|
||||
|
||||
// position
|
||||
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, sizeof(GLfloat) * 6, nullptr);
|
||||
glEnableVertexAttribArray(0);
|
||||
|
||||
// texture coords
|
||||
glVertexAttribPointer(
|
||||
1,
|
||||
2,
|
||||
GL_FLOAT,
|
||||
GL_FALSE,
|
||||
sizeof(GLfloat) * 6,
|
||||
reinterpret_cast<GLvoid*>(sizeof(GLfloat) * 4)
|
||||
);
|
||||
glEnableVertexAttribArray(1);
|
||||
|
||||
// fbo texture buffer
|
||||
glGenTextures(1, &nOneStripTexture);
|
||||
glBindTexture(GL_TEXTURE_2D, nOneStripTexture);
|
||||
glTexImage2D(
|
||||
GL_TEXTURE_2D,
|
||||
0,
|
||||
GL_RGBA32F,
|
||||
_nAaSamples,
|
||||
OnePixel,
|
||||
0,
|
||||
GL_RGBA,
|
||||
GL_FLOAT,
|
||||
nullptr
|
||||
);
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
|
||||
glGenFramebuffers(1, &nOneStripFramebuffer);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, nOneStripFramebuffer);
|
||||
glFramebufferTexture2D(
|
||||
GL_FRAMEBUFFER,
|
||||
GL_COLOR_ATTACHMENT0,
|
||||
GL_TEXTURE_2D,
|
||||
nOneStripTexture,
|
||||
0
|
||||
);
|
||||
|
||||
status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||
if (status != GL_FRAMEBUFFER_COMPLETE) {
|
||||
LERROR("nOneStrip framebuffer is not complete");
|
||||
}
|
||||
|
||||
glViewport(0, 0, _nAaSamples, OnePixel);
|
||||
|
||||
std::unique_ptr<ghoul::opengl::ProgramObject> nOneStripProgram =
|
||||
ghoul::opengl::ProgramObject::Build(
|
||||
"OneStrip MSAA",
|
||||
absPath("${SHADERS}/framebuffer/nOneStripMSAA.vert"),
|
||||
absPath("${SHADERS}/framebuffer/nOneStripMSAA.frag")
|
||||
);
|
||||
|
||||
nOneStripProgram->activate();
|
||||
|
||||
ghoul::opengl::TextureUnit pixelSizeTextureUnit;
|
||||
pixelSizeTextureUnit.activate();
|
||||
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, pixelSizeTexture);
|
||||
nOneStripProgram->setUniform("pixelSizeTexture", pixelSizeTextureUnit);
|
||||
|
||||
// render strip
|
||||
glDrawBuffers(1, textureBuffers);
|
||||
|
||||
glClearColor(0.f, 1.f, 0.f, 1.f);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
glBindVertexArray(nOneStripVAO);
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
glDepthMask(false);
|
||||
|
||||
for (int sample = 0; sample < _nAaSamples; ++sample) {
|
||||
nOneStripProgram->setUniform("currentSample", sample);
|
||||
glDrawArrays(GL_TRIANGLES, sample * 6, 6);
|
||||
}
|
||||
glDepthMask(true);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glBindVertexArray(0);
|
||||
|
||||
saveTextureToMemory(GL_COLOR_ATTACHMENT0, _nAaSamples, 1, _mSAAPattern);
|
||||
// Convert back to [-1, 1] range and then scale for the current viewport size:
|
||||
for (int d = 0; d < _nAaSamples; ++d) {
|
||||
_mSAAPattern[d * 3] = (2.0 * _mSAAPattern[d * 3] - 1.0) /
|
||||
static_cast<double>(viewport[1]);
|
||||
_mSAAPattern[(d * 3) + 1] = (2.0 * _mSAAPattern[(d * 3) + 1] - 1.0) /
|
||||
static_cast<double>(viewport[3]);
|
||||
_mSAAPattern[(d * 3) + 2] = 0.0;
|
||||
}
|
||||
|
||||
nOneStripProgram->deactivate();
|
||||
|
||||
// Restores default state
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, defaultFbo);
|
||||
glViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
|
||||
|
||||
// Deletes unused buffers
|
||||
glDeleteFramebuffers(1, &pixelSizeFramebuffer);
|
||||
glDeleteTextures(1, &pixelSizeTexture);
|
||||
glDeleteBuffers(1, &pixelSizeQuadVBO);
|
||||
glDeleteVertexArrays(1, &pixelSizeQuadVAO);
|
||||
|
||||
glDeleteFramebuffers(1, &nOneStripFramebuffer);
|
||||
glDeleteTextures(1, &nOneStripTexture);
|
||||
glDeleteBuffers(1, &nOneStripVBO);
|
||||
glDeleteVertexArrays(1, &nOneStripVAO);
|
||||
|
||||
_dirtyMsaaSamplingPattern = false;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::render(Scene* scene, Camera* camera, float blackoutFactor) {
|
||||
// Set OpenGL default rendering state
|
||||
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_defaultFBO);
|
||||
@@ -1297,9 +963,6 @@ void FramebufferRenderer::performDeferredTasks(
|
||||
|
||||
deferredcastProgram->setUniform("nAaSamples", _nAaSamples);
|
||||
|
||||
// 48 = 16 samples * 3 coords
|
||||
deferredcastProgram->setUniform("msaaSamplePatter", &_mSAAPattern[0], 48);
|
||||
|
||||
deferredcaster->preRaycast(
|
||||
deferredcasterTask.renderData,
|
||||
_deferredcastData[deferredcaster],
|
||||
@@ -1364,15 +1027,6 @@ void FramebufferRenderer::setGamma(float gamma) {
|
||||
_gamma = gamma;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::setMaxWhite(float maxWhite) {
|
||||
ghoul_assert(maxWhite > 0.f, "Max White value must be greater than zero");
|
||||
_maxWhite = maxWhite;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::setToneMapOperator(int tmOp) {
|
||||
_toneMapOperator = tmOp;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::setHue(float hue) {
|
||||
_hue = hue;
|
||||
}
|
||||
@@ -1385,22 +1039,10 @@ void FramebufferRenderer::setSaturation(float sat) {
|
||||
_saturation = sat;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::setLightness(float lightness) {
|
||||
_lightness = lightness;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::setColorSpace(unsigned int colorspace) {
|
||||
_colorSpace = colorspace;
|
||||
}
|
||||
|
||||
int FramebufferRenderer::nAaSamples() const {
|
||||
return _nAaSamples;
|
||||
}
|
||||
|
||||
const std::vector<double>& FramebufferRenderer::mSSAPattern() const {
|
||||
return _mSAAPattern;
|
||||
}
|
||||
|
||||
void FramebufferRenderer::updateRendererData() {
|
||||
ghoul::Dictionary dict;
|
||||
dict.setValue("fragmentRendererPath", std::string(RenderFragmentShaderPath));
|
||||
|
||||
@@ -199,6 +199,14 @@ namespace {
|
||||
"rendering for the MSAA method."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo DisableHDRPipelineInfo = {
|
||||
"DisableHDRPipeline",
|
||||
"Disable HDR Rendering",
|
||||
"If this value is enabled, the rendering will disable the HDR color handling "
|
||||
"and the LDR color pipeline will be used. Be aware of possible over exposure "
|
||||
"in the final colors."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo HDRExposureInfo = {
|
||||
"HDRExposure",
|
||||
"HDR Exposure",
|
||||
@@ -213,19 +221,6 @@ namespace {
|
||||
"tristimulus values in the image."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo MaxWhiteInfo = {
|
||||
"MaxWhite",
|
||||
"Max White Value",
|
||||
"Max value for white color [0.01-10.0] to be used by tone mapping operators."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo ToneMapOperatorInfo = {
|
||||
"ToneMapOperator",
|
||||
"ToneMap Operator",
|
||||
"ToneMap Operator is the method used to tranform the pixels using a HDR to"
|
||||
"pixels using a LDR distribution."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo HueInfo = {
|
||||
"Hue",
|
||||
"Hue",
|
||||
@@ -244,30 +239,6 @@ namespace {
|
||||
"Value"
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo LightnessInfo = {
|
||||
"Lightness",
|
||||
"Lightness",
|
||||
"Lightness"
|
||||
};
|
||||
|
||||
openspace::properties::PropertyOwner::PropertyOwnerInfo TMOInfo = {
|
||||
"ToneMappingOp",
|
||||
"Tone Mapping Options",
|
||||
""
|
||||
};
|
||||
|
||||
openspace::properties::PropertyOwner::PropertyOwnerInfo ImageInfo = {
|
||||
"ImageOp",
|
||||
"Rendered Image Options",
|
||||
""
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo ColorSpaceInfo = {
|
||||
"ColorSpace",
|
||||
"Color Space",
|
||||
"Sets the color space for image adjusts."
|
||||
};
|
||||
|
||||
constexpr openspace::properties::Property::PropertyInfo HorizFieldOfViewInfo = {
|
||||
"HorizFieldOfView",
|
||||
"Horizontal Field of View",
|
||||
@@ -303,17 +274,12 @@ RenderEngine::RenderEngine()
|
||||
, _disableMasterRendering(DisableMasterInfo, false)
|
||||
, _globalBlackOutFactor(GlobalBlackoutFactorInfo, 1.f, 0.f, 1.f)
|
||||
, _nAaSamples(AaSamplesInfo, 4, 1, 8)
|
||||
, _tmoOwner(TMOInfo)
|
||||
, _hdrExposure(HDRExposureInfo, 1.68f, 0.01f, 10.0f)
|
||||
, _maxWhite(MaxWhiteInfo, 4.f, 0.001f, 100.0f)
|
||||
, _toneMapOperator(ToneMapOperatorInfo, properties::OptionProperty::DisplayType::Dropdown)
|
||||
, _imageOwner(ImageInfo)
|
||||
, _disableHDRPipeline(DisableHDRPipelineInfo, false)
|
||||
, _hdrExposure(HDRExposureInfo, 3.7f, 0.01f, 10.0f)
|
||||
, _gamma(GammaInfo, 0.86f, 0.01f, 5.0f)
|
||||
, _hue(HueInfo, 1.f, 0.0f, 5.0f)
|
||||
, _saturation(SaturationInfo, 1.45f, 0.0f, 5.0f)
|
||||
, _value(ValueInfo, 1.f, 0.0f, 5.0f)
|
||||
, _lightness(LightnessInfo, 1.1f, 0.0f, 5.0f)
|
||||
, _colorSpace(ColorSpaceInfo, properties::OptionProperty::DisplayType::Dropdown)
|
||||
, _saturation(SaturationInfo, 1.f, 0.0f, 2.0f)
|
||||
, _value(ValueInfo, 1.f, 0.0f, 2.0f)
|
||||
, _horizFieldOfView(HorizFieldOfViewInfo, 80.f, 1.f, 179.0f)
|
||||
, _globalRotation(
|
||||
GlobalRotationInfo,
|
||||
@@ -351,6 +317,13 @@ RenderEngine::RenderEngine()
|
||||
});
|
||||
addProperty(_nAaSamples);
|
||||
|
||||
_disableHDRPipeline.onChange([this]() {
|
||||
if (_renderer) {
|
||||
//_renderer->setHDRExposure(_hdrExposure);
|
||||
}
|
||||
});
|
||||
addProperty(_disableHDRPipeline);
|
||||
|
||||
|
||||
_hdrExposure.onChange([this]() {
|
||||
if (_renderer) {
|
||||
@@ -358,34 +331,6 @@ RenderEngine::RenderEngine()
|
||||
}
|
||||
});
|
||||
addProperty(_hdrExposure);
|
||||
|
||||
_maxWhite.onChange([this]() {
|
||||
if (_renderer) {
|
||||
_renderer->setMaxWhite(_maxWhite);
|
||||
}
|
||||
});
|
||||
|
||||
addProperty(_maxWhite);
|
||||
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::EXPONENTIAL), "Exponential");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::LINEAR), "Linear");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::SIMPLE_REINHARD), "Simple Reinhard");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::LUM_BASED_REINHARD), "Lum based Reinhard");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::WHITE_PRESERVING), "White Preserving");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::ROM_BIN_DA_HOUSE), "RomBin da House");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::FILMIC), "Filmic");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::UNCHARTED), "Uncharted 2");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::COSTA), "Costa");
|
||||
_toneMapOperator.addOption(static_cast<int>(ToneMapOperators::PHOTOGRAPHIC_REINHARD), "Photographic Reinhard");
|
||||
_toneMapOperator.set(8);
|
||||
|
||||
_toneMapOperator.onChange([this]() {
|
||||
if (_renderer) {
|
||||
_renderer->setToneMapOperator(_toneMapOperator);
|
||||
}
|
||||
});
|
||||
|
||||
addProperty(_toneMapOperator);
|
||||
|
||||
_gamma.onChange([this]() {
|
||||
if (_renderer) {
|
||||
@@ -394,18 +339,6 @@ RenderEngine::RenderEngine()
|
||||
});
|
||||
addProperty(_gamma);
|
||||
|
||||
_colorSpace.addOption(static_cast<int>(COLORSPACE::HSV), "HSV");
|
||||
_colorSpace.addOption(static_cast<int>(COLORSPACE::HSL), "HSL");
|
||||
_colorSpace.set(1);
|
||||
|
||||
_colorSpace.onChange([this]() {
|
||||
if (_renderer) {
|
||||
_renderer->setColorSpace(_colorSpace);
|
||||
}
|
||||
});
|
||||
|
||||
addProperty(_colorSpace);
|
||||
|
||||
_hue.onChange([this]() {
|
||||
if (_renderer) {
|
||||
_renderer->setHue(_hue);
|
||||
@@ -429,15 +362,6 @@ RenderEngine::RenderEngine()
|
||||
});
|
||||
|
||||
addProperty(_value);
|
||||
|
||||
_lightness.onChange([this]() {
|
||||
if (_renderer) {
|
||||
_renderer->setLightness(_lightness);
|
||||
}
|
||||
});
|
||||
addProperty(_lightness);
|
||||
|
||||
//this->addPropertySubOwner(_imageOwner);
|
||||
|
||||
addProperty(_globalBlackOutFactor);
|
||||
addProperty(_applyWarping);
|
||||
|
||||
Reference in New Issue
Block a user