asset and task for volume rendering

This commit is contained in:
Jonathan Fransson
2019-05-07 15:24:42 -06:00
parent 0e2f4d75a0
commit 82928c11fc
4 changed files with 64 additions and 1 deletions

View File

@@ -35,4 +35,4 @@ local volume = {
}
local objects = { volume }
assetHelper.registerSceneGraphNodes(asset, objects)
assetHelper.registerSceneGraphNodes(asset, objects)

View File

@@ -0,0 +1,38 @@
-- This asset requires OpenSpace to be built with the OPENSPACE_MODULE_VOLUME enabled
-- Before using this asset,
-- the volume data itself needs to be generated,
-- using the task 'data/tasks/volume/debristasks/generate_debris_volume.task'
local assetHelper = asset.require('util/asset_helper')
local transforms = asset.require("scene/solarsystem/planets/earth/transforms")
local earthRadius = 6.371E6
local volume = {
Identifier = "DebrisVolume",
Parent = transforms.EarthBarycenter.Identifier,
Renderable = {
Type = "RenderableTimeVaryingVolume",
SourceDirectory = asset.localResource("generated"),
TransferFunction = asset.localResource("transferfunction.txt"),
StepSize = 0.01,
MinValue = 0,
MaxValue = 1,
GridType = "Cartesian",
SecondsBefore = 24*60*60, -- 50 years before
SecondsAfter = 24*60*60 -- 50 years after
},
GUI = {
Path = "/Volumes"
},
Transform = {
Scale = {
Type = "StaticScale",
Scale = earthRadius
}
}
}
local objects = { volume }
assetHelper.registerSceneGraphNodes(asset, objects)

View File

@@ -0,0 +1,5 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.0 250 250 250 0
mappingkey 1.0 200 200 200 255

View File

@@ -0,0 +1,20 @@
local length = 60
local tasks = {}
for i=1,length do
local radius = 0.5 * (1 - i/length)
local step = string.format("%02d", i-1)
tasks[#tasks+1] = {
Type = "GenerateRawVolumeTask", -- fix name
Input = input
Dimensions = {32, 32, 32},
LowerDomainBound = {-0.5, -0.5, -0.5},
UpperDomainBound = {0.5, 0.5, 0.5},
ValueFunction = fn,
Time = "2018-05-04T00:00:" .. step,
RawVolumeOutput = "${DATA}/assets/scene/solarsystem/planets/earth/satellites/debris/volume/generated/" .. step .. ".rawvolume",
DictionaryOutput = "${DATA}/assets/scene/solarsystem/planets/earth/satellites/debris/volume/generated/" .. step .. ".dictionary"
}
end
return tasks