mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-21 20:39:08 -06:00
asset and task for volume rendering
This commit is contained in:
@@ -35,4 +35,4 @@ local volume = {
|
||||
}
|
||||
|
||||
local objects = { volume }
|
||||
assetHelper.registerSceneGraphNodes(asset, objects)
|
||||
assetHelper.registerSceneGraphNodes(asset, objects)
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
20
data/tasks/volume/debristasks/generate_debris_volume.task
Normal file
20
data/tasks/volume/debristasks/generate_debris_volume.task
Normal 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
|
||||
Reference in New Issue
Block a user