Merged master.

This commit is contained in:
Jonathas Costa
2019-12-08 18:52:16 -05:00
172 changed files with 3138 additions and 696 deletions
+1
View File
@@ -31,6 +31,7 @@ Thumbs.db
/screenshots/
/recordings/
/sync/
/temp/
# Customization is not supposed to be committed
customization.lua
# The COMMIT info is generated everytime CMake is run
+2 -2
View File
@@ -28,8 +28,8 @@ project(OpenSpace)
set(OPENSPACE_VERSION_MAJOR 0)
set(OPENSPACE_VERSION_MINOR 15)
set(OPENSPACE_VERSION_PATCH -1)
set(OPENSPACE_VERSION_STRING "Beta-5 RC1")
set(OPENSPACE_VERSION_PATCH 0)
set(OPENSPACE_VERSION_STRING "Beta-5")
set(OPENSPACE_BASE_DIR "${PROJECT_SOURCE_DIR}")
+12 -9
View File
@@ -1,20 +1,22 @@
# Core Team
Alexander Bock
Emil Axelsson
Kalle Bladin
Jonathas Costa
Jonas Strandstedt
Michal Marcinkowski
Joakim Kilby
Gene Payne
Micah Acinapura
Kalle Bladin
Joakim Kilby
Erik Sundén
Eric Myers
Sebastian Piwell
Erik Broberg
Jonas Strandstedt
Michal Marcinkowski
Jonathan Bosson
Michael Nilsson
Elon Olsson
Jonathan Franzen
Hans-Christian Helltegen
Anton Arbring
Oskar Carlbaum
@@ -30,10 +32,11 @@ Christoffer Särevall
# Community Support
mingenuity
nealmcb
nbartzokas
mik3caprio
arfon
Anteige
arfon
DavidLaidlaw
mik3caprio
mingenuity
nbartzokas
nealmcb
noahdasanaike
+15 -1
View File
@@ -383,7 +383,10 @@ void mainInitFunc() {
for (size_t i = 0; i < nWindows; ++i) {
sgct::SGCTWindow* w = SgctEngine->getWindowPtr(i);
constexpr const char* screenshotNames = "OpenSpace";
const std::string screenshotNames = nWindows > 1 ?
fmt::format("OpenSpace_{}", i) :
"OpenSpace";
sgct_core::ScreenCapture* cpt0 = w->getScreenCapturePointer(0);
sgct_core::ScreenCapture* cpt1 = w->getScreenCapturePointer(1);
@@ -1014,6 +1017,7 @@ void setSgctDelegateFunctions() {
sgctDelegate.takeScreenshot = [](bool applyWarping) {
sgct::SGCTSettings::instance()->setCaptureFromBackBuffer(applyWarping);
sgct::Engine::instance()->takeScreenshot();
return sgct::Engine::instance()->getScreenShotNumber();
};
sgctDelegate.swapBuffer = []() {
GLFWwindow* w = glfwGetCurrentContext();
@@ -1038,6 +1042,16 @@ void setSgctDelegateFunctions() {
sgct::SGCTWindow* w = sgct::Engine::instance()->getWindowPtr(0);
w->setHorizFieldOfView(hFovDeg);
};
#ifdef WIN32
sgctDelegate.getNativeWindowHandle = [](size_t windowIndex) -> void* {
sgct::SGCTWindow* w = sgct::Engine::instance()->getWindowPtr(windowIndex);
if(w) {
HWND hWnd = glfwGetWin32Window(w->getWindowHandle());
return reinterpret_cast<void*>(hWnd);
}
return nullptr;
};
#endif // WIN32
sgctDelegate.frustumMode = []() {
using FM = sgct_core::Frustum::FrustumMode;
switch (sgct::Engine::instance()->getCurrentFrustumMode()) {
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" ?>
<Cluster masterAddress="localhost" externalControlPort="20500">
<Settings>
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="true" numberOfSamples="4" name="OpenSpace">
<Stereo type="none" />
<Size x="1920" y="1080" />
<Pos x="0" y="0" />
<Viewport tracked="true">
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<PlanarProjection>
<FOV down="25.267007923362" left="40.0" right="40.0" up="25.267007923362" />
<Orientation heading="0.0" pitch="0.0" roll="0.0" />
</PlanarProjection>
</Viewport>
</Window>
</Node>
<User eyeSeparation="0.065">
<Pos x="0.0" y="0.0" z="0.0" />
</User>
</Cluster>
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" ?>
<Cluster masterAddress="localhost" externalControlPort="20500">
<Settings>
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="true" monitor="1" name="OpenSpace">
<Stereo type="none" />
<Size x="1920" y="1080" />
<Pos x="0" y="0" />
<Viewport tracked="true">
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<PlanarProjection>
<FOV down="25.267007923362" left="40.0" right="40.0" up="25.267007923362" />
<Orientation heading="0.0" pitch="0.0" roll="0.0" />
</PlanarProjection>
</Viewport>
</Window>
<Window fullScreen="false" border="false" name="GUI" tags="GUI">
<Stereo type="none" />
<Size x="1920" y="1080" />
<Pos x="0" y="0" />
<Viewport>
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
</Viewport>
</Window>
</Node>
<User eyeSeparation="0.065">
<Pos x="0.0" y="0.0" z="0.0" />
</User>
</Cluster>
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<Cluster masterAddress="localhost">
<Node address="localhost" port="20401">
<Window tags="OpenVR" fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window tags="OpenVR" fullScreen="false" name="OpenSpace">
<Stereo type="side_by_side" />
<!-- Res is equal to the Recommend target size -->
<Size x="1332" y="840" />
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<Cluster masterAddress="localhost">
<Node address="localhost" port="20401">
<Window tags="OpenVR" fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window tags="OpenVR" fullScreen="false" name="OpenSpace">
<Stereo type="side_by_side" />
<!-- Res is equal to the Recommend target size -->
<Size x="1332" y="793" />
+1 -1
View File
@@ -4,7 +4,7 @@
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="false" fxaa="false" numberOfSamples="4" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace">
<Stereo type="none" />
<Size x="1280" y="720" />
<Pos x="50" y="50" />
+1 -1
View File
@@ -6,7 +6,7 @@
<Scale value="1.0" />
</Scene> -->
<Node address="localhost" port="20401">
<Window fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace">
<Stereo type="none" />
<!-- 16:9 aspect ratio -->
<Size x="1024" y="1024" />
+2 -2
View File
@@ -6,7 +6,7 @@
<Scale value="1.0" />
</Scene> -->
<Node address="localhost" port="20401">
<Window fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace">
<Stereo type="none" />
<!-- 16:9 aspect ratio -->
<Size x="1024" y="1024" />
@@ -32,7 +32,7 @@
</Window>
<Window fullScreen="false" msaa="1" name="GUI" tags="GUI">
<Window fullScreen="false" name="GUI" tags="GUI">
<Stereo type="none" />
<Size x="1280" y="720" />
<Res x="2048" y="2048" />
+2 -2
View File
@@ -4,7 +4,7 @@
<Display swapInterval="0" />
</Settings>
<Node address="localhost" port="20401">
<Window fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace">
<Stereo type="none" />
<Size x="1280" y="720" />
<Pos x="50" y="50" />
@@ -17,7 +17,7 @@
</PlanarProjection>
</Viewport>
</Window>
<Window fullScreen="false" numberOfSamples="4" name="GUI" tags="GUI">
<Window fullScreen="false" name="GUI" tags="GUI">
<Stereo type="none" />
<Size x="1280" y="720" />
<Pos x="50" y="50" />
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<Cluster masterAddress="127.0.0.1">
<Node address="127.0.0.1" port="20401">
<Window fullScreen="false" numberOfSamples="4" border="true">
<Window fullScreen="false" border="true">
<Pos x="10" y="100" />
<Size x="1280" y="720" />
<Viewport tracked="true">
@@ -13,7 +13,7 @@
</PlanarProjection>
</Viewport>
</Window>
<Window fullScreen="false" numberOfSamples="8" border="true">
<Window fullScreen="false" border="true">
<Pos x="340" y="100" />
<Size x="1280" y="720" />
<Viewport>
+4 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<Cluster masterAddress="127.0.0.1">
<Node ip="127.0.0.1" port="20401">
<Window fullscreen="false" fxaa="false" msaa="1" name="Spherical Projection">
<Window fullscreen="false" name="Spherical Projection">
<Stereo type="none" />
<Pos x="0" y="100" />
<!-- 16:9 aspect ratio -->
@@ -17,7 +17,9 @@
- 8k (8192)
tilt specifies the dome tilt angle in degrees from the horizontal
-->
<Viewport name="warped fisheye" mesh="mesh/standard_16x9.data">
<!-- mesh path is relative to working directory-->
<!-- NOTE, if no working directory is set, mesh must be absolute path -->
<Viewport name="warped fisheye" mesh="config/mesh/standard_16x9.data">
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<FisheyeProjection fov="180" quality="2k" tilt="30.0">
+4 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<Cluster masterAddress="127.0.0.1">
<Node ip="127.0.0.1" port="20401">
<Window fullscreen="false" fxaa="false" msaa="1" name="Spherical Projection">
<Window fullscreen="false" name="Spherical Projection">
<Stereo type="none" />
<Pos x="0" y="100" />
<!-- 16:9 aspect ratio -->
@@ -17,6 +17,8 @@
- 8k (8192)
tilt specifies the dome tilt angle in degrees from the horizontal
-->
<!-- mesh path is relative to working directory-->
<!-- NOTE, if no working directory is set, mesh must be absolute path -->
<Viewport name="warped fisheye" mesh="mesh/standard_16x9.data">
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
@@ -25,7 +27,7 @@
</FisheyeProjection>
</Viewport>
</Window>
<Window fullScreen="false" msaa="1" name="GUI" tags="GUI">
<Window fullScreen="false" name="GUI" tags="GUI">
<Stereo type="none" />
<Size x="1280" y="720" />
<Res x="2048" y="2048" />
+1 -1
View File
@@ -11,7 +11,7 @@
</Scene>
-->
<Node address="localhost" port="20401">
<Window fullScreen="false" numberOfSamples="4" name="OpenSpace">
<Window fullScreen="false" name="OpenSpace">
<Stereo type="none" />
<Size x="1024" y="1024" />
<Viewport name="Spout">
+2 -2
View File
@@ -100,8 +100,8 @@ asset.onInitialize(function ()
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.HeightLayers.LRO_NAC_Apollo_11.Enabled', true);
-- openspace.setPropertyValueSingle('Scene.Moon.Renderable.Layers.ColorLayers.A11_M177481212_p_longlat.Enabled', true);
openspace.setPropertyValueSingle('Scene.Apollo11LemDescentModel.Renderable.RotationVector', { 273.205475,6.904110,308.712311 });
openspace.setPropertyValueSingle('Scene.Apollo11LemLandedModel.Renderable.RotationVector', { 273.205475,6.904110,308.712311 });
openspace.setPropertyValueSingle('Scene.Apollo11LemDescentModel.Renderable.RotationVector', { 273.750,28.0,309.85 });
openspace.setPropertyValueSingle('Scene.Apollo11LemLandedModel.Renderable.RotationVector', { 273.750,28.0,309.85 });
openspace.globebrowsing.goToGeo(moonAsset.Moon.Identifier, 20, -60, 15000000)
+3 -1
View File
@@ -25,7 +25,7 @@ asset.require('util/default_dashboard')
asset.require('util/default_joystick')
-- Load web gui
asset.require('util/webgui')
local webGui = asset.require('util/webgui')
asset.request('customization/globebrowsing')
@@ -66,6 +66,8 @@ local Keybindings = {
}
asset.onInitialize(function ()
webGui.setCefRoute("onscreen")
sceneHelper.bindKeys(Keybindings)
openspace.setDefaultGuiSorting()
+25
View File
@@ -0,0 +1,25 @@
-- This is a base scene that is included in most other scenes to set up defaults
-- loading this scene directly without any other elements added on top of it will
-- probably not work
local assetHelper = asset.require('util/asset_helper')
local sceneHelper = asset.require('util/scene_helper')
local propertyHelper = asset.require('util/property_helper')
-- Specifying which other assets should be loaded in this scene
asset.require('spice/base')
-- Load default key bindings applicable to most scenes
asset.require('util/default_keybindings')
asset.require('util/default_dashboard')
asset.require('util/default_joystick')
-- Load web gui
asset.require('util/webgui')
asset.request('customization/globebrowsing')
asset.onInitialize(function ()
openspace.setDefaultGuiSorting()
openspace.globebrowsing.loadWMSServersFromFile(
openspace.absPath("${DATA}/globebrowsing_servers.lua")
)
end)
@@ -22,12 +22,13 @@ local vrt_folders = {
-- example: 'C:/OpenSpace/GlobeBrowsingData/Mars/CTX'
-- We recommend using this folder for CTX
openspace.absPath('${ASSETS}/scene/solarsystem/planets/mars/map_service_configs/ESRI/CTX'),
openspace.absPath('${BASE}/../OpenSpaceData/Mars/CTX'),
-- if not and you have a custom path for CTX layers, enter it below
'',
-- Our provided HiRISE layer
openspace.absPath('${ASSETS}/scene/solarsystem/planets/mars/map_service_configs/ESRI/'),
openspace.absPath('${ASSETS}/scene/solarsystem/planets/mars/map_service_configs/ESRI/HiRISE'),
-- We recommend using this folder for HiRISE
openspace.absPath('${BASE}/../OpenSpaceData/Mars/HiRISE'),
-- if not and you have a custom path for HiRISE layers, enter it below
@@ -40,6 +41,7 @@ local vrt_folders = {
-- results
-- example: 'C:/OpenSpace/GlobeBrowsingData/Moon'
openspace.absPath('${BASE}/../OpenSpaceData/Moon'),
openspace.absPath('${BASE}/../OpenSpaceData/Apollo'),
''
},
Mercury = {
+1 -1
View File
@@ -5,4 +5,4 @@ asset.export("webguiDevelopmentMode", false)
-- 1) Set the above `webguiDevelopmentMode` to true
-- 2) Clone the repository: https://github.com/OpenSpace/OpenSpace-WebGuiFrontend
-- 3) Install nodejs (including npm)
-- 4) Within the repository, run `npm install` and `npm start`
-- 4) Within the repository, run `npm install` and `npm start`
+48
View File
@@ -0,0 +1,48 @@
-- This asset requires OpenSpace to be built with the OPENSPACE_MODULE_SYNC enabled
local assetHelper = asset.require("util/asset_helper")
asset.syncedResource({
Type = "UrlSynchronization",
Name = "Icons",
Identifier = "planet_icons",
Url = {
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/earth.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/moon.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/jupiter.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mars.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/mercury.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/neptune.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/saturn.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/uranus.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/venus.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/callisto.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/europa.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/ganymede.png",
"http://data.openspaceproject.com/files/webgui/assets/icons/solarsystem/io.png",
},
UseHash = false
})
asset.syncedResource({
Type = "UrlSynchronization",
Name = "Stories",
Identifier = "story_images",
Url = {
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_solarsystem.png",
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_jupitermoons.png",
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_earthweather.png",
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_mars.png",
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_galaxies.png",
"http://data.openspaceproject.com/files/webgui/assets/images/stories/story_example.png",
},
UseHash = false
})
asset.syncedResource({
Type = "UrlSynchronization",
Name = "Instructions",
Identifier = "images",
Url = "http://data.openspaceproject.com/files/webgui/assets/images/instructions.png",
UseHash = false
})
-29
View File
@@ -1,29 +0,0 @@
asset.require('./base')
asset.request('scene/solarsystem/planets/earth/satellites/navigation/gps')
asset.request('scene/solarsystem/planets/earth/satellites/misc/spacestations')
asset.onInitialize(function ()
local now = openspace.time.currentWallTime()
-- Jump back one day to be able to show complete weather data on Earth.
openspace.time.setTime(openspace.time.advancedTime(now, "-1d"))
openspace.addVirtualProperty(
"BoolProperty",
"Show Trails",
"Scene.*Trail.Renderable.Enabled",
"Disable or enable all trails of the scene at the same time",
true,
nil,
nil
)
openspace.globebrowsing.goToGeo("Earth", 58.5877, 16.1924, 20000000)
openspace.markInterestingNodes({ "Earth", "Sun" })
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes({ "Earth", "Sun" })
openspace.removeVirtualProperty("*Trail.Renderable.Enabled")
end)
+8 -6
View File
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "2dF Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_2dF_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,14 +22,16 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 1.0,
Opacity = 1.0,
File = speck .. "/2dF.speck",
Texture = textures .. "/point3.png",
ColorMap = speck .. "/lss.cmap",
ColorOption = { "redshift", "prox5Mpc" },
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
ColorMap = speck .. "/2dF.cmap",
ColorOption = { "redshift", "proximity" },
ColorRange = { { 0.0, 0.075 }, { 1.0, 25.0 } },
Unit = "Mpc",
ScaleFactor = 508.0
ScaleFactor = 520.0,
BillboardMaxSize = 4.7,
EnablePixelSizeControl = true
},
GUI = {
Name = "2dF Galaxies",
@@ -22,7 +22,7 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 0.4, 0.2 },
Transparency = 1.0,
Opacity = 1.0,
File = speck .. "/2MASS.speck",
Texture = textures .. "/point3.png",
ColorMap = speck .. "/lss.cmap",
@@ -31,7 +31,9 @@ local object = {
Unit = "Mpc",
CorrectionSizeEndDistance = 20.6,
CorrectionSizeFactor = 15.0,
ScaleFactor = 508.0
ScaleFactor = 510.78,
BillboardMaxSize = 11.15,
EnablePixelSizeControl = true
},
GUI = {
Name = "2MASS Galaxies",
+9 -7
View File
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "6dF Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_6dF_speck",
Version = 1
Version = 2
})
local object = {
@@ -21,15 +21,17 @@ local object = {
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 1.0,
Color = { 1.0, 1.0, 0.0 },
Opacity = 1.0,
File = speck .. "/6dF.speck",
Texture = textures .. "/point3.png",
ColorMap = speck .. "/lss.cmap",
ColorOption = { "redshift", "prox5Mpc" },
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
ColorMap = speck .. "/6dF.cmap",
ColorOption = { "redshift", "proximity" },
ColorRange = { { 0.0, 0.075 }, { 1.0, 10.0 } },
Unit = "Mpc",
ScaleFactor = 508.0
ScaleFactor = 534.0,
BillboardMaxSize = 7.0,
EnablePixelSizeControl = true,
},
GUI = {
Name = "6dF Galaxies",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Abell Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_abell_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,8 +22,8 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 0.4, 0.2 },
Transparency = 1.0,
ScaleFactor = 525.0,
Opacity = 1.0,
--ColorMap = speck .. "/abell.cmap",
File = speck .. "/abell.speck",
Texture = textures .. "/point3.png",
LabelFile = speck .. "/abell.label",
@@ -36,7 +36,10 @@ local object = {
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
0.0, 0.0, 0.0, 1.0
}
},
ScaleFactor = 520.0,
BillboardMaxSize = 7.0,
EnablePixelSizeControl = true
},
GUI = {
Name = "Abell Galaxy Clusters",
@@ -15,7 +15,7 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/stars-altlbl.label",
TextColor = { 0.4, 0.4, 0.4, 1.0 },
DrawLabels = true,
@@ -6,7 +6,7 @@ local textures = asset.syncedResource({
Name = "Background Radiation Textures",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_backgroundradiation_textures",
Version = 1
Version = 2
})
local speck = asset.syncedResource({
@@ -214,7 +214,35 @@ local multiverse_planck_4 = {
}
local Halpha = {
Identifier = "HAlpha",
Transform = {
Rotation = {
Type = "StaticRotation",
Rotation = {0, 0, 3.14159265359}
}
},
Renderable = {
Type = "RenderableSphere",
Enabled = false,
Size = 9.2E21,
Segments = 40,
Opacity = 0.4,
Texture = textures .. "/mwHalpha-f.png",
Orientation = "Inside",
UseAdditiveBlending = true,
MirrorTexture = true,
FadeOutThreshold = 0.025,
Background = true
},
GUI = {
Name = "H Alpha",
Path = "/Milky Way/All Sky Images"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
wmap, cbe, planck, multiverse_planck_1, multiverse_planck_2, multiverse_planck_3,
multiverse_planck_4
multiverse_planck_4, Halpha
})
@@ -6,7 +6,7 @@ local speck = asset.syncedResource({
Name = "Clusters Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_clusters_speck",
Version = 1
Version = 2
})
local object = {
@@ -15,13 +15,19 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/galclust.label",
TextColor = { 0.7, 0.3, 0.0, 1.0 },
TextColor = { 1.0, 0.44, 0.0, 1.0 },
DrawLabels = true,
TextSize = 22,
TextMinSize = 8.0,
Unit = "Mpc"
Unit = "Mpc",
TransformationMatrix = {
-0.7357425748, 0.67726129641, 0.0, 0.0,
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
0.0, 0.0, 0.0, 1.0
},
},
GUI = {
Name = "Galaxy Cluster Labels",
@@ -0,0 +1,75 @@
local assetHelper = asset.require('util/asset_helper')
local textures = asset.syncedResource({
Name = "Deep Sky Objects Textures",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_deepsky_textures",
Version = 1
})
local speck = asset.syncedResource({
Name = "Deep Sky Objects Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_deepsky_speck",
Version = 1
})
local deepSkyPoints = {
Identifier = "DeepSkyObjects",
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 0.0 },
Opacity = 0.99,
ScaleFactor = 500.0,
File = speck .. "/dso.speck",
Texture = textures .. "/point3.png",
--ColorMap = speck .. "/tully.cmap",
--ColorMap = speck .. "/lss.cmap",
--ColorOption = { "proximity" },
--ColorOption = { "prox5Mpc" },
--ColorRange = { { 1.0, 30.0 } },
LabelFile = speck .. "/dso.label",
TextColor = { 0.1, 0.4, 0.6, 1.0 },
TextSize = 20.50,
TextMinSize = 16.0,
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
--FadeInDistances = { 0.05, 1.0 },
-- Max size in pixels
BillboardMaxSize = 8.22,
BillboardMinSize = 0.0,
--CorrectionSizeEndDistance = 22.0,
--CorrectionSizeFactor = 10.45
EnablePixelSizeControl = true
},
GUI = {
Name = "Deep Sky Objects Points",
Path = "/Universe/Galaxies"
}
}
local deepSkyImages = {
Identifier = "DeepSkyObjectsImages",
Renderable = {
Type = "RenderablePlanesCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.99,
ScaleFactor = 1.0,
File = speck .. "/dso.speck",
TexturePath = textures,
Luminosity = "radius",
ScaleLuminosity = 0.001,
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
--FadeInDistances = {0.001, 0.05010},
PlaneMinSize = 5.0
},
GUI = {
Name = "Deep Sky Objects Images",
Path = "/Universe/Galaxies"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { deepSkyPoints, deepSkyImages })
+10 -5
View File
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Brown Dwarf Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_dwarfs_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,16 +22,21 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.4, 0.0, 0.1 },
Transparency = 0.999,
Opacity = 1.0,
File = speck .. "/dwarfs.speck",
Texture = textures .. "/point3.png",
LabelFile = speck .. "/dwarfs.label",
ColorMap = speck .. "/dwarfs.cmap",
ColorOption = { "typeindex" },
--ColorRange = { { 1.0, 4.0} },
TextColor = { 0.5, 0.1, 0.2, 1.0 },
TextSize = 14.6,
TextMinSize = 10.0,
ScaleFactor = 360,
CorrectionSizeEndDistance = 16.1,
CorrectionSizeFactor = 7.75,
ScaleFactor = 370,
--CorrectionSizeEndDistance = 16.1,
--CorrectionSizeFactor = 7.75,
BillboardMaxSize = 18.0,
EnablePixelSizeControl = true,
Unit = "pc"
},
GUI = {
@@ -22,19 +22,21 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 1.0,
ScaleFactor = 10.0,
Texture = textures .. "/target-blue.png",
File = speck .. "/expl.speck",
LabelFile = speck .. "/expl.label",
ScaleFactor = 380.0,
ScaleFactor = 392.5,
TextColor = { 0.3, 0.3, 0.8, 1.0 },
TextSize = 14.8,
TextMaxSize = 200.0,
TextMinSize = 10.0,
CorrectionSizeEndDistance = 15.23,
CorrectionSizeFactor = 13.3,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 52.0,
EnablePixelSizeControl = true,
},
GUI = {
Path = "/Milky Way/Exoplanets"
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Globular Clusters Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_globularclusters_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,17 +22,19 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.8, 0.8, 0.0 },
Transparency = 0.35,
Opacity = 1.0,
File = speck .. "/gc.speck",
Texture = textures .. "/point4.png",
PolygonSides = 5,
LabelFile = speck .. "/gc.label",
TextColor = { 0.5, 0.5, 0.0, 1.0 },
ScaleFactor = 440.0,
TextSize = 17.5,
TextSize = 18.6,
TextMinSize = 10.0,
TextMaxSize = 30.0,
Unit = "pc"
TextMaxSize = 14.4,
Unit = "pc",
BillboardMaxSize = 13.5,
EnablePixelSizeControl = true,
},
GUI = {
Name = "Globular Clusters",
@@ -24,7 +24,7 @@ local radio = {
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 1.0, 1.0, 0.3, 0.75},
GridColor = { 0.3, 0.84, 1.0, 0.3},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661 , 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
@@ -74,7 +74,7 @@ local ecliptic = {
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.7, 0.0, 0.0, 0.5},
GridColor = { 0.74, 0.26, 0.26, 0.5},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661 , 0.0,
-0.9938214 , -0.1109906, -0.0003515167, 0.0,
@@ -121,13 +121,13 @@ local equatorial = {
Transform = {
Scale = {
Type = "StaticScale",
Scale = 6.2440846E17;
Scale = 4.28601E17;
}
},
Renderable = {
Type = "RenderableSphericalGrid",
Enabled = false,
GridColor = { 0.0, 0.0, 1.0, 0.8},
GridColor = { 0.69, 0.68, 0.29, 0.8},
LineWidth = 2.0,
GridMatrix = { -0.05487554, 0.4941095, -0.8676661, 0.0,
-0.8734371 , -0.4448296, -0.1980764, 0.0,
+10 -3
View File
@@ -15,16 +15,23 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
--ScaleFactor = 10.0,
LabelFile = speck .. "/groups.label",
TextColor = { 0.1, 0.6, 0.2, 1.0 },
TextSize = 21.5,
TextMinSize = 8.0,
Unit = "Mpc"
Unit = "Mpc",
DrawLabels = true,
TransformationMatrix = {
-0.7357425748, 0.67726129641, 0.0, 0.0,
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
0.0, 0.0, 0.0, 1.0
},
},
GUI = {
Name = "Nearby Galaxy Groups",
Name = "Galaxy Group Labels",
Path = "/Universe/Galaxies"
}
}
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "HII Regions Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_h2regions_speck",
Version = 2
Version = 3
})
local object = {
@@ -22,17 +22,19 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.0, 0.5, 1.0 },
Transparency = 0.35,
Opacity = 1.0,
File = speck .. "/h2.speck",
Texture = textures .."/point4.png",
PolygonSides = 6,
LabelFile = speck .. "/h2.label",
TextColor = { 0.5, 0.5, 0.5, 1.0 },
ScaleFactor = 420,
ScaleFactor = 425,
TextSize = 17.25,
TextMinSize = 10.0,
TextMinSize = 30.0,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 25.0,
EnablePixelSizeControl = true
},
GUI = {
Name = "HII Regions",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Kepler Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_kepler_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,13 +22,15 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 0.0 },
Transparency = 0.99,
ScaleFactor = 395.0,
Opacity = 0.99,
ScaleFactor = 410.0,
File = speck .. "/kepler.speck",
Texture = textures .. "/halo.png",
CorrectionSizeEndDistance = 15.86,
CorrectionSizeFactor = 8.59,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 23.0,
EnablePixelSizeControl = true
},
GUI = {
Name = "Kepler Planetary Candidates",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Local Dwarfs Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_localdwarfs_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,19 +22,23 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.5, 1.0, 0.2 },
Transparency = 0.3,
File = speck .. "/localdwarfs.speck",
ColorMap = speck .. "/localgroup.cmap",
ColorOption = { "association" },
Opacity = 0.3,
File = speck .. "/localgroup.speck",
Texture = textures .. "/point4.png",
PolygonSides = 12,
LabelFile = speck .. "/localdwarfs.label",
LabelFile = speck .. "/localgroup.label",
TextColor = { 0.3, 0.3, 1.0, 1.0 },
ScaleFactor = 478,
ScaleFactor = 465,
TextSize = 18.3,
TextMinSize = 7.3,
Unit = "Mpc"
Unit = "Mpc",
BillboardMaxSize = 20.0,
EnablePixelSizeControl = true
},
GUI = {
Name = "Local Dwarf Galaxies",
Name = "Local Group",
Path = "/Universe/Galaxies"
}
}
@@ -23,6 +23,13 @@ local planeSpeck = asset.syncedResource({
Version = 1
})
local homespeck = asset.syncedResource({
Name = "Home Speck File",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_home_speck",
Version = 1
})
local sphere = {
Identifier = "MilkyWay",
Transform = {
@@ -40,7 +47,7 @@ local sphere = {
Orientation = "Inside",
UseAdditiveBlending = true,
MirrorTexture = true,
FadeOutThreshold = 0.025,
FadeOutThreshold = 0.0015,
Background = true
},
GUI = {
@@ -73,6 +80,43 @@ local plane = {
}
}
local homeLabel = {
Identifier = "HomeLabel",
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 0.4, 0.2 },
Opacity = 0.99,
ScaleFactor = 500.0,
--File = homespeck .. "/home.speck",
-- Texture = textures .. "/point3.png",
DrawLabels = true,
LabelFile = homespeck .. "/home.label",
TextColor = { 0.8, 0.8, 0.8, 1.0 },
TextSize = 20.50,
TextMinSize = 16.0,
TransformationMatrix = {
-0.7357425748, 0.67726129641, 0.0, 0.0,
-0.074553778365, -0.080991471307, 0.9939225904, 0.0,
0.67314530211, 0.73127116582, 0.11008126223, 0.0,
0.0, 0.0, 0.0, 1.0
},
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
FadeInDistances = { 0.05, 1.0 },
-- Max size in pixels
BillboardMaxSize = 8.22,
BillboardMinSize = 0.0,
--CorrectionSizeEndDistance = 22.0,
--CorrectionSizeFactor = 10.45
EnablePixelSizeControl = true
},
GUI = {
Name = "Home Label",
Path = "/Universe/Galaxies"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { sphere, plane })
assetHelper.registerSceneGraphNodesAndExport(asset, { sphere, plane, homeLabel })
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "OB Associations Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_obassociations_speck",
Version = 2
Version = 3
})
local object = {
@@ -21,18 +21,24 @@ local object = {
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.0, 0.0, 1.0 },
Transparency = 0.5,
Color = { 1.0, 1.0, 1.0 },
ColorMap = speck .. "/ob.cmap",
ColorOption = { "arm" },
SizeOption = {"diameter"},
ExactColorMap = true,
Opacity = 0.9,
File = speck .. "/ob.speck",
Texture = textures .. "/point4.png",
PolygonSides = 7,
LabelFile = speck .. "/ob.label",
TextColor = { 0.4, 0.5, 1.0, 1.0 },
ScaleFactor = 428.0,
ScaleFactor = 390.0,
TextSize = 17.0,
TextMinSize = 5.76,
TextMaxSize = 30.0,
Unit = "pc"
Unit = "pc",
--BillboardMaxSize = 21.0,
EnablePixelSizeControl = true
},
GUI = {
Name = "OB Associations",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Open Clusters Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_openclusters_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,7 +22,7 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.1, 0.8, 0.4 },
Transparency = 0.5,
Opacity = 0.5,
File = speck .. "/oc.speck",
Texture = textures .. "/point4.png",
PolygonSides = 12,
@@ -32,7 +32,9 @@ local object = {
TextSize = 16.68,
TextMinSize = 4.5,
TextMaxSize = 30.0,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 20.22,
EnablePixelSizeControl = true
},
GUI = {
Name = "Open Star Clusters",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Planetary Nebulae Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_planetarynebulae_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,17 +22,19 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.4, 0.4, 0.9 },
Transparency = 0.35,
Opacity = 1.0,
File = speck .. "/pn.speck",
Texture = textures .. "/point4.png",
PolygonSides = 3,
LabelFile = speck .. "/pn.label",
TextColor = { 0.25, 0.25, 0.65, 1.0 },
ScaleFactor = 418.33,
ScaleFactor = 435.0,
TextSize = 16.68,
TextMinSize = 4.5,
TextMaxSize = 30.0,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 35,
EnablePixelSizeControl = true
},
GUI = {
Name = "Planetary Nebulae",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Pulsars Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_pulsars_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,7 +22,7 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 0.7, 0.0, 0.0 },
Transparency = 0.5,
Opacity = 1.0,
File = speck .. "/pulsar.speck",
Texture = textures .. "/point4.png",
PolygonSides = 4,
@@ -32,7 +32,9 @@ local object = {
TextSize = 16.68,
TextMinSize = 7.5,
TextMaxSize = 30.0,
Unit = "pc"
Unit = "pc",
BillboardMaxSize = 35,
EnablePixelSizeControl = true
},
GUI = {
Path = "/Milky Way"
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Quasars Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_quasars_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,15 +22,17 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = true,
Color = { 1.0, 0.4, 0.2 },
Transparency = 1.0,
Opacity = 0.95,
File = speck .. "/quasars.speck",
Texture = textures .. "/point3.png",
Unit = "Mpc",
ScaleFactor = 537.31,
ScaleFactor = 540.9,
-- Fade in value in the same unit as "Unit"
FadeInDistances = { 1000.0, 10000.0 },
BillboardMaxSize = 30.0,
BillboardMinSize = 0.0,
BillboardMaxSize = 11.1,
EnablePixelSizeControl = true
},
GUI = {
Path = "/Universe"
+8 -6
View File
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Sloan Digital Sky Survey Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_sloandss_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,11 +22,11 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = true,
Color = { 0.8, 0.8, 1.0 },
Transparency = 1.0,
ScaleFactor = 507.88,
Opacity = 0.8,
ScaleFactor = 520.0,
File = speck .. "/SDSSgals.speck",
ColorMap = speck .. "/lss.cmap",
ColorOption = { "redshift", "prox5Mpc" },
ColorMap = speck .. "/SDSSgals.cmap",
ColorOption = { "redshift", "proximity" },
ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } },
Texture = textures .. "/point3.png",
Unit = "Mpc",
@@ -38,7 +38,9 @@ local object = {
CorrectionSizeFactor = 10.41,
TextSize = 14.8,
TextMinSize = 10.0,
TextMaxSize = 50.0
TextMaxSize = 50.0,
BillboardMaxSize = 5.5,
EnablePixelSizeControl = true
},
GUI = {
Name = "Sloan Digital Sky Survey",
@@ -15,7 +15,7 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/stars.label",
TextColor = { 0.4, 0.4, 0.4, 1.0 },
DrawLabels = true,
@@ -0,0 +1,184 @@
local assetHelper = asset.require('util/asset_helper')
local transforms = asset.require('scene/solarsystem/sun/transforms')
local earth_transforms = asset.require('scene/solarsystem/planets/earth/transforms')
local speck = asset.syncedResource({
Name = "Grids Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_starorbits_speck",
Version = 1
})
local sunOrbit = {
Identifier = "SunOrbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = { 1.0, 0.65, 0.0 },
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-Sun.speck",
MeshColor = {{ 1.0, 0.65, 0.0 }},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "Sun Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local barnardsOrbit = {
Identifier = "BarnardsOrbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-BarnardsStar.speck",
MeshColor = {{0.39, 0.58, 0.93}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "Barnards Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local kapteynsOrbit = {
Identifier = "KapteynsOrbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-kapteynsStar.speck",
MeshColor = {{0.6, 0.6, 0.6}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "Kapteyns Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local lacaille9352Orbit = {
Identifier = "Lacaille9352Orbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-Lacaille9352.speck",
MeshColor = {{0.58, 0.0, 0.83}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "Lacaille 9352 Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local lSR1826Orbit = {
Identifier = "LSR1826Orbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-LSR1826+3014.speck",
MeshColor = {{0.0, 0.39, 0.0}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "LSR1826+3014 Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local lSRJ0822Orbit = {
Identifier = "LSRJ0822Orbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-LSRJ0822+1700.speck",
MeshColor = {{0.5, 1.0, 0.0}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "LSRJ0822+1700 Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
local pM_J13420Orbit = {
Identifier = "PM_J13420Orbit",
--Parent = transforms.SolarSystemBarycenter.Name,
Renderable = {
Type = "RenderableDUMeshes",
Enabled = false,
Color = {1.0, 1.0, 1.0},
Transparency = 1.0,
ScaleFactor = 1.0,
File = speck .. "/starorbits-PM_J13420-3415.speck",
MeshColor = {{0.70, 0.13, 0.13}},
--LabelFile = speck .. "/1ld.label",
TextColor = { 0.0, 0.2, 0.5, 1.0 },
TextSize = 10.3,
TextMinSize = 0.5,
TextMaxSize = 30.0,
Unit = "pc"
},
GUI = {
Name = "PM_J13420-3415 Orbit",
Path = "/Milky Way/Stars/Stars Orbits"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, {
sunOrbit, barnardsOrbit, pM_J13420Orbit, lSRJ0822Orbit, lSR1826Orbit,
lacaille9352Orbit, kapteynsOrbit
})
+28 -2
View File
@@ -13,7 +13,14 @@ local speck = asset.syncedResource({
Name = "Stars Speck Files",
Type = "HttpSynchronization",
Identifier = "stars_du",
Version = 3
Version = 4
})
local sunspeck = asset.syncedResource({
Name = "Stars Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_sunstar_speck",
Version = 1
})
local colorLUT = asset.syncedResource({
@@ -40,4 +47,23 @@ local stars = {
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { stars })
local sunstar = {
Identifier = "SunStar",
Renderable = {
Type = "RenderableStars",
File = sunspeck .. "/sunstar.speck",
Texture = textures .. "/halo.png",
--ShapeTexture = textures .. "/disc.png",
ColorMap = colorLUT .. "/colorbv.cmap",
MagnitudeExponent = 6.2,
SizeComposition = "Distance Modulus",
RenderMethod = "Texture Based", -- or PSF
FadeInDistances = {0.0001, 0.1}
},
GUI = {
Name = "Sun",
Path = "/Milky Way/Stars"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { stars, sunstar })
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Galaxy Superclusters Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_superclusters_speck",
Version = 1
Version = 2
})
local object = {
@@ -21,16 +21,20 @@ local object = {
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
DrawElements = false,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
File = speck .. "/superclust.speck",
Texture = textures .. "/point3.png",
LabelFile = speck .. "/superclust.label",
TextColor = { 0.6, 0.6, 0.6, 1.0 },
TextColor = { 0.9, 0.9, 0.9, 1.0 },
ScaleFactor = 531.0,
TextSize = 22.44,
TextMinSize = 8.0,
Unit = "Mpc"
Unit = "Mpc",
DrawLabels = true,
--BillboardMaxSize = 7.2,
EnablePixelSizeControl = true
},
GUI = {
Name = "Galaxy Superclusters",
@@ -13,7 +13,7 @@ local speck = asset.syncedResource({
Name = "Supernova Remnants Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_supernovaremnants_speck",
Version = 1
Version = 2
})
local object = {
@@ -22,19 +22,21 @@ local object = {
Type = "RenderableBillboardsCloud",
Enabled = false,
Color = { 1.0, 0.5, 0.0 },
Transparency = 0.5,
Opacity = 0.9,
File = speck .. "/snr.speck",
Texture = textures .. "/point4.png",
PolygonSides = 7,
LabelFile = speck .. "/snr.label",
TextColor = { 0.6, 0.3, 0.0, 1.0 },
ScaleFactor = 440.08,
ScaleFactor = 435,
TextSize = 17.5,
TextMinSize = 8.0,
TextMaxSize = 30.0,
CorrectionSizeEndDistance = 17.5,
CorrectionSizeFactor = 13.96,
Unit = "pc"
--CorrectionSizeEndDistance = 17.5,
--CorrectionSizeFactor = 13.96,
Unit = "pc",
BillboardMaxSize = 27.2,
EnablePixelSizeControl = true
},
GUI = {
Name = "Supernova Remnants",
+10 -8
View File
@@ -22,13 +22,15 @@ local tullyPoints = {
Type = "RenderableBillboardsCloud",
Enabled = true,
Color = { 1.0, 0.4, 0.2 },
Transparency = 0.99,
ScaleFactor = 502.77,
Opacity = 0.99,
ScaleFactor = 500.0,
File = speck .. "/tully.speck",
Texture = textures .. "/point3.png",
--ColorMap = speck .. "/tully.cmap",
ColorMap = speck .. "/lss.cmap",
--ColorOption = { "proximity" },
ColorOption = { "prox5Mpc" },
ColorRange = { { 1.0, 80.0 } },
ColorRange = { { 1.0, 30.0 } },
LabelFile = speck .. "/tully.label",
TextColor = { 0.7, 0.7, 0.7, 1.0 },
TextSize = 20.50,
@@ -43,10 +45,11 @@ local tullyPoints = {
-- Fade in value in the same unit as "Unit"
FadeInDistances = { 0.05, 1.0 },
-- Max size in pixels
BillboardMaxSize = 50.0,
BillboardMaxSize = 8.22,
BillboardMinSize = 0.0,
CorrectionSizeEndDistance = 22.0,
CorrectionSizeFactor = 10.45
--CorrectionSizeEndDistance = 22.0,
--CorrectionSizeFactor = 10.45
EnablePixelSizeControl = true
},
GUI = {
Name = "Tully Galaxies",
@@ -74,7 +77,7 @@ local tullyImages = {
},
Unit = "Mpc",
-- Fade in value in the same unit as "Unit"
FadeInDistances = {0.05, 0.1},
FadeInDistances = {0.001, 0.05010},
PlaneMinSize = 5.0
},
GUI = {
@@ -84,5 +87,4 @@ local tullyImages = {
}
assetHelper.registerSceneGraphNodesAndExport(asset, { tullyPoints, tullyImages })
@@ -6,7 +6,7 @@ local speck = asset.syncedResource({
Name = "Voids Speck Files",
Type = "HttpSynchronization",
Identifier = "digitaluniverse_voids_speck",
Version = 1
Version = 2
})
local object = {
@@ -14,11 +14,12 @@ local object = {
Renderable = {
Type = "RenderableBillboardsCloud",
Enabled = false,
DrawElements = false,
DrawLabels = true,
Color = { 1.0, 1.0, 1.0 },
Transparency = 0.65,
Opacity = 0.65,
LabelFile = speck .. "/voids.label",
TextColor = { 0.0, 0.4, 0.7, 1.0 },
TextColor = { 0.296, 0.629, 1.0, 1.0 },
TextSize = 20.9,
TextMinSize = 8.0,
Unit = "Mpc"
@@ -10,15 +10,25 @@ local data = asset.syncedResource({
Version = 1
})
local kiloparsec = 3.086E19
local MilkyWayVolumeGalaxy = {
Identifier = "Milky Way Volume",
Identifier = "MilkyWayVolume",
Parent = transforms.SolarSystemBarycenter.Identifier,
Transform = {
Translation = {
Type = "StaticTranslation",
-- The center of the Milky Way is approximately 8 kiloparsec from the Sun.
-- The x-axis of galactic coordinates points from the sun towards the center
-- of the galaxy.
Position = {8 * kiloparsec, 0, 0}
}
},
Renderable = {
Type = "RenderableGalaxy",
StepSize = 0.01,
AbsorptionMultiply = 75,
EmissionMultiply = 200,
Translation = {0.2, 0, 0},
AbsorptionMultiply = 200,
EmissionMultiply = 250,
Rotation = {3.1415926, 3.1248, 4.45741},
Volume = {
Type = "Volume",
@@ -34,9 +44,10 @@ local MilkyWayVolumeGalaxy = {
}
},
GUI = {
Path = "/Milky Way"
Path = "/Milky Way",
Name = "Milky Way Volume"
}
}
local objects = { MilkyWayVolumeGalaxy }
assetHelper.registerSceneGraphNodesAndExport(asset, objects)
assetHelper.registerSceneGraphNodesAndExport(asset, objects)
@@ -20,10 +20,6 @@ local Charon = {
Type = "SpiceRotation",
SourceFrame = "IAU_CHARON",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -7,7 +7,8 @@ local Kernels = asset.syncedResource({
local PlutoKernels = {
Kernels .. "/NavPE_de433_od122.bsp",
Kernels .. "/NavSE_plu047_od122.bsp"
Kernels .. "/NavSE_plu047_od122.bsp",
Kernels .. "/ssd_jpl_nasa_gov_plu043.bsp"
}
asset.export("PlutoKernels", PlutoKernels)
@@ -20,10 +20,6 @@ local Pluto = {
Type = "SpiceRotation",
SourceFrame = "IAU_PLUTO",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -0,0 +1,46 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local trajectory = asset.syncedResource({
Name = "C-2019 Q4 Borisov Trajectory",
Type = "HttpSynchronization",
Identifier = "borisov_horizons",
Version = 1
})
local C2019Q4BorisovTrail = {
Identifier = "C2019Q4BorisovTrail",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = trajectory .. "/horizons_c2019q4borisov.dat"
},
Color = { 0.9, 0.9, 0.0 },
StartTime = "2015 JAN 01 00:00:00",
EndTime = "2024 JAN 01 00:00:00",
SampleInterval = 60
},
GUI = {
Name = "C-2019 Q4 Borisov Trail",
Path = "/Solar System/Interstellar"
}
}
local C2019Q4BorisovPosition = {
Identifier = "C2019Q4BorisovPosition",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Transform = {
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = trajectory .. "/horizons_c2019q4borisov.dat"
},
},
GUI = {
Name = "C-2019 Q4 Borisov",
Path = "/Solar System/Interstellar"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { C2019Q4BorisovPosition, C2019Q4BorisovTrail })
@@ -39,6 +39,7 @@ local Apollo17LemModel = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
},
SpecularIntensity = 0.0,
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
},
@@ -196,6 +196,7 @@ local Apollo11LemDescentModel = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/lmremoved.obj"
},
SpecularIntensity = 0.0,
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
},
@@ -225,6 +226,7 @@ local Apollo11LemLandedModel = {
Type = "MultiModelGeometry",
GeometryFile = model.modelFolder .. "/LM-2_ver2clean.obj"
},
SpecularIntensity = 0.0,
ColorTexture = model.modelFolder .. "/LM-2_ver2clean_u1_v1.jpeg",
LightSources = assetHelper.getDefaultLightSources(sunTransforms.SolarSystemBarycenter.Identifier)
},
@@ -46,10 +46,6 @@ local PlutoProjection = {
Type = "SpiceRotation",
SourceFrame = "IAU_PLUTO",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -14,12 +14,6 @@ local mapServiceConfigsPath = asset.localResource("map_service_configs")
local Earth = {
Identifier = "Earth",
Parent = transforms.EarthIAU.Identifier,
Transform = {
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
Type = "RenderableGlobe",
Radii = earthEllipsoid,
@@ -132,7 +126,7 @@ local Earth = {
Name = "AMSR2 GCOM W1 Sea Ice Concentration (Temporal)",
Type = "TemporalTileLayer",
FilePath = openspace.globebrowsing.createTemporalGibsGdalXml(
"AMSR2_Sea_Ice_Concentration_12km",
"AMSRU2_Sea_Ice_Concentration_12km",
"2012-05-08",
"Yesterday",
"1d",
@@ -35,42 +35,62 @@ local Moon = {
Identifier = "WAC_Utah",
Name = "WAC [Utah]",
FilePath = mapServiceConfigs .. "/Utah/Wac.wms",
Enabled = true
Enabled = true,
Settings = { Multiplier = 2.0 }
},
{
Identifier = "WAC_Sweden",
Name = "WAC [Sweden]",
FilePath = mapServiceConfigs .. "/LiU/WAC.wms"
FilePath = mapServiceConfigs .. "/LiU/WAC.wms",
Settings = { Multiplier = 2.0 }
},
{
Identifier = "ClemUvvis_Utah",
Name = "Clem Uvvis [Utah]",
FilePath = mapServiceConfigs .. "/Utah/ClemUvvis.wms"
FilePath = mapServiceConfigs .. "/Utah/ClemUvvis.wms",
Settings = { Multiplier = 2.0 }
},
{
Identifier = "ClemUvvis_Sweden",
Name = "Clem Uvvis [Sweden]",
FilePath = mapServiceConfigs .. "/LiU/Clem_Uvvis.wms"
FilePath = mapServiceConfigs .. "/LiU/Clem_Uvvis.wms",
Settings = { Multiplier = 2.0 }
},
{
Identifier = "UvvisHybrid_Utah",
Name = "Uvvis Hybrid [Utah]",
FilePath = mapServiceConfigs .. "/Utah/UvvisHybrid.wms"
FilePath = mapServiceConfigs .. "/Utah/UvvisHybrid.wms",
Settings = {
Gamma = 0.75,
Multiplier = 1.5
}
},
{
Identifier = "UvvisHybrid_Sweden",
Name = "Uvvis Hybrid [Sweden]",
FilePath = mapServiceConfigs .. "/LiU/Uvvis_Hybrid.wms"
FilePath = mapServiceConfigs .. "/LiU/Uvvis_Hybrid.wms",
Settings = {
Gamma = 0.75,
Multiplier = 1.5
}
},
{
Identifier = "Kaguya_Utah",
Name = "Kaguya [Utah]",
FilePath = mapServiceConfigs .. "/Utah/Kaguya.wms"
FilePath = mapServiceConfigs .. "/Utah/Kaguya.wms",
Settings = {
Gamma = 1.12,
Multiplier = 2.7
}
},
{
Identifier = "Kaguya_Sweden",
Name = "Kaguya [Sweden]",
FilePath = mapServiceConfigs .. "/LiU/Kaguya.wms"
FilePath = mapServiceConfigs .. "/LiU/Kaguya.wms",
Settings = {
Gamma = 1.12,
Multiplier = 2.7
}
},
{
Identifier = "Lola_Clr_Shade_Utah",
@@ -29,7 +29,7 @@ local Io = {
Target = "IO",
Observer = "JUPITER BARYCENTER",
Kernels = kernel
},
}
},
Renderable = {
Type = "RenderableGlobe",
@@ -20,10 +20,6 @@ local Jupiter = {
Type = "SpiceRotation",
SourceFrame = "IAU_JUPITER",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -16,7 +16,7 @@ local Atmosphere = {
PlanetRadius = 3386.190,
PlanetAverageGroundReflectance = 0.1,
GroundRadianceEmittion = 0.37,
SunIntensity = 6.7,
SunIntensity = 13.1,
MieScatteringExtinctionPropCoefficient = 0.23862,
Rayleigh = {
Coefficients = {
@@ -0,0 +1,5 @@
Name = "CTX Blended beta01"
Identifier = "CTXblended"
Description = "Seam-corrected and seam-mapped mosaic of Mars CTX created by Jay Dixon at The Murray Lab"
HeightFile = nil
ColorFile = "CTXblended.vrt"
@@ -0,0 +1,18 @@
<GDAL_WMS>
<Service name="TMS">
<ServerUrl>http://astro.arcgis.com/arcgis/rest/services/OnMars/CTX/MapServer/tile/${z}/${y}/${x}</ServerUrl>
</Service>
<DataWindow>
<UpperLeftX>-180.0</UpperLeftX> <UpperLeftY>90.0</UpperLeftY>
<LowerRightX>180.0</LowerRightX> <LowerRightY>-90.0</LowerRightY>
<SizeX>4194304</SizeX> <SizeY>2097152</SizeY>
<TileLevel>12</TileLevel> <YOrigin>top</YOrigin>
</DataWindow>
<Projection>GEOGCS["GCS_Mars_2000_Sphere",DATUM["D_Mars_2000_Sphere",SPHEROID["Mars_2000_Sphere_IAU_IAG",3396190.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]]</Projection>
<BlockSizeX>512</BlockSizeX>
<BlockSizeY>512</BlockSizeY>
<BandsCount>1</BandsCount>
<MaxConnections>5</MaxConnections>
<DataValues NoData="0"></DataValues>
<ZeroBlockHttpCodes>404,400</ZeroBlockHttpCodes>
</GDAL_WMS>
@@ -0,0 +1,28 @@
<VRTDataset rasterXSize="11534336" rasterYSize="2097152">
<SRS>GEOGCS["GCS_Mars_2000_Sphere",DATUM["D_Mars_2000_Sphere",SPHEROID["Mars_2000_Sphere_IAU_IAG",3396190.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]]</SRS>
<GeoTransform> -8.1000000000000000e+02, 8.5830688476562500e-05, 0.0000000000000000e+00, 9.0000000000000000e+01, 0.0000000000000000e+00, -8.5830688476562500e-05</GeoTransform>
<VRTRasterBand dataType="Byte" band="1">
<NoDataValue>0.00000000000000E+00</NoDataValue>
<ColorInterp>Gray</ColorInterp>
<ComplexSource>
<SourceFilename relativeToVRT="1">CTXblended.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="4194304" RasterYSize="2097152" DataType="Byte" BlockXSize="512" BlockYSize="512" />
<SrcRect xOff="0" yOff="0" xSize="4194304" ySize="2097152" />
<DstRect xOff="7340032" yOff="0" xSize="4194304" ySize="2097152" />
<NODATA>0</NODATA>
</ComplexSource>
</VRTRasterBand>
<VRTRasterBand dataType="Byte" band="2">
<NoDataValue>0</NoDataValue>
<ColorInterp>Alpha</ColorInterp>
<ComplexSource>
<SourceFilename relativeToVRT="1">CTXblended.tif</SourceFilename>
<SourceBand>1</SourceBand>
<SourceProperties RasterXSize="4194304" RasterYSize="2097152" DataType="Byte" BlockXSize="512" BlockYSize="512" />
<SrcRect xOff="0" yOff="0" xSize="4194304" ySize="2097152" />
<DstRect xOff="7340032" yOff="0" xSize="4194304" ySize="2097152" />
<LUT>0:0,1:255,255:255</LUT>
</ComplexSource>
</VRTRasterBand>
</VRTDataset>
@@ -153,10 +153,6 @@ local Mars = {
Type = "SpiceRotation",
SourceFrame = "IAU_MARS",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -189,10 +189,6 @@ local Mercury = {
Type = "SpiceRotation",
SourceFrame = "IAU_MERCURY",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -18,10 +18,6 @@ local Neptune = {
Type = "SpiceRotation",
SourceFrame = "IAU_NEPTUNE",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -20,10 +20,6 @@ local Saturn = {
Type = "SpiceRotation",
SourceFrame = "IAU_SATURN",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -20,10 +20,6 @@ local Uranus = {
Type = "SpiceRotation",
SourceFrame = "IAU_URANUS",
DestinationFrame = "GALACTIC"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -26,10 +26,6 @@ local Venus = {
Type = "SpiceTranslation",
Target = "VENUS",
Observer = "VENUS BARYCENTER"
},
Scale = {
Type = "StaticScale",
Scale = 1.0
}
},
Renderable = {
@@ -0,0 +1,46 @@
local assetHelper = asset.require('util/asset_helper')
local sunTransforms = asset.require('scene/solarsystem/sun/transforms')
local sync = asset.syncedResource({
Name = "Swift Tuttle Orbit",
Type = "HttpSynchronization",
Identifier = "swift_tuttle_horizons",
Version = 1
})
local SwiftTuttleTrail = {
Identifier = "SwiftTuttleTrail",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = sync .. "/horizons_swifttuttle.dat"
},
Color = { 0.9, 0.9, 0.0 },
StartTime = "1879 JUN 27 00:00:00",
EndTime = "2019 JUN 27 00:00:00",
SampleInterval = 60
},
GUI = {
Name = "Swift Tuttle Trail",
Path = "/Solar System/SSSB"
}
}
local SwiftTuttlePosition = {
Identifier = "SwiftTuttlePosition",
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
Transform = {
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = sync .. "/horizons_swifttuttle.dat"
},
},
GUI = {
Name = "Swift Tuttle Position",
Path = "/Solar System/SSSB"
}
}
assetHelper.registerSceneGraphNodesAndExport(asset, { SwiftTuttlePosition, SwiftTuttleTrail })
-28
View File
@@ -1,28 +0,0 @@
asset.require('./base')
--asset.request('scene/solarsystem/planets/earth/satellites/satellites_all')
asset.request('scene/solarsystem/planets/earth/satellites/satellites_debris')
asset.onInitialize(function ()
local now = openspace.time.currentWallTime()
--local now = "2019-06-26T00:00:00"
-- Jump back one day to show a complete planet
openspace.time.setTime(openspace.time.advancedTime(now, "-1d"))
openspace.addVirtualProperty(
"BoolProperty",
"Show Trails",
"Scene.*Trail.Renderable.Enabled",
"Disable or enable all trails of the scene at the same time",
true,
nil,
nil
)
openspace.globebrowsing.goToGeo(58.5877, 16.1924, 20000000)
end)
asset.onDeinitialize(function ()
openspace.removeVirtualProperty("*Trail.Renderable.Enabled")
end)
+37
View File
@@ -0,0 +1,37 @@
local has_touch = openspace.modules.isLoaded('Touch')
if not has_touch then
openspace.printFatal('Could not load scene "' .. asset.filePath .. '" due to missing module "touch"')
do return end
end
asset.require('./base')
local webGui = asset.require('util/webgui')
local earthAsset = asset.require('scene/solarsystem/planets/earth/earth')
asset.onInitialize(function ()
local now = openspace.time.currentWallTime()
-- Jump back one day to be able to show complete weather data on Earth.
openspace.time.setTime(openspace.time.advancedTime(now, "-1d"))
openspace.markInterestingNodes(
{ "Earth", "Mars", "Moon" }
)
openspace.navigation.setNavigationState({
Anchor = earthAsset.Earth.Identifier,
Position = { 58.5877, 16.1924, 20000000 }
})
openspace.setPropertyValueSingle('Scene.Pluto.Renderable.Enabled', false)
openspace.setPropertyValueSingle('Scene.Charon.Renderable.Enabled', false)
openspace.setPropertyValueSingle('Scene.PlutoBarycenterTrail.Renderable.Enabled', false)
webGui.setCefRoute("ontouch")
end)
asset.onDeinitialize(function ()
openspace.removeInterestingNodes(
{ "Earth", "Mars", "Moon" }
)
end)
+4 -12
View File
@@ -10,14 +10,6 @@ local Keybindings = {
GuiPath = "/Native GUI",
Local = true
},
{
Key = "F4",
Name = "Show Performance Measurements",
Command = propertyHelper.invert("RenderEngine.PerformanceMeasurements"),
Documentation = "Toogles performance measurements that shows rendering time informations.",
GuiPath = "/Native GUI",
Local = true
},
{
Key = "ESC",
Name = "Toggle Shutdown",
@@ -28,16 +20,16 @@ local Keybindings = {
{
Key = "PRINT_SCREEN",
Name = "Take Screenshot",
Command = "openspace.setPropertyValueSingle('RenderEngine.TakeScreenshot', nil)",
Documentation = "Saves the contents of the screen to a file in the working directory.",
Command = "openspace.takeScreenshot()",
Documentation = "Saves the contents of the screen to a file in the ${SCREENSHOTS} directory.",
GuiPath = "/Rendering",
Local = true
},
{
Key = "F12",
Name = "Take Screenshot",
Command = "openspace.setPropertyValueSingle('RenderEngine.TakeScreenshot', nil)",
Documentation = "Saves the contents of the screen to a file in the working directory.",
Command = "openspace.takeScreenshot()",
Documentation = "Saves the contents of the screen to a file in the ${SCREENSHOTS} directory.",
GuiPath = "/Rendering",
Local = true
},
+3 -3
View File
@@ -1,14 +1,14 @@
-- Function that returns the string that inverts the fully qualified boolean property 'property'
local invert = function(prop)
local escaped_property = "'" .. prop .. "'"
return "openspace.setPropertyValue(" .. escaped_property .. ", not openspace.getPropertyValue(" .. escaped_property .. "));"
return "openspace.setPropertyValueSingle(" .. escaped_property .. ", not openspace.getPropertyValue(" .. escaped_property .. "));"
end
-- Function that returns the string that increments the 'property' by the 'value'
local increment = function(prop, value)
local v = value or 1
local escaped_property = "'" .. prop .. "'"
return "openspace.setPropertyValue(" .. escaped_property .. ", openspace.getPropertyValue(" .. escaped_property .. ") + " .. v .. ");"
return "openspace.setPropertyValueSingle(" .. escaped_property .. ", openspace.getPropertyValue(" .. escaped_property .. ") + " .. v .. ");"
end
-- Function that returns the string that decrements the 'property' by the 'value'
@@ -21,7 +21,7 @@ local fade = function(prop, value, duration)
assert(type(duration) == "number", "duration must be a number")
local escaped_property = "'" .. prop .. "'"
return "openspace.setPropertyValue(" .. escaped_property ..", " .. tostring(value) .. ", " .. tostring(duration) .. ")"
return "openspace.setPropertyValueSingle(" .. escaped_property ..", " .. tostring(value) .. ", " .. tostring(duration) .. ")"
end
local fadeOut = function(prop, duration)
@@ -0,0 +1,21 @@
asset.onInitialize(function ()
-- Disable the server, add production gui endpoint, and restart server.
-- The temporary disabling avoids restarting the server on each property change.
-- TODO: Add a trigger property to the module to restart the server "manually"
-- and remove automatic restart on each property change,
-- since frequent restarting seems to be unstable on mac.
local enabled = openspace.getPropertyValue("Modules.WebGui.ServerProcessEnabled")
openspace.setPropertyValueSingle("Modules.WebGui.ServerProcessEnabled", false)
local directories = openspace.getPropertyValue("Modules.WebGui.Directories")
directories[#directories + 1] = "screenshots"
directories[#directories + 1] = "${SCREENSHOTS}"
openspace.setPropertyValueSingle("Modules.WebGui.Directories", directories)
openspace.setPropertyValueSingle("Modules.WebGui.ServerProcessEnabled", enabled)
end)
asset.onDeinitialize(function ()
-- TODO: Remove endpoints. As of 2019-10-29, OpenSpace sometimes
-- crashes when endpoints are removed while the application is closing.
end)
+2 -2
View File
@@ -7,8 +7,8 @@ local Keybindings = {
{
Key = "F7",
Name = "Take Screenshot",
Command = "openspace.setPropertyValueSingle('RenderEngine.TakeScreenshot', nil)",
Documentation = "Saves the contents of the screen to a file in the working directory.",
Command = "openspace.takeScreenshot()",
Documentation = "Saves the contents of the screen to a file in the ${SCREENSHOTS} directory.",
GuiPath = "/Rendering",
Local = true
}
+17 -11
View File
@@ -3,7 +3,7 @@ asset.require('./static_server')
local guiCustomization = asset.require('customization/gui')
-- Select which commit hashes to use for the frontend and backend
local frontendHash = "129a2c70ec8179b193fdb3a689c37bd65418ac22"
local frontendHash = "7f464f7ede73b0e9edd1869eeb90465a5194dd29"
local dataProvider = "data.openspaceproject.com/files/webgui"
local frontend = asset.syncedResource({
@@ -37,16 +37,6 @@ asset.onInitialize(function ()
openspace.setPropertyValueSingle("Modules.WebGui.DefaultEndpoint", "frontend")
openspace.setPropertyValueSingle("Modules.WebGui.ServerProcessEnabled", enabled)
if guiCustomization.webguiDevelopmentMode then
-- Route CEF to the deveopment version of the GUI.
-- This must be manually served using `npm start`
-- in the OpenSpace-WebGuiFrontend repository.
openspace.setPropertyValueSingle(
"Modules.CefWebGui.GuiUrl",
"http://127.0.0.1:4690/frontend/#/onscreen"
)
end
-- The GUI contains date and simulation increment,
-- so let's remove these from the dashboard.
if openspace.getPropertyValue('Modules.CefWebGui.Visible') then
@@ -76,3 +66,19 @@ asset.onDeinitialize(function ()
-- need to address in webguimodule.cpp
--openspace.setPropertyValueSingle("Modules.WebGui.Directories", newDirectories)
end)
function setCefRoute(route)
local port = 4680
-- As a developer, you can manually serve the webgui from port 4690
-- with the command `npm start` in the web gui repository
if guiCustomization.webguiDevelopmentMode then
port = 4690
end
openspace.setPropertyValueSingle(
"Modules.CefWebGui.GuiUrl",
"http://127.0.0.1:" .. port .. "/frontend/#/" .. route
)
end
asset.export("setCefRoute", setCefRoute)
+6
View File
@@ -36,6 +36,12 @@ namespace openspace::documentation { struct Documentation; }
namespace openspace::configuration {
struct Configuration {
Configuration() = default;
Configuration(Configuration&&) = default;
Configuration(const Configuration&) = delete;
Configuration& operator=(const Configuration&) = delete;
Configuration& operator=(Configuration&&) = default;
std::string windowConfiguration = "${CONFIG}/single.xml";
std::string asset;
std::vector<std::string> globalCustomizationScripts;
+3
View File
@@ -53,6 +53,7 @@ namespace configuration { struct Configuration; }
namespace interaction {
struct JoystickInputStates;
struct WebsocketInputStates;
class InteractionMonitor;
class KeybindingManager;
class NavigationHandler;
class SessionRecording;
@@ -87,6 +88,7 @@ VersionChecker& gVersionChecker();
VirtualPropertyManager& gVirtualPropertyManager();
WindowDelegate& gWindowDelegate();
configuration::Configuration& gConfiguration();
interaction::InteractionMonitor& gInteractionMonitor();
interaction::JoystickInputStates& gJoystickInputStates();
interaction::WebsocketInputStates& gWebsocketInputStates();
interaction::KeybindingManager& gKeybindingManager();
@@ -120,6 +122,7 @@ static VersionChecker& versionChecker = detail::gVersionChecker();
static VirtualPropertyManager& virtualPropertyManager = detail::gVirtualPropertyManager();
static WindowDelegate& windowDelegate = detail::gWindowDelegate();
static configuration::Configuration& configuration = detail::gConfiguration();
static interaction::InteractionMonitor& interactionMonitor = detail::gInteractionMonitor();
static interaction::JoystickInputStates& joystickInputStates =
detail::gJoystickInputStates();
static interaction::WebsocketInputStates& websocketInputStates =
+5 -1
View File
@@ -107,7 +107,7 @@ struct WindowDelegate {
bool (*isFisheyeRendering)() = []() { return false; };
void (*takeScreenshot)(bool applyWarping) = [](bool) { };
unsigned int(*takeScreenshot)(bool applyWarping) = [](bool) { return 0u; };
void (*swapBuffer)() = []() {};
@@ -118,6 +118,10 @@ struct WindowDelegate {
double (*getHorizFieldOfView)() = []() { return 0.0; };
void (*setHorizFieldOfView)(float hFovDeg) = [](float) { };
void* (*getNativeWindowHandle)(size_t windowIndex) = [](size_t) -> void* {
return nullptr;
};
using GLProcAddress = void(*)(void);
@@ -0,0 +1,70 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2019 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef __OPENSPACE_CORE___INTERACTIONMONITOR___H__
#define __OPENSPACE_CORE___INTERACTIONMONITOR___H__
#include <openspace/properties/propertyowner.h>
#include <openspace/properties/scalar/boolproperty.h>
#include <openspace/properties/scalar/floatproperty.h>
namespace openspace::interaction {
/**
* The class InteractionMonitor keeps track of user interactions during an OpenSpace
* session. It keeps track of when the latest interaction was made and of when the state
* changes to idle.
*/
class InteractionMonitor : public properties::PropertyOwner {
public:
InteractionMonitor();
void setActivityState(bool isActive);
void setIdleTime(float time);
/*
* Called every frame from OpenSpaceEngine and calculates the activity state depending
* on the last registered interaction.
*/
void updateActivityState();
/*
* Called from all places we want to mark activity from. Updates the last registered
* interaction time
*/
void markInteraction();
private:
double _lastInteractionTime = 0;
properties::BoolProperty _isInActiveState;
properties::FloatProperty _idleTime; // in seconds
// @TODO (lovisa) make a list of interactions to listen for
// and only allow registering updates from those interactions
};
} // namespace openspace::interaction
#endif // __OPENSPACE_CORE___INTERACTIONMONITOR___H__
@@ -80,6 +80,10 @@ public:
void deinitialize();
// Mutators
void setFocusNode(SceneGraphNode* node);
void resetCameraDirection();
void setNavigationStateNextFame(NavigationState state);
void setCamera(Camera* camera);
void setInterpolationTime(float durationInSeconds);
@@ -92,6 +96,7 @@ public:
// Accessors
Camera* camera() const;
const SceneGraphNode* anchorNode() const;
const InputState& inputState() const;
const OrbitalNavigator& orbitalNavigator() const;
OrbitalNavigator& orbitalNavigator();
@@ -131,6 +136,7 @@ public:
WebsocketCameraStates::AxisNormalize shouldNormalize =
WebsocketCameraStates::AxisNormalize::No);
NavigationState navigationState() const;
NavigationState navigationState(const SceneGraphNode& referenceFrame) const;
void saveNavigationState(const std::string& filepath,
@@ -64,6 +64,8 @@ public:
void setCamera(Camera* camera);
void clearPreviousState();
SceneGraphNode* focusNode() const;
void setFocusNode(const SceneGraphNode* focusNode);
void setFocusNode(const std::string& focusNode);
void setAnchorNode(const std::string& anchorNode);
void setAimNode(const std::string& aimNode);
@@ -118,7 +120,6 @@ private:
properties::FloatProperty friction;
};
void setFocusNode(const SceneGraphNode* focusNode);
void setAnchorNode(const SceneGraphNode* anchorNode);
void setAimNode(const SceneGraphNode* aimNode);
@@ -141,7 +142,11 @@ private:
properties::FloatProperty _followAnchorNodeRotationDistance;
properties::FloatProperty _minimumAllowedDistance;
properties::FloatProperty _flightDestinationDistance;
properties::BoolProperty _applyLinearFlight;
properties::FloatProperty _velocitySensitivity;
properties::FloatProperty _mouseSensitivity;
properties::FloatProperty _joystickSensitivity;
properties::FloatProperty _websocketSensitivity;
@@ -246,6 +251,18 @@ private:
const glm::dvec3& objectPosition, const glm::dquat& globalCameraRotation,
const SurfacePositionHandle& positionHandle) const;
/**
* Moves the camera along a vector, camPosToCenterPosDiff, until it reaches the focusLimit.
* The velocity of the zooming depend on distFromCameraToFocus and the final frame
* where the camera stops moving depends on the distance set in the variable focusLimit.
* The bool determines whether to move/fly towards the focus node or away from it.
* \returns a new position of the camera, closer to the focusLimit than the previous
* position.
*/
glm::dvec3 moveCameraAlongVector(const glm::dvec3& camPos,
double distFromCameraToFocus, const glm::dvec3& camPosToCenterPosDiff,
double destination) const;
/*
* Adds rotation to the camera position so that it follows the rotation of the anchor
* node defined by the differential anchorNodeRotationDiff.
+3
View File
@@ -28,6 +28,7 @@
#include <openspace/properties/propertyowner.h>
#include <openspace/properties/scalar/boolproperty.h>
#include <openspace/properties/vector/ivec2property.h>
#include <openspace/rendering/dashboarditem.h>
#include <ghoul/glm.h>
#include <memory>
@@ -50,6 +51,7 @@ public:
void removeDashboardItem(const std::string& identifier);
void removeDashboardItem(int index);
void clearDashboardItems();
glm::vec2 getStartPositionOffset();
/**
* Returns the Lua library that contains all Lua functions available to affect the
@@ -59,6 +61,7 @@ public:
private:
properties::BoolProperty _isEnabled;
properties::IVec2Property _startPositionOffset;
std::vector<std::unique_ptr<DashboardItem>> _items;
};
+1 -1
View File
@@ -94,6 +94,7 @@ public:
protected:
properties::BoolProperty _enabled;
properties::FloatProperty _opacity;
properties::FloatProperty _boundingSphere;
properties::StringProperty _renderableType;
void setRenderBinFromOpacity();
@@ -101,7 +102,6 @@ protected:
private:
RenderBin _renderBin = RenderBin::Opaque;
float _boundingSphere = 0.f;
};
} // namespace openspace
+8 -4
View File
@@ -142,9 +142,14 @@ public:
void setResolveData(ghoul::Dictionary resolveData);
/**
* Mark that one screenshot should be taken
* Take a screenshot and store in the ${SCREENSHOTS} directory
*/
void takeScreenShot();
void takeScreenshot();
/**
* Get the filename of the latest screenshot
*/
unsigned int latestScreenshotNumber() const;
/**
* Returns the Lua library that contains all Lua functions available to affect the
@@ -187,8 +192,6 @@ private:
properties::BoolProperty _showVersionInfo;
properties::BoolProperty _showCameraInfo;
properties::TriggerProperty _takeScreenshot;
bool _shouldTakeScreenshot = false;
properties::BoolProperty _applyWarping;
properties::BoolProperty _showFrameInformation;
#ifdef OPENSPACE_WITH_INSTRUMENTATION
@@ -226,6 +229,7 @@ private:
properties::Vec3Property _masterRotation;
uint64_t _frameNumber = 0;
unsigned int _latestScreenshotNumber = 0;
std::vector<ghoul::opengl::ProgramObject*> _programs;
+16
View File
@@ -29,12 +29,16 @@
#include <openspace/properties/stringproperty.h>
#include <openspace/properties/scalar/boolproperty.h>
#include <openspace/properties/scalar/doubleproperty.h>
#include <openspace/properties/scalar/floatproperty.h>
#include <openspace/properties/vector/ivec2property.h>
#include <ghoul/glm.h>
#include <ghoul/misc/boolean.h>
#include <atomic>
#include <functional>
#include <memory>
#include <vector>
#include <chrono>
//#define Debugging_Core_SceneGraphNode_Indices
@@ -149,6 +153,7 @@ private:
glm::dvec3 calculateWorldPosition() const;
glm::dmat3 calculateWorldRotation() const;
double calculateWorldScale() const;
void computeScreenSpaceData(RenderData& newData);
std::atomic<State> _state = State::Loaded;
std::vector<std::unique_ptr<SceneGraphNode>> _children;
@@ -187,6 +192,17 @@ private:
glm::dmat4 _modelTransformCached;
glm::dmat4 _inverseModelTransformCached;
properties::BoolProperty _computeScreenSpaceValues;
properties::IVec2Property _screenSpacePosition;
properties::BoolProperty _screenVisibility;
properties::DoubleProperty _distFromCamToNode;
properties::DoubleProperty _screenSizeRadius;
properties::FloatProperty _visibilityDistance;
// This variable is used for the rate-limiting of the screenspace positions (if they
// are calculated when _computeScreenSpaceValues is true)
std::chrono::high_resolution_clock::time_point _lastScreenSpaceUpdateTime;
#ifdef Debugging_Core_SceneGraphNode_Indices
int index = 0;
static int nextIndex;
+1
View File
@@ -101,6 +101,7 @@ public:
// Right now this function returns the actual combined matrix which makes some
// of the old calls to the function wrong..
const glm::dmat4& combinedViewMatrix() const;
const glm::dmat4& combinedViewMatrixNoScale() const;
void invalidateCache();
+6
View File
@@ -141,6 +141,7 @@ public:
HttpDownload();
HttpDownload(HttpDownload&& d) = default;
HttpDownload& operator=(HttpDownload&&) = default;
virtual ~HttpDownload() = default;
void onProgress(ProgressCallback progressCallback);
void onHeader(HeaderCallback headerCallback);
@@ -169,6 +170,7 @@ class SyncHttpDownload : public virtual HttpDownload {
public:
SyncHttpDownload(std::string url);
SyncHttpDownload(SyncHttpDownload&& d) = default;
SyncHttpDownload& operator=(SyncHttpDownload&&) = default;
virtual ~SyncHttpDownload() = default;
void download(HttpRequest::RequestOptions opt);
@@ -182,6 +184,7 @@ class AsyncHttpDownload : public virtual HttpDownload {
public:
AsyncHttpDownload(std::string url);
AsyncHttpDownload(AsyncHttpDownload&& d);
AsyncHttpDownload& operator=(AsyncHttpDownload&&) = default;
virtual ~AsyncHttpDownload() = default;
void start(HttpRequest::RequestOptions opt);
void cancel();
@@ -208,6 +211,7 @@ public:
HttpFileDownload() = default;
HttpFileDownload(std::string destination, Overwrite = Overwrite::No);
HttpFileDownload(HttpFileDownload&& d) = default;
HttpFileDownload& operator=(HttpFileDownload&&) = default;
virtual ~HttpFileDownload() = default;
const std::string& destination() const;
@@ -233,6 +237,8 @@ class HttpMemoryDownload : public virtual HttpDownload {
public:
HttpMemoryDownload() = default;
HttpMemoryDownload(HttpMemoryDownload&& d) = default;
HttpMemoryDownload& operator=(HttpMemoryDownload&&) = default;
virtual ~HttpMemoryDownload() = default;
const std::vector<char>& downloadedData() const;

Some files were not shown because too many files have changed in this diff Show More