Commit 9a44d9c9 authored by Gene Payne's avatar Gene Payne Committed by Alexander Bock
Browse files

Modified SGCT configuration commands to allow aspect ratio tracked keyword in...

Modified SGCT configuration commands to allow aspect ratio tracked keyword in openspace config file (#560)
parent d64a0df5
master content/2012EventProfile elumenati/spout-implementation elumenati/spoutImplementation feature/2012Fieldlines feature/WSA feature/apollo-missions feature/arrow-renderable feature/asset-helper feature/asset-meta-update-part2 feature/asset-require feature/atmosphere-stars-rendering feature/bufferTransferTestings feature/camera-control-during-path feature/camera-path-stability feature/cef-update feature/change-renderbin-runtime feature/cmake feature/codegen-lua feature/codegen-lua-jenkins feature/compile-times feature/direction-hint-renderable feature/downscaledATM feature/du-meshes-selection feature/fieldlines feature/gamma-correction feature/geojson feature/geojson-renderable feature/getting-started-tour feature/grid-labels feature/grids-update feature/gui-mouseinteraction-fix feature/horizons-framework feature/horizons-unit-tests feature/idle-behavior-updates feature/imageTestKeys2Actions feature/jenkins-codegen feature/jenkins-fix feature/jenkins-timeout feature/juice feature/jwst-pointing feature/jwst-trail-update feature/jwst-update feature/labels-rendering feature/location-measure feature/macos feature/mars-moons feature/mas-model feature/missions feature/model-opacity feature/molecule_rendering feature/mollwide-projection feature/multiple-endpoints feature/orientation-check feature/paper-atmosphere feature/properties-visibility feature/renderable-enabled-event feature/rover-visualization feature/satellites feature/saturn-shepherd-moons feature/science-on-the-sphere feature/sgct-framebuffer-fixes feature/sgct-gui feature/sgct-gui-editable feature/sgct-gui-jenkins feature/sgct-json feature/sgct-ui feature/side-by-side-removal feature/skybrowser feature/skybrowser-cleanup feature/skybrowser-drag-and-drop feature/skybrowser-reload feature/solarbrowsing feature/spacecraft-instruments feature/spaceweather-stream feature/spice-update feature/state-with-time feature/tileprovider-minlevel feature/tileproviders feature/tle-bodymass feature/touchEventListener feature/transparency-rendering-last feature/ubuntu2204 feature/unit-tests feature/updateTSP feature/userproperties feature/various-changes feature/video-on-globe feature/visual-testing feature/visual-testing-try2 feature/volume-fixes feature/warnings feature/wormhole feature/xbox-update hotfix/scaling integration/atm-paper-fixes-2 integration/moon-mars-show integration/paper-atmosphere issue/1043 issue/1161 issue/1279 issue/1366-2 issue/1479 issue/1559 issue/1607 issue/1666 issue/1707 issue/1751 issue/1814 issue/1827 issue/1842 issue/1845 issue/1851 issue/1905 issue/1908 issue/1910 issue/1911 issue/1964 issue/1989 issue/1995 issue/2029 issue/2055 issue/2093 issue/2111 issue/2118 issue/2121 issue/2127 issue/2133 issue/2137 issue/2194 issue/2207 issue/2209 issue/2212 issue/2236 issue/2259 issue/2261 issue/2266 issue/2269 issue/843 issue/888 issue/hdrModels jenkins/1 jenkins/2 jenkins/2286 jenkins/utah-test-1 project/2021-wisdome-installation project/climate project/exoplanet-explorer project/exoplanets-expert-tool project/lights-2020-installation project/spaceship-installation project/spvl rc/0.18.1 temp/skybrowser-animation-fixes-merge thesis/2017/mars-rover-visualization thesis/2018/data-loader thesis/2018/dsn thesis/2018/flightcontroller thesis/2018/mas-model thesis/2019/spaceDebris thesis/2019/spaceweather-stream thesis/2020/software-integration thesis/2020/sonification thesis/2021/airtraffic thesis/2021/fieldlines thesis/2021/multiuser-collab thesis/2021/multiuser-collab3 thesis/2021/skybrowser thesis/2022/climate thesis/2022/cosmic-view thesis/2022/fieldline-rendering thesis/2022/remote-streaming thesis/2022/software-integration thesis/2022/software-integration_dod thesis/2022/software-integration_receive-ra-dec thesis/2022/software-integration_refactor-simp thesis/2022/software-integration_velocity-support thesis/2022/streaming vislabs/release/2.1 research/atmospheres releases/v0.18.0 releases/v0.17.2 releases/v0.17.1 releases/v0.17.0 releases/v0.16.1 releases/v0.16.0 releases/v0.15.2 releases/v0.15.1 releases/v0.15.0 releases/v0.14.1 releases/v0.14.0 releases/v0.13.0 releases/v0.12.0 releases/beta/beta-9 releases/beta/beta-8 releases/beta/beta-7 releases/beta/beta-5 releases/beta/beta-4_2 releases/beta/beta-4 releases/beta/beta-3 releases/beta/beta-2 dev/fc-port-change beta/beta-4_2 beta/beta-4 beta/beta-3 beta/beta-2
No related merge requests found
Showing with 44 additions and 21 deletions
+44 -21
......@@ -7,13 +7,13 @@ return {
-- occurs in a single window, a fisheye projection, or a dome cluster system
-- A regular 1280x720 window
SGCTConfig = sgct.config.single{},
SGCTConfig = sgct.config.single{tracked=true},
-- A regular 1920x1080 window
-- SGCTConfig = sgct.config.single{1920, 1080},
-- SGCTConfig = sgct.config.single{1920, 1080, tracked=true},
-- A windowed 1920x1080 fullscreen
-- SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
-- SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1", tracked=true},
-- A 1k fisheye rendering
-- SGCTConfig = sgct.config.fisheye{1024, 1024},
......@@ -22,7 +22,7 @@ return {
-- SGCTConfig = sgct.config.fisheye{1024, 1024, res={4096, 4096}, quality="2k", tilt=27},
-- Streaming OpenSpace via Spout to OBS
-- SGCTConfig = sgct.config.single{2560, 1440, shared=true, name="WV_OBS_SPOUT1"},
-- SGCTConfig = sgct.config.single{2560, 1440, shared=true, name="WV_OBS_SPOUT1", tracked=true},
-- SGCTConfig = "${CONFIG}/spout_output.xml",
......
......@@ -94,10 +94,10 @@ function sgct.config.cube(arg) end
##########################################################################################
]]--
function generateSingleViewportFOV(down, up, left, right)
function generateSingleViewportFOV(down, up, left, right, tracked)
return
[[
<Viewport>
<Viewport ]]..tracked..[[>
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<PlanarProjection>
......@@ -110,10 +110,10 @@ end
function generateSingleViewport(lowerLeft, upperLeft, upperRight)
function generateSingleViewport(lowerLeft, upperLeft, upperRight, tracked)
return
[[
<Viewport>
<Viewport ]]..tracked..[[>
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<Projectionplane>
......@@ -127,7 +127,7 @@ end
function generateFisheyeViewport(fov, quality, tilt, background, crop, offset)
function generateFisheyeViewport(fov, quality, tilt, background, crop, offset, trackedSpecifier)
local b = [[
<Background
r="]]..background["r"]..[["
......@@ -161,7 +161,7 @@ function generateFisheyeViewport(fov, quality, tilt, background, crop, offset)
end
return [[
<Viewport name="fisheye">
<Viewport name="fisheye" ]]..trackedSpecifier..[[>
<Pos x="0.0" y="0.0" />
<Size x="1.0" y="1.0" />
<FisheyeProjection fov="]]..fov..[[" quality="]]..quality..[[" tilt="]]..tilt..[[">
......@@ -679,14 +679,20 @@ function sgct.config.single(arg)
arg["fov"] = { down = 16.875, up = 16.875, left = 30.0, right = 30.0 }
end
end
if (arg["tracked"] ~= nil and arg["tracked"] == true) then
trackedSpecifier = "tracked=\"true\""
else
trackedSpecifier = "tracked=\"false\""
end
arg["viewport"] = generateSingleViewportFOV(
arg["fov"]["down"],
arg["fov"]["up"],
arg["fov"]["left"],
arg["fov"]["right"]
arg["fov"]["right"],
trackedSpecifier
)
return sgct.makeConfig(generateSingleWindowConfig(arg))
end
......@@ -766,13 +772,20 @@ function sgct.config.fisheye(arg)
arg["background"] = { r = 0.1, g = 0.1, b = 0.1, a = 1.0 }
end
if (arg["tracked"] ~= nil and arg["tracked"] == true) then
trackedSpecifier = "tracked=\"true\""
else
trackedSpecifier = "tracked=\"false\""
end
arg["viewport"] = generateFisheyeViewport(
arg["fov"],
arg["quality"],
arg["tilt"],
arg["background"],
arg["crop"],
arg["offset"]
arg["offset"],
trackedSpecifier
)
return sgct.makeConfig(generateSingleWindowConfig(arg))
......@@ -781,7 +794,7 @@ end
function sgct.config.cube(arg)
function getCubeWindow(location, res, size)
function getCubeWindow(location, res, size, trackedSpecifier)
local pos
local lowerLeft
local upperLeft
......@@ -826,14 +839,14 @@ function sgct.config.cube(arg)
arg["windowSize"] = size
arg["windowPos"] = pos
arg["res"] = { res, res }
arg["viewport"] = generateSingleViewport(lowerLeft, upperLeft, upperRight)
arg["viewport"] = generateSingleViewport(lowerLeft, upperLeft, upperRight, trackedSpecifier)
return generateWindow(arg)
end
function getControlWindow(down, up, left, right)
function getControlWindow(down, up, left, right, trackedSpecifier)
arg = {}
arg["viewport"] = generateSingleViewportFOV(down, up, left, right)
arg["viewport"] = generateSingleViewportFOV(down, up, left, right, trackedSpecifier)
return generateWindow(arg)
end
......@@ -843,9 +856,19 @@ function sgct.config.cube(arg)
arg["scene"] = generateScene(arg)
arg["settings"] = generateSettings(arg)
arg["window"] = getControlWindow(16.875, 16.875, 30.0, 30.0) .. getCubeWindow('front', res, size) .. getCubeWindow('back', res, size) ..
getCubeWindow('left', res, size) .. getCubeWindow('right', res, size) ..
getCubeWindow('up', res, size) .. getCubeWindow('down', res, size)
if (arg["tracked"] ~= nil and arg["tracked"] == true) then
trackedSpecifier = "tracked=\"true\""
else
trackedSpecifier = "tracked=\"false\""
end
arg["window"] = getControlWindow(16.875, 16.875, 30.0, 30.0, trackedSpecifier) ..
getCubeWindow('front', res, size, trackedSpecifier) ..
getCubeWindow('back', res, size, trackedSpecifier) ..
getCubeWindow('left', res, size, trackedSpecifier) ..
getCubeWindow('right', res, size, trackedSpecifier) ..
getCubeWindow('up', res, size, trackedSpecifier) ..
getCubeWindow('down', res, size, trackedSpecifier)
arg["user"] = generateUser(arg)
arg["capture"] = generateCapture(arg)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment