Add files from the previous data submodule

This commit is contained in:
Alexander Bock
2016-02-21 01:52:48 +01:00
parent 58ee7647e8
commit 1905db19ba
220 changed files with 29004 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,96 @@
-------------------------------
UBUNTU FONT LICENCE Version 1.0
-------------------------------
PREAMBLE
This licence allows the licensed fonts to be used, studied, modified and
redistributed freely. The fonts, including any derivative works, can be
bundled, embedded, and redistributed provided the terms of this licence
are met. The fonts and derivatives, however, cannot be released under
any other licence. The requirement for fonts to remain under this
licence does not require any document created using the fonts or their
derivatives to be published under this licence, as long as the primary
purpose of the document is not to be a vehicle for the distribution of
the fonts.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this licence and clearly marked as such. This may
include source files, build scripts and documentation.
"Original Version" refers to the collection of Font Software components
as received under this licence.
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to
a new environment.
"Copyright Holder(s)" refers to all individuals and companies who have a
copyright ownership of the Font Software.
"Substantially Changed" refers to Modified Versions which can be easily
identified as dissimilar to the Font Software by users of the Font
Software comparing the Original Version with the Modified Version.
To "Propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification and with or without charging
a redistribution fee), making available to the public, and in some
countries other activities as well.
PERMISSION & CONDITIONS
This licence does not grant any rights under trademark law and all such
rights are reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Font Software, to propagate the Font Software, subject to
the below conditions:
1) Each copy of the Font Software must contain the above copyright
notice and this licence. These can be included either as stand-alone
text files, human-readable headers or in the appropriate machine-
readable metadata fields within text or binary files as long as those
fields can be easily viewed by the user.
2) The font name complies with the following:
(a) The Original Version must retain its name, unmodified.
(b) Modified Versions which are Substantially Changed must be renamed to
avoid use of the name of the Original Version or similar names entirely.
(c) Modified Versions which are not Substantially Changed must be
renamed to both (i) retain the name of the Original Version and (ii) add
additional naming elements to distinguish the Modified Version from the
Original Version. The name of such Modified Versions must be the name of
the Original Version, with "derivative X" where X represents the name of
the new work, appended to that name.
3) The name(s) of the Copyright Holder(s) and any contributor to the
Font Software shall not be used to promote, endorse or advertise any
Modified Version, except (i) as required by this licence, (ii) to
acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
their explicit written permission.
4) The Font Software, modified or unmodified, in part or in whole, must
be distributed entirely under this licence, and must not be distributed
under any other licence. The requirement for fonts to remain under this
licence does not affect any document created using the Font Software,
except any version of the Font Software extracted from a document
created using the Font Software may only be distributed under this
licence.
TERMINATION
This licence becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
Copyright 2010,2011 Canonical Ltd.
This Font Software is licensed under the Ubuntu Font Licence, Version
1.0. https://launchpad.net/ubuntu-font-licence

9
data/scene/67P/67P.data Normal file
View File

@@ -0,0 +1,9 @@
return {
FileRequest = {
{ Identifier = "67p_textures", Destination = "textures", Version = 1 }
},
TorrentFiles = {
{ File = "67P_rotated_5_130.obj.torrent", Destination = "obj" },
{ File = "RosettaKernels.torrent", Destination = "${SPICE}" }
}
}

133
data/scene/67P/67P.mod Normal file
View File

@@ -0,0 +1,133 @@
return {
-- Comet 67P Body module
{
Name = "67P",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableModelProjection",
Body = "CHURYUMOV-GERASIMENKO",
Geometry = {
Type = "WavefrontGeometry",
ObjFile = "${OPENSPACE_DATA}/scene/67P/obj/67P_rotated_5_130.obj",
Magnification = 0,
},
Textures = {
Type = "simple",
Color = "textures/gray.jpg",
Project = "textures/defaultProj.png",
Default = "textures/defaultProj.png"
},
Rotation = {
Source = "67P/C-G_CK",
Destination = "GALACTIC"
},
Projection = {
Sequence = "${OPENSPACE_DATA}/scene/67P/rosettaimages",
SequenceType = "image-sequence",
Observer = "ROSETTA",
Target = "CHURYUMOV-GERASIMENKO",
Aberration = "NONE",
},
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" },
--NAVCAM = {"NAVCAM"},
["ROSETTA-ORBITER"] = {"ROSETTA" },
CHURYUMOVGERASIMENKO11969R1 = {"CHURYUMOV-GERASIMENKO"},
CHURYUMOVGERASIMENKO = {"CHURYUMOV-GERASIMENKO"},
["CHURYUMOV-GERASIMENKO1(1969R1)"] = {"CHURYUMOV-GERASIMENKO"},
--NAVIGATIONCAMERA = {"NAVCAM" },
},
},
},
Instrument = {
Name = "ROS_NAVCAM-A",
Method = "ELLIPSOID",
Aberration = "NONE",
Fovy = 5.00,
Aspect = 1,
Near = 0.01,
Far = 1000000,
},
},
Ephemeris = {
Type = "Spice",
Body = "CHURYUMOV-GERASIMENKO",
Reference = "GALACTIC",
Observer = "SUN",
Kernels = {
--needed
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp",
-- SPK
--long term orbits loaded first
'${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP',
'${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP',
'${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP',
--Jan 2014 - May 2015 (version match with 00162 ck files)
"${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP",
"${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP",
"${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP",
--SCLK
"${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC",
-- FK
"${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_CHURYUMOV_V01.TF",
"${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF",
-- CK
'${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC',
"${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC",
-- PCK
"${OPENSPACE_DATA}/spice/RosettaKernels/PCK/ROS_CGS_RSOC_V03.TPC",
}
},
GuiName = "/Solar/67P"
},
-- 67P Trail Module
{
Name = "67PTrail",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CHURYUMOV-GERASIMENKO",
Frame = "GALACTIC",
Observer = "SUN",
-- 3 Dummy values for compilation:
TropicalOrbitPeriod = 1000.0,
EarthOrbitRatio = 2,
DayLength = 50,
-- End of Dummy values
RGB = { 0.1, 0.9, 0.2 },
Textures = {
Type = "simple",
Color = "textures/glare.png"
},
},
GuiName = "/Solar/67PTrail"
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,64 @@
return {
-- Volume module
---[[
{
Name = "BatsrusRho",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0.0, 0}
},
Renderable = {
Type = "RenderableVolumeGL",
-- BoxScaling = { 2.8, 1, 1},
VolumeName = "BatsrusRhoVolume",
Volume = "${OPENSPACE_DATA}/batsrus.cdf",
Hints = {
-- Dimensions = {300, 100, 100},
Dimensions = {600, 200, 200},
-- Dimensions = {900, 300, 300},
Model = "BATSRUS",
Variable = "rho",
Cache = true,
--Variables = {"bx", "by", "bz"},
},
TransferFunctionName = "BatsrusRhoTF",
TransferFunction = "transferfunctions/rho.txt",
Sampler = "rhosampler.glsl",
},
GuiName = "/Volumes/Volume"
},
--]
---[[
{
Name = "BatsrusP",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0.0, 0}
},
Renderable = {
Type = "RenderableVolumeGL",
-- BoxScaling = { 2.8, 1, 1},
VolumeName = "BatsrusPVolume",
Volume = "${OPENSPACE_DATA}/batsrus.cdf",
Hints = {
-- Dimensions = {300, 100, 100},
Dimensions = {600, 200, 200},
-- Dimensions = {900, 300, 300},
Model = "BATSRUS",
Variable = "p",
Cache = true,
--Variables = {"bx", "by", "bz"},
},
TransferFunctionName = "BatsrusPTF",
TransferFunction = "transferfunctions/p.txt",
Sampler = "psampler.glsl",
},
GuiName = "/Volumes/Volume"
}
--]]
}

View File

@@ -0,0 +1,5 @@
vec4 pSampler(inout vec4 finalColor, vec3 position) {
float intensity = texture(BatsrusPVolume, position).x;
return texture(BatsrusPTF, intensity);
//blendStep(finalColor, color, stepSize);
}

View File

@@ -0,0 +1,5 @@
vec4 rhoSampler(inout vec4 finalColor, vec3 position) {
float intensity = texture(BatsrusRhoVolume, position).x;
return texture(BatsrusRhoTF, intensity);
//blendStep(finalColor, color, stepSize);
}

View File

@@ -0,0 +1,9 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.1 0 0 0 0
mappingkey 0.2 0 255 255 254
mappingkey 0.3 255 255 255 254
mappingkey 0.4 0 0 0 0
//mappingkey 0.6 255 255 255 100
//mappingkey 0.9 0 0 0 0

View File

@@ -0,0 +1,9 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.1 0 0 0 0
mappingkey 0.2 255 0 255 254
mappingkey 0.3 255 255 255 254
mappingkey 0.4 0 0 0 0
//mappingkey 0.6 255 255 255 100
//mappingkey 0.9 0 0 0 0

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "callisto_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,62 @@
return {
-- Callisto module
{
Name = "Callisto",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_CALLISTO", -- should exist.
Body = "CALLISTO",
Geometry = {
Type = "SimpleSphere",
Radius = { 2.631, 6},
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/callisto.jpg",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Spice",
Body = "CALLISTO",
Reference = "ECLIPJ2000",
Observer = "JUPITER BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_JUPITER",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Callisto"
},
-- CallistoTrail module
{
Name = "CallistoTrail",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CALLISTO",
Frame = "GALACTIC",
Observer = "JUPITER BARYCENTER",
RGB = { 0.4, 0.3, 0.01 },
TropicalOrbitPeriod = 60 ,
EarthOrbitRatio = 0.045,
DayLength = 9.9259,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/CallistoTrail"
}
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "callisto_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,97 @@
return {
-- Callisto module
{
Name = "Callisto",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderablePlanetProjection",
Frame = "IAU_CALLISTO",
Body = "CALLISTO",
Geometry = {
Type = "SimpleSphereProjection",
Radius = { 1.8213, 6 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/callisto.jpg",
Project = "textures/defaultProj.png",
Sequencing = "true",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
},
Projection = {
Observer = "NEW HORIZONS",
Target = "CALLISTO",
Aberration = "NONE",
},
Instrument = {
Name = "NH_LORRI",
Method = "ELLIPSOID",
Aberration = "NONE",
Fovy = 0.2907,
Aspect = 1,
Near = 0.2,
Far = 10000,
},
PotentialTargets = {
"JUPITER", "IO", "EUROPA", "GANYMEDE", "CALLISTO"
}
},
Ephemeris = {
Type = "Spice",
Body = "CALLISTO",
Reference = "ECLIPJ2000",
Observer = "JUPITER BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_CALLISTO",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Jupiter"
},
{
Name = "CallistoText",
Parent = "Callisto",
Renderable = {
Type = "RenderablePlane",
Size = {1.0, 7.4},
Origin = "Center",
Billboard = true,
Texture = "textures/Callisto-Text.png"
},
Ephemeris = {
Type = "Static",
Position = {0, -1, 0, 7}
}
},
-- CallistoTrail module
{
Name = "CallistoTrail",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CALLISTO",
Frame = "GALACTIC",
Observer = "JUPITER BARYCENTER",
RGB = { 0.7, 0.4, 0.2 },
TropicalOrbitPeriod = 80 ,
EarthOrbitRatio = 0.04,
DayLength = 9.9259,
LineFade = 2.0,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/CallistoTrail"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

View File

@@ -0,0 +1,8 @@
return {
FileRequest = {
{ Identifier = "ceres_textures", Destination = "textures", Version = 1 }
},
TorrentFiles = {
{ File = "DawnKernels.torrent", Destination = "${SPICE}" }
}
}

View File

@@ -0,0 +1,69 @@
return {
-- Dwarf planet Ceres Body module
{
Name = "Ceres",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_CERES",
Body = "CERES",
Geometry = {
Type = "SimpleSphere",
Radius = { 6.390, 5 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/gray.png",
},
StartTime = "2010 JAN 01 00:00:00",
EndTime = "2018 JAN 22 12:00:00"
},
Ephemeris = {
Type = "Spice",
Body = "CERES",
Reference = "GALACTIC",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/DawnKernels/pck/dawn_ceres_v01.tpc",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_ceres_140724.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_ceres_110211.bsp",
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_CERES",
Reference = "GALACTIC"
},
GuiName = "/Solar/Ceres"
},
--[[ Ceres Trail Module
{
Name = "CeresTrail",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CERES",
Frame = "GALACTIC",
Observer = "SUN",
-- 3 Dummy values for compilation:
TropicalOrbitPeriod = 500.0,
EarthOrbitRatio = 0.2,
DayLength = 2,
-- End of Dummy values
RGB = { 0.7, 0.5, 0.5 },
Textures = {
Type = "simple",
Color = "textures/glare.png"
},
StartTime = "2010 JAN 01T00:00:00",
EndTime = "2018 JAN 22 12:00:00"
},
GuiName = "/Solar/CeresTrail"
}
--]]
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "charon_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,63 @@
return {
-- Charon module
{
Name = "Charon",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_CHARON",
Body = "CHARON",
Geometry = {
Type = "SimpleSphere",
Radius = { 6.035 , 5 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/gray.jpg",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Spice",
Body = "CHARON",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_CHARON",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Charon"
},
-- CharonTrail module
{
Name = "CharonTrail",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CHARON",
Frame = "GALACTIC",
Observer = "PLUTO BARYCENTER",
RGB = {0.00,0.62,1.00},
TropicalOrbitPeriod = 120 ,
EarthOrbitRatio = 0.03,
DayLength = 1,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/CharonTrail"
}
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "charon_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,115 @@
return {
-- CharonProjection module
{
Name = "Charon",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlanetProjection",
Frame = "IAU_CHARON",
Body = "CHARON",
Geometry = {
Type = "SimpleSphereProjection",
Radius = { 6.035 , 5 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/charon_highres.jpg",
Project = "textures/defaultProj.png",
Sequencing = "true",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
},
Projection = {
Observer = "NEW HORIZONS",
Target = "CHARON",
Aberration = "NONE",
},
Instrument = {
Name = "NH_LORRI",
Method = "ELLIPSOID",
Aberration = "NONE",
Fovy = 0.2907,
Aspect = 1,
Near = 0.2,
Far = 10000,
},
PotentialTargets = {
"PLUTO",
"CHARON"
}
},
Ephemeris = {
Type = "Spice",
Body = "CHARON",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp",
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_CHARON",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Charon"
},
{
Name = "CharonText",
Parent = "Charon",
Renderable = {
Type = "RenderablePlane",
Size = {1.0, 6.3},
Origin = "Center",
Billboard = true,
Texture = "textures/Charon-Text.png"
},
Ephemeris = {
Type = "Static",
Position = {0, -10, 0, 5}
}
},
{
Name = "CharonShadow",
Parent = "Charon",
Renderable = {
Type = "RenderableShadowCylinder",
TerminatorType = "PENUMBRAL",
LightSource = "SUN",
Observer = "NEW HORIZONS",
Body = "CHARON",
BodyFrame = "IAU_CHARON",
MainFrame = "GALACTIC",
Aberration = "NONE",
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 0, 5}
}
},
-- CharonTrail module
{
Name = "CharonTrail",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "CHARON",
Frame = "GALACTIC",
Observer = "PLUTO BARYCENTER",
RGB = {0.00,0.62,1.00},
TropicalOrbitPeriod = 120 ,
EarthOrbitRatio = 0.03,
DayLength = 1,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/CharonTrail"
}
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "general_spk", Destination = "${SPICE}", Version = 1 }
}
}

View File

@@ -0,0 +1,11 @@
return {
-- Solar System module
{
Name = "SolarSystem",
Parent = "Root",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0}
}
},
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,16 @@
return {
-- Stars module
{
Name = "Constellation Bounds",
Parent = "Root",
Renderable = {
Type = "RenderableConstellationBounds",
File = "${OPENSPACE_DATA}/scene/constellationbounds/data/bound_20.dat",
ConstellationFile = "${OPENSPACE_DATA}/scene/constellationbounds/data/constellations.dat",
ReferenceFrame = "J2000"
},
Ephemeris = {
Type = "Static"
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,89 @@
AND Andromeda
LEO Leo
ANT Antila
APS Apus
AQR Aquarius
AQL Aquila
ARA Ara
ARI Aries
AUR Auriga
BOO Bootes
CAE Caelum
CAM Camelopardis
CNC Cancer
CVN Canes Venatici
CMA Canis Major
CMI Canis Minor
CAP Capricornus
CAR Carina
CAS Cassiopeia
CEN Centaurus
CEP Cepheus
CET Cetus
CHA Chamaeleon
CIR Circinus
COL Columba
COM Coma Berenices
CRA Corona Australis
CRB Corona Borealis
CRV Corvus
CRT Crater
CRU Crux
CYG Cygnus
DEL Delphinus
DOR Dorado
DRA Draco
EQU Equuleus
ERI Eridanus
FOR Fornax
GEM Gemini
GRU Grus
HER Hercules
HOR Horologium
HYA Hydra
HYI Hydrus
IND Indus
LAC Lacerta
LMI Leo Minor
LEP Lepus
LIB Libra
LUP Lupus
LYN Lynx
LYR Lyra
MEN Mensa
MIC Microscopium
MON Monoceros
MUS Musca
NOR Norma
OCT Octans
OPH Ophiuchus
ORI Orion
PAV Pavo
PEG Pegasus
PER Perseus
PHE Phoenix
PIC Pictor
PSC Pisces
PSA Pisces Austrinus
PUP Puppis
PYX Pyxis
RET Reticulum
SGE Sagitta
SGR Sagittarius
SCO Scorpius
SCL Sculptor
SCT Scutum
SER1 Serpens Caput
SER2 Serpens Cauda
SEX Sextans
TAU Taurus
TEL Telescopium
TRI Triangulum
TRA Triangulum Australe
TUC Tucana
UMA Ursa Major
UMI Ursa Minor
VEL Vela
VIR Virgo
VOL Volans
VUL Vulpecula

28
data/scene/dawn.scene Normal file
View File

@@ -0,0 +1,28 @@
return {
ScenePath = ".",
CommonFolder = "common",
Camera = {
Focus = "dawn",
Position = {1, 0, 0, 5},
},
Modules = {
"sun",
"mercury",
"venus",
"earth",
"mars",
"jupiter",
"saturn",
"uranus",
"neptune",
"pluto",
"stars",
"milkyway",
"rosetta",
"67P",
"dawn",
"vestaprojection",
"ceres"
}
}

Binary file not shown.

View File

@@ -0,0 +1,9 @@
return {
FileRequest = {
{ Identifier = "dawn_model", Destination = "obj", Version = 1 },
{ Identifier = "dawn_textures", Destination = "textures", Version = 1 }
},
TorrentFiles = {
{ File = "DawnKernels.torrent", Destination = "${SPICE}" }
}
}

803
data/scene/dawn/dawn.mod Normal file
View File

@@ -0,0 +1,803 @@
return {
-- Dawn Body module
{
Name = "Dawn",
Parent = "Root",
Renderable = {
Type = "RenderableModel",
Body = "DAWN",
Geometry = {
Type = "WavefrontGeometry",
ObjFile = "${OPENSPACE_DATA}/scene/dawn/obj/mainbodydawn.obj",
},
Textures = {
Type = "simple",
Color = "textures/gray.png",
},
Rotation = {
Source = "DAWN_SPACECRAFT",
Destination = "GALACTIC"
},
StartTime = "2007 SEP 27 08:15:00",
EndTime = "2012 SEP 12 23:57:00"
},
Ephemeris = {
Type = "Spice",
Body = "DAWN",
Reference = "GALACTIC",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_ref_070926-150201_070829.bsp",
--ik
"${OPENSPACE_DATA}/spice/DawnKernels/ik/dawn_fc_v10.ti",
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp",
-- SPK
"${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_ceres_110211.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_ceres_140724.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/sb_vesta_071107.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_070927_070930_081218_v1.bsp",
--[["${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_070930_071201_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_071201_080205_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080205_080325_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080325_080503_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080503_080601_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080601_080718_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080718_080910_081218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_080910_081022_090218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_081022_081109_090218_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_081109_090228_090306_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_090228_090501_090702_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_090501_090801_090916_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_090801_090915_090923_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_090915_091201_091202_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_091201_100208_100209_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_100208_100316_100323_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_100316_100413_100422_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_100413_100622_100830_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_100622_100824_100830_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_100824_101130_101202_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_101130_110201_110201_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110201_110328_110328_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110328_110419_110420_v1.bsp",--]]
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110416_110802_110913_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110802_110831_110922_v1.bsp",
--[["${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110831_110928_111221_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_110928_111102_120615_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_111102_111210_120618_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_111211_120501_120620_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_120501_120611_120625_v1.bsp",
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_120611_120724_121101_v1.bsp",--]]
"${OPENSPACE_DATA}/spice/DawnKernels/spk/dawn_rec_120724_120913_121213_v1.bsp",
--PCK
--"${OPENSPACE_DATA}/spice/DawnKernels/pck/dawn_vesta_v06.tpc",
--"${OPENSPACE_DATA}/spice/DawnKernels/pck/dawn_ceres_v01.tpc",
--"${OPENSPACE_DATA}/spice/DawnKernels/pck/pck00008.tpc",
-- FK
"${OPENSPACE_DATA}/spice/DawnKernels/fk/dawn_vesta_v00.tf",
"${OPENSPACE_DATA}/spice/DawnKernels/fk/dawn_v12.tf",
--SCLK
"${OPENSPACE_DATA}/spice/DawnKernels/sclk/dawn_203_sclkscet_00039.tsc",
-- CK
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111226_120101.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120102_120108.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120109_120115.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120116_120122.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120123_120129.bc",
-- all space craft CK files, ~10 gb
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120123_120129.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_070927_070930.bc",
--[["${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071001_071007.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071008_071014_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071015_071021.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071022_071028_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071029_071104.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071105_071111.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071112_071118.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071119_071125.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071126_071202.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071203_071209.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071210_071216.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071217_071223.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071224_071230.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_071231_080106.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080107_080113.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080114_080120.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080121_080127.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080128_080203.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080204_080210.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080211_080217.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080218_080224.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080225_080302.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080303_080309.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080310_080316.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080317_080323.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080324_080330.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080331_080406.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080407_080413.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080414_080420.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080421_080427.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080428_080504.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080505_080511.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080512_080518.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080519_080525.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080526_080601.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080602_080608.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080609_080615.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080616_080622.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080623_080629.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080630_080706.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080707_080713.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080714_080720.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080721_080727.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080728_080803.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080804_080810.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080811_080817.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080818_080824.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080825_080831.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080901_080907.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080908_080914.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080915_080921.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080922_080928.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_080929_081005.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081006_081012.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081013_081019.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081020_081026.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081027_081102.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081103_081109.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081110_081116.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081117_081123.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081124_081130.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081201_081207.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081208_081214.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081215_081221.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081222_081228.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_081229_090104.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090105_090111.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090112_090118.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090119_090125.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090126_090201.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090202_090208.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090209_090215.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090216_090222.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090223_090301.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090302_090308.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090309_090315.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090316_090322.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090323_090329.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090330_090405.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090406_090412.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090413_090419.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090420_090426.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090427_090503.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090504_090510.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090511_090517.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090518_090524.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090525_090531.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090601_090607.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090608_090614.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090615_090621.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090622_090628.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090629_090705.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090706_090712.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090713_090719.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090720_090726.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090727_090802.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090803_090809.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090810_090816.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090817_090823.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090824_090830.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090831_090906.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090907_090913.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090914_090920.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090921_090927.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_090928_091004.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091005_091011.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091012_091018.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091019_091025.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091026_091101.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091102_091108.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091109_091115.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091116_091122.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091123_091129.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091130_091206.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091207_091213.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091214_091220.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091221_091227.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_091228_100103.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100104_100110_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100111_100117_v2.bc",--]]
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100118_100124.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100125_100131.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100201_100207.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100208_100214.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100215_100221.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100222_100228.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100301_100307.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100308_100314.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100315_100321.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100322_100328.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100329_100404.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100405_100411.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100412_100418.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100419_100425.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100426_100502.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100503_100509.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100510_100516.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100517_100523.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100524_100530.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100531_100606.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100607_100613.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100614_100620.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100621_100627.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100628_100704.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100705_100711.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100712_100718.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100719_100725.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100726_100801.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100802_100808.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100809_100815.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100816_100822.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100823_100829.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100830_100905.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100906_100912.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100913_100919.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100920_100926.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_100927_101003.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101004_101010.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101011_101017.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101018_101024.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101025_101031.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101101_101107.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101108_101114.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101115_101121.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101122_101128.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101129_101205.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101206_101212.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101213_101219.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101220_101226.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_101227_110102.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110103_110109.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110110_110116.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110117_110123.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110124_110130.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110131_110206.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110207_110213.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110214_110220.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110221_110227.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110228_110306.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110307_110313.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110314_110320.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110321_110327.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110328_110403.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110404_110410.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110411_110417.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110418_110424.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110425_110501.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110502_110508.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110509_110515.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110516_110522.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110523_110529.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110530_110605.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110606_110612.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110613_110619.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110620_110626.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110627_110703.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110704_110710.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110711_110717.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110718_110724.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110725_110731.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110801_110807.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110808_110814.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110815_110821.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110822_110828.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110829_110904.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110905_110911.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110912_110918.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110919_110925.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_110926_111002.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111003_111009.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111010_111016.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111017_111023.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111024_111030.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111031_111106.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111107_111113.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111114_111120.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111121_111127.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111128_111204.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111205_111211.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111212_111218.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111219_111225.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_111226_120101.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120102_120108.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120109_120115.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120116_120122.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120123_120129.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120130_120205.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120206_120212.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120213_120219.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120220_120226.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120227_120304.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120305_120311.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120312_120318.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120319_120325.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120326_120401.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120402_120408.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120409_120415.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120416_120422.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120423_120429.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120430_120506.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120507_120513.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120514_120520.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120521_120527.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120528_120603.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120604_120610.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120611_120617.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120618_120624.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120625_120701.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120702_120708.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120709_120715.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120716_120722.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120723_120729.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120730_120805.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120806_120812.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120813_120819.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120820_120826.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120827_120902.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120903_120909.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_120910_120916.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_f2_3942xxxxx.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_pred_da028b_00_eu.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sc_pred_dc041a_00.bc",
-- Solar array rotation kernels ~ 2gb
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_070927_070930.bc",
--[["${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071001_071007.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071008_071014.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071015_071021.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071022_071028_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071029_071104.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071105_071111.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071112_071118.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071119_071125.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071126_071202.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071203_071209.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071210_071216.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071217_071223.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071224_071230.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_071231_080106.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080107_080113.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080114_080120.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080121_080127.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080128_080203.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080204_080210.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080211_080217.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080218_080224.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080225_080302.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080303_080309.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080310_080316.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080317_080323.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080324_080330.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080331_080406.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080407_080413.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080414_080420.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080421_080427.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080428_080504.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080505_080511.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080512_080518.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080519_080525.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080526_080601.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080602_080608.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080609_080615.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080616_080622.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080623_080629.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080630_080706.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080707_080713.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080714_080720.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080721_080727.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080728_080803.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080804_080810.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080811_080817.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080818_080824.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080825_080831.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080901_080907.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080908_080914.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080915_080921.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080922_080928.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_080929_081005.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081006_081012.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081013_081019.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081020_081026.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081027_081102.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081103_081109.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081110_081116.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081117_081123.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081124_081130.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081201_081207.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081208_081214.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081215_081221.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081222_081228.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_081229_090104.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090105_090111.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090112_090118.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090119_090125.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090126_090201.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090202_090208.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090209_090215.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090216_090222.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090223_090301.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090302_090308.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090309_090315.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090316_090322.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090323_090329.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090330_090405.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090406_090412.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090413_090419.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090420_090426.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090427_090503.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090504_090510.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090511_090517.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090518_090524.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090525_090531.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090601_090607.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090608_090614.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090615_090621.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090622_090628.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090629_090705.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090706_090712.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090713_090719.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090720_090726.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090727_090802.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090803_090809.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090810_090816.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090817_090823.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090824_090830.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090831_090906.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090907_090913.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090914_090920.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090921_090927.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_090928_091004.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091005_091011.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091012_091018.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091019_091025.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091026_091101.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091102_091108.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091109_091115.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091116_091122.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091123_091129.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091130_091206.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091207_091213.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091214_091220.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091221_091227.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_091228_100103.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100104_100110_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100111_100117_v2.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100118_100124.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100125_100131.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100201_100207.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100208_100214.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100215_100221.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100222_100228.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100301_100307.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100308_100314.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100315_100321.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100322_100328.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100329_100404.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100405_100411.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100412_100418.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100419_100425.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100426_100502.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100503_100509.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100510_100516.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100517_100523.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100524_100530.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100531_100606.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100607_100613.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100614_100620.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100621_100627.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100628_100704.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100705_100711.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100712_100718.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100719_100725.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100726_100801.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100802_100808.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100809_100815.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100816_100822.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100823_100829.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100830_100905.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100906_100912.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100913_100919.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100920_100926.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_100927_101003.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101004_101010.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101011_101017.bc", --]]
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101018_101024.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101025_101031.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101101_101107.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101108_101114.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101115_101121.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101122_101128.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101129_101205.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101206_101212.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101213_101219.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101220_101226.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_101227_110102.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110103_110109.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110110_110116.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110117_110123.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110124_110130.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110131_110206.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110207_110213.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110214_110220.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110221_110227.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110228_110306.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110307_110313.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110314_110320.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110321_110327.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110328_110403.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110404_110410.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110411_110417.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110418_110424.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110425_110501.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110502_110508.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110509_110515.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110516_110522.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110523_110529.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110530_110605.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110606_110612.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110613_110619.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110620_110626.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110627_110703.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110704_110710.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110711_110717.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110718_110724.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110725_110731.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110801_110807.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110808_110814.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110815_110821.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110822_110828.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110829_110904.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110905_110911.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110912_110918.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110919_110925.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_110926_111002.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111003_111009.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111010_111016.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111017_111023.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111024_111030.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111031_111106.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111107_111113.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111114_111120.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111121_111127.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111128_111204.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111205_111211.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111212_111218.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111219_111225.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_111226_120101.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120102_120108.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120109_120115.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120116_120122.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120123_120129.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120130_120205.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120206_120212.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120213_120219.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120220_120226.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120227_120304.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120305_120311.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120312_120318.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120319_120325.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120326_120401.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120402_120408.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120409_120415.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120416_120422.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120423_120429.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120430_120506.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120507_120513.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120514_120520.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120521_120527.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120528_120603.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120604_120610.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120611_120617.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120618_120624.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120625_120701.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120702_120708.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120709_120715.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120716_120722.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120723_120729.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120730_120805.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120806_120812.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120813_120819.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120820_120826.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120827_120902.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120903_120909.bc",
"${OPENSPACE_DATA}/spice/DawnKernels/ck/dawn_sa_120910_120916.bc",
}
},
GuiName = "/Solar/Dawn"
},
-- Dawn Solar Array module 1
{
Name = "DawnSolar1",
Parent = "Dawn",
Renderable = {
Type = "RenderableModel",
Body = "DAWN",
Geometry = {
Type = "WavefrontGeometry",
ObjFile = "${OPENSPACE_DATA}/scene/dawn/obj/solarpanelleft.obj",
},
Textures = {
Type = "simple",
Color = "textures/gray.png",
},
Rotation = {
Source = "DAWN_SA-Y",
Destination = "GALACTIC"
},
},
},
-- Dawn Solar Array module 2
{
Name = "DawnSolar2",
Parent = "Dawn",
Renderable = {
Type = "RenderableModel",
Body = "DAWN",
Geometry = {
Type = "WavefrontGeometry",
ObjFile = "${OPENSPACE_DATA}/scene/dawn/obj/solarpanelright.obj",
},
Textures = {
Type = "simple",
Color = "textures/gray.png",
},
Rotation = {
Source = "DAWN_SA+Y",
Destination = "GALACTIC"
},
StartTime = "2007 SEP 27 08:15:00",
EndTime = "2012 SEP 12 12:00:00"
},
},
-- Dawn Trail Module
--[[ {
Name = "DawnTrail1",
Parent = "Root",
Renderable = {
Type = "RenderableTrail",
Body = "DAWN",
Frame = "GALACTIC",
Observer = "SUN",
-- 3 Dummy values for compilation:
TropicalOrbitPeriod = 10000.0,
EarthOrbitRatio = 1,
DayLength = 50,
-- End of Dummy values
RGB = { 0.35, 0.2, 0.45 },
Textures = {
Type = "simple",
Color = "textures/glare.png"
},
StartTime = "2007 SEP 26 13:28:00",
EndTime = "2012 SEP 12 12:00:00"
},
GuiName = "DawnTrail"
},--]]
-- Dawn Trail Module
{
Name = "DawnTrail2",
Parent = "Root",
Renderable = {
Type = "RenderableTrail",
Body = "DAWN",
Frame = "GALACTIC",
Observer = "SUN",
-- 3 Dummy values for compilation:
TropicalOrbitPeriod = 10000.0,
EarthOrbitRatio = 1,
DayLength = 50,
-- End of Dummy values
RGB = { 0.7, 0.4, 0.9 },
Textures = {
Type = "simple",
Color = "textures/glare.png"
},
StartTime = "2007 SEP 26 13:28:00",
EndTime = "2012 SEP 12 12:00:00"
},
GuiName = "DawnTrail"
},
--
-- -- Dawn Trail Module
-- {
-- Name = "DawnTrail3",
-- Parent = "Vesta",
-- Renderable = {
-- Type = "RenderableTrail",
-- Body = "DAWN",
-- Frame = "GALACTIC",
-- Observer = "VESTA",
-- -- 3 Dummy values for compilation:
-- TropicalOrbitPeriod = 100000.0,
-- EarthOrbitRatio = 1,
-- DayLength = 100,
-- -- End of Dummy values
-- RGB = { 0.3, 0.4, 0.9 },
-- Textures = {
-- Type = "simple",
-- Color = "textures/glare.png"
-- },
-- StartTime = "2011 JUL 20 00:00:00",
-- EndTime = "2012 AUG 25 12:00:00"
-- },
-- GuiName = "DawnTrail"
-- },
-- DawnFov 1
{
Name = "Dawn_framing_camera_1",
Parent = "Dawn",
Renderable = {
Type = "RenderableFov",
Body = "DAWN",
Frame = "GALACTIC",
RGB = { 0.8, 0.7, 0.7 },
Textures = {
Type = "simple",
Color = "textures/glare_blue.png",
-- need to add different texture
},
Instrument = {
Name = "DAWN_FC1",
Method = "ELLIPSOID",
Aberration = "NONE",
},
PotentialTargets = {
"VESTA",
"CERES"
}
},
GuiName = "/Solar/Dawn_FC1"
},
-- DawnFov 1
{
Name = "Dawn_framing_camera_2",
Parent = "Dawn",
Renderable = {
Type = "RenderableFov",
Body = "DAWN",
Frame = "GALACTIC",
RGB = { 0.8, 0.7, 0.7 },
Textures = {
Type = "simple",
Color = "textures/glare_blue.png",
-- need to add different texture
},
Instrument = {
Name = "DAWN_FC2",
Method = "ELLIPSOID",
Aberration = "NONE",
},
PotentialTargets = {
"VESTA",
"CERES"
}
},
GuiName = "/Solar/Dawn_FC"
},
}

33
data/scene/default.scene Normal file
View File

@@ -0,0 +1,33 @@
return {
ScenePath = ".",
CommonFolder = "common",
Camera = {
Focus = "Earth",
Position = {1, 0, 0, 5},
},
Modules = {
"sun",
"mercury",
"venus",
"earth",
"mars",
"jupiter",
"saturn",
"uranus",
"neptune",
"stars",
-- "stars-denver",
"milkyway",
-- "milkyway-eso",
--"constellationbounds",
-- "fieldlines",
--"io",
--"europa",
--"ganymede",
--"callisto",
--"gridGalactic",
--"gridEcliptic",
--"gridEquatorial",
}
}

View File

@@ -0,0 +1,54 @@
return {
ScenePath = ".",
CommonFolder = "common",
Camera = {
Focus = "NewHorizons",
Position = {1, 0, 0, 5},
},
Modules = {
"sun",
"mercury",
"venus",
"earth",
"mars",
"saturn",
"uranus",
"neptune",
--"PlutoProjection",
"PlutoProjectionHybrid",
"charonprojection",
"kerberos",
"nix",
"styx",
"hydra",
"stars",
-- "stars-denver",
"milkyway",
-- "milkyway-eso",
"imageplane",
--"constellationbounds",
--"io",
--"europa",
--"ganymede",
--"callisto",
"JupiterProjection",
"ioprojection",
"europaprojection",
"ganymedeprojection",
"callistoprojection",
"newhorizons",
"newhorizonsfov",
--"gridGalactic",
--"gridEcliptic",
--"gridEquatorial",
-- "ephemeris",
-- "newhorizonspath",
-- "newhorizonstrail",
-- "enlil",
-- "volumegl3",
-- "volumegl2",
-- "volumegl",
}
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "earth_textures", Destination = "textures", Version = 1 }
},
}

110
data/scene/earth/earth.mod Normal file
View File

@@ -0,0 +1,110 @@
return {
-- Earth barycenter module
{
Name = "EarthBarycenter",
Parent = "SolarSystemBarycenter",
Static = true,
--[[
Ephemeris = {
Type = "Kepler",
Inclination = 0.00041,
AscendingNode = 349.2,
Perihelion = 102.8517,
SemiMajorAxis = 1.00002,
DailyMotion = 0.9855796,
Eccentricity = 0.0166967,
MeanLongitude = 328.40353
}
--]]
Ephemeris = {
Type = "Static"
}
},
-- Earth module
{
Name = "Earth",
Parent = "EarthBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_EARTH",
Body = "EARTH",
Geometry = {
Type = "SimpleSphere",
Radius = { 6.371, 6 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/earth_bluemarble.jpg",
Night = "textures/earth_night.jpg",
-- Depth = "textures/earth_depth.png"
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Spice",
Body = "EARTH",
Reference = "ECLIPJ2000",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
GuiName = "/Solar/Planets/Earth"
},
-- EarthTrail module
{
Name = "EarthTrail",
Parent = "EarthBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "EARTH",
Frame = "GALACTIC",
Observer = "SUN",
RGB = { 0.5, 0.8, 1.0},
TropicalOrbitPeriod = 365.242,
EarthOrbitRatio = 1,
DayLength = 24
},
GuiName = "/Solar/EarthTrail"
},
{
Name = "EarthMarker",
Parent = "Earth",
Renderable = {
Type = "RenderablePlane",
Size = {3.0, 11.0},
Origin = "Center",
Billboard = true,
Texture = "textures/marker.png"
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 0, 5}
}
}
-- Plane
-- {
-- Name = "EarthPlane",
-- Parent = "Earth",
-- Renderable = {
-- Type = "RenderablePlane",
-- Billboard = true,
-- Size = { 6.371, 6 },
-- Texture = "textures/graph.jpg",
-- Atmosphere = {
-- Type = "Nishita", -- for example, values missing etc etc
-- MieFactor = 1.0,
-- MieColor = {1.0, 1.0, 1.0}
-- }
-- },
-- Ephemeris = {
-- Type = "Static",
-- Position = { 6.371*2, 0, 0, 6},
-- },
-- }
}

111
data/scene/enlil/enlil.cl Normal file
View File

@@ -0,0 +1,111 @@
#include <volume_helpers.cl>
#include <volume_raycasting.cl>
__kernel void volumeraycaster(
__read_only image2d_t _cubeFront,
__read_only image2d_t _cubeBack,
__write_only image2d_t _output,
__read_only image3d_t _voxelData,
__read_only image3d_t _voxelData2,
__read_only RC_TF_TYPE _t1);
bool float3cmp(float3 f1, float3 f2);
bool float3cmp(float3 f1, float3 f2) {
if(f1.x != f2.x)
return false;
if(f1.y != f2.y)
return false;
if(f1.z != f2.z)
return false;
return true;
}
//#define MIP
#define SHOWFUNC
__kernel void volumeraycaster(
__read_only image2d_t _cubeFront,
__read_only image2d_t _cubeBack,
__write_only image2d_t _output,
__read_only image3d_t _voxelData,
__read_only image3d_t _voxelData2,
__read_only RC_TF_TYPE _t1) {
// Kernel should be launched in 2D with one work item per pixel
RC_DEFINE_TEXTUE_COORDINATES(intCoords);
RC_DEFINE_VOLUME3D_DIMENSIONS(voxelDataDimensions,_voxelData);
// Sampler for texture reading
const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE;
const sampler_t transferSampler = CLK_ADDRESS_CLAMP_TO_EDGE |
CLK_NORMALIZED_COORDS_TRUE |
CLK_FILTER_LINEAR;
const sampler_t volumeSampler = CLK_ADDRESS_CLAMP_TO_EDGE |
CLK_FILTER_LINEAR |
CLK_NORMALIZED_COORDS_TRUE;
// Read from textures
float3 front = read_imagef(_cubeFront, sampler, intCoords).xyz;
float3 back = read_imagef(_cubeBack, sampler, intCoords).xyz;
float3 direction;
float tIncr;
float tEnd;
raySetup(front, back, voxelDataDimensions, &direction, &tIncr, &tEnd);
float4 finalColor = (float4)(0.0,0.0,0.0,0.0);
#ifdef MIP
float intensity= 0.0f;
RC_BEGIN_LOOP
float3 position = front + direction * t;
float3 sph_pos = CartesianToSpherical(position);
float4 sp = (float4)(sph_pos.x,sph_pos.y,sph_pos.z,0.0f);
float i = read_imagef(_voxelData, volumeSampler, sp).x;
intensity = max(intensity, i);
RC_END_LOOP(finalColor)
intensity *= 10.0f;
finalColor = (float4)(intensity, intensity,intensity,1.0f);
#else
float4 color;
RC_BEGIN_LOOP
float3 position = front + direction * t;
float3 sph_pos = CartesianToSpherical(position);
float4 sp = (float4)(sph_pos.x,sph_pos.y,sph_pos.z,0.0f);
float intensity1 = read_imagef(_voxelData, volumeSampler, sp).x;
float intensity2 = read_imagef(_voxelData2, volumeSampler, sp).x;
//float intensity = intensity1 - intensity2;
float intensity = intensity1;
intensity = clamp(intensity, 0.0f, 1.0f);
color = read_imagef(_t1, transferSampler, RC_TF_MAP(intensity));
color *= tIncr * 10.0f;
float alpha = (1.0f - finalColor.w);
float outputRed = (finalColor.x ) + (color.x * alpha);
float outputGreen = (finalColor.y ) + (color.y * alpha);
float outputBlue = (finalColor.z ) + (color.z * alpha);
float outputAlpha = finalColor.w + alpha*color.w;
finalColor = (float4)(outputRed, outputGreen, outputBlue, outputAlpha);
RC_END_LOOP(finalColor)
#endif
//finalColor = (float4)(front.x,front.y,front.z,1.0f);
//finalColor = (float4)(back.x,back.y,back.z,1.0f);
write_imagef(_output, intCoords, finalColor);
#ifdef SHOWFUNC
int showfunc_size = 50;
if(intCoords.y > get_global_size(1) - showfunc_size) {
float normalizedIntensity = (float)intCoords.x / (float) get_global_size(0);
float4 tfc = read_imagef(_t1, transferSampler, RC_TF_MAP(normalizedIntensity));
float f = 1.0f;
float4 outcolor = (float4)(tfc.x*f, tfc.y*f, tfc.z*f, tfc.w*f);
write_imagef(_output, intCoords, outcolor);
}
#endif
}

View File

@@ -0,0 +1,33 @@
f = 1;
return {
-- Volume module
{
Name = "Enlil",
Parent = "Root",
Ephemeris = {
Type = "Static",
Position = { 0.0, 0.0, 0.0, 0}
},
RenderableToggle = "e",
Renderable = {
Type = "RenderableVolumeGL",
---[[
BoxScaling = { f, f, f},
VolumeName = "EnlilVolume",
Volume = "${OPENSPACE_DATA}/enlil/Hong_Xie_120312_SH_1.enlil.0016.cdf",
Hints = {
Dimensions = {256, 30, 90},
-- Dimensions = {512, 90, 180},
Model = "ENLIL",
Variable = "rho",
Cache = true,
},
TransferFunctionName = "EnlilTF",
TransferFunction = "transferfunctions/t2.txt",
-- TransferFunction = "transferfunctions/t1.txt",
Sampler = "sampler.glsl",
--]]
},
GuiName = "/Volumes/Volume"
}
}

View File

@@ -0,0 +1,9 @@
vec4 sampleEnlil(inout vec4 finalColor, vec3 position) {
vec3 p = CartesianToSpherical(position);
float intensity = texture(EnlilVolume, p).x;
// float intensity = texture(EnlilVolume, position).x;
// intensity *= 0.001f;
return texture(EnlilTF, intensity);
// color = vec4(1.0,0,0,1);
//blendStep(finalColor, color, stepSize);
}

View File

@@ -0,0 +1,8 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.1 0 0 0 0
mappingkey 0.17 255 50 50 100
mappingkey 0.25 255 0 0 204
mappingkey 0.7 255 255 0 254
mappingkey 0.9 0 0 0 0

View File

@@ -0,0 +1,16 @@
width 1024
lower 0.0
upper 1.0
//mappingkey 0.005 0 0 0 0
//mappingkey 0.1 43 17 39 50
mappingkey 0.1 0 0 0 0
mappingkey 0.2 13 22 101 90
mappingkey 0.3 17 68 131 255
mappingkey 0.4 17 116 109 150
mappingkey 0.5 17 153 70 150
mappingkey 0.6 47 188 17 254
mappingkey 0.7 132 210 17 254
mappingkey 0.8 223 216 99 150
mappingkey 0.9 0 0 0 0
//mappingkey 0.9 255 230 209 70
//mappingkey 0.99 255 255 255 70

View File

@@ -0,0 +1,16 @@
return {
-- Ephemeris module
{
Name = "Ephemeris",
Parent = "Root",
Renderable = {
Type = "RenderableEphemeris",
Textures = {
Type = "simple",
Color = "textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/Ephemeris"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "europa_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,62 @@
return {
-- Europa module
{
Name = "Europa",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_EUROPA", -- should exist.
Body = "EUROPA",
Geometry = {
Type = "SimpleSphere",
Radius = { 1.561, 6},
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/europa.jpg",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Spice",
Body = "EUROPA",
Reference = "ECLIPJ2000",
Observer = "JUPITER BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_JUPITER",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/EUROPA"
},
-- EuropaTrail module
{
Name = "EuropaTrail",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "EUROPA",
Frame = "GALACTIC",
Observer = "JUPITER BARYCENTER",
RGB = { 0.5, 0.3, 0.3 },
TropicalOrbitPeriod = 60,
EarthOrbitRatio = 0.01,
DayLength = 9.9259,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/EuropaTrail"
}
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "europa_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,97 @@
return {
-- Europa module
{
Name = "Europa",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderablePlanetProjection",
Frame = "IAU_EUROPA",
Body = "EUROPA",
Geometry = {
Type = "SimpleSphereProjection",
Radius = { 1.8213, 6 },
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/europa.jpg",
Project = "textures/defaultProj.png",
Sequencing = "true",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
},
Projection = {
Observer = "NEW HORIZONS",
Target = "EUROPA",
Aberration = "NONE",
},
Instrument = {
Name = "NH_LORRI",
Method = "ELLIPSOID",
Aberration = "NONE",
Fovy = 0.2907,
Aspect = 1,
Near = 0.2,
Far = 10000,
},
PotentialTargets = {
"JUPITER", "IO", "EUROPA", "GANYMEDE", "CALLISTO"
}
},
Ephemeris = {
Type = "Spice",
Body = "EUROPA",
Reference = "ECLIPJ2000",
Observer = "JUPITER BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_EUROPA",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Jupiter"
},
{
Name = "EuropaText",
Parent = "Europa",
Renderable = {
Type = "RenderablePlane",
Size = {1.0, 7.4},
Origin = "Center",
Billboard = true,
Texture = "textures/Europa-Text.png"
},
Ephemeris = {
Type = "Static",
Position = {0, -1, 0, 7}
}
},
-- EuropaTrail module
{
Name = "EuropaTrail",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "EUROPA",
Frame = "GALACTIC",
Observer = "JUPITER BARYCENTER",
RGB = { 0.7, 0.4, 0.2 },
TropicalOrbitPeriod = 80 ,
EarthOrbitRatio = 0.009,
DayLength = 9.9259,
LineFade = 2.0,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/EuropaTrail"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,80 @@
#include <volume_helpers.cl>
#include <volume_raycasting.cl>
__kernel void volumeraycaster(
__read_only image2d_t _cubeFront,
__read_only image2d_t _cubeBack,
__write_only image2d_t _output,
__read_only image3d_t _voxelData,
__read_only RC_TF_TYPE _t1);
__kernel void volumeraycaster(
__read_only image2d_t _cubeFront,
__read_only image2d_t _cubeBack,
__write_only image2d_t _output,
__read_only image3d_t _voxelData,
__read_only RC_TF_TYPE _t1) {
// Kernel should be launched in 2D with one work item per pixel
int idx = get_global_id(0);
int idy = get_global_id(1);
int2 intCoords = (int2)(idx, idy);
// Sampler for texture reading
const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE;
const sampler_t transferSampler = CLK_ADDRESS_CLAMP_TO_EDGE |
CLK_NORMALIZED_COORDS_TRUE |
CLK_FILTER_LINEAR;
const sampler_t volumeSampler = CLK_ADDRESS_CLAMP_TO_EDGE |
CLK_FILTER_LINEAR |
CLK_NORMALIZED_COORDS_TRUE;
// Read from textures
float stepSize = 0.01f;
float3 front = read_imagef(_cubeFront, sampler, intCoords).xyz;
float3 back = read_imagef(_cubeBack, sampler, intCoords).xyz;
float3 direction = back - front;
float directionLength = length(direction);
direction = normalize(direction);
float3 position = front;
float intensity= 0.0f;
float4 color = (float4)(0.0,0.0,0.0,0.0);
float4 finalColor = (float4)(0.0,0.0,0.0,0.0);
int4 vol_dim = get_image_dim(_voxelData);
int iterations = directionLength / stepSize;
float iterationsf = iterations;
iterationsf /= 10.0f;
for(int i = 0; i < iterations && finalColor.w < 0.95f; ++i) {
float3 sph_pos = CartesianToSpherical(position);
float4 sp = (float4)(sph_pos.x,sph_pos.y,sph_pos.z,0.0f);
//float4 sp = (float4)(position.x,position.y,position.z,0.0f);
intensity = read_imagef(_voxelData, volumeSampler, sp).x;
//float4 intensityvec = read_imagef(_voxelData, volumeSampler, sp);
color = read_imagef(_t1, transferSampler, RC_TF_MAP(intensity));
color /= iterationsf;
float alpha = (1.0f - finalColor.w);
float outputRed = (finalColor.x ) + (color.x * alpha);
float outputGreen = (finalColor.y ) + (color.y * alpha);
float outputBlue = (finalColor.z ) + (color.z * alpha);
float outputAlpha = finalColor.w + alpha*color.w;
finalColor = (float4)(outputRed, outputGreen, outputBlue, outputAlpha);
//finalColor = max(finalColor, intensityvec);
position = position + direction * stepSize;
}
//color = (float4)(color.x,color.x,color.x,1.0f);
//write_imagef(_output, intCoords, _cubeFront);
//finalColor = (float4)(front.x,front.y,front.z,1.0f);
write_imagef(_output, intCoords, finalColor);
}

View File

@@ -0,0 +1,70 @@
return {
-- Volume module
{
Name = "Volume",
Parent = "Root",
Ephemeris = {
Type = "Static",
Position = { 0, 0, -3.0, 0}
},
Renderable = {
Type = "RenderableVolumeExpert",
--BoxScaling = { 3.0, 1.0, 1.0},
Volumes = {
-- {
-- File = "${OPENSPACE_DATA}/skull.raw",
-- Hints = {
-- Dimensions = {256, 256, 256},
-- Format = "RED",
-- InternalFormat = "R8"
-- },
-- },
---[[
{
File = "${OPENSPACE_DATA}/batsrus.cdf",
Hints = {
Dimensions = {384, 128, 128},
Model = "BATSRUS",
Variable = "rho",
},
},
--]]
--[[
{
File = "${OPENSPACE_DATA}/enlil/Hong_Xie_120312_SH_1.enlil.0009.cdf",
Hints = {
Dimensions = {256, 30, 90},
Model = "ENLIL",
Variable = "rho",
},
},
--]]
},
TransferFunctions = {
--"${CONFIG}/transferfunctions/fire.txt",
"${OPENSPACE_DATA}/scene/expertvolume/transferfunctions/t1.txt",
--"transferfunctions/t1.png",
--"transferfunctions/t2.png"
},
Kernel = {
Source = "${OPENSPACE_DATA}/scene/expertvolume/expertraycaster.cl",
Options = {
OptDisable = true,
KernelArgInfo = true,
},
Definitions = {
MIP = "1",
},
Includes = {
"${KERNELS}/helpers"
},
UpdateOnSave = true,
},
},
GuiName = "/Volumes/Volume"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

View File

@@ -0,0 +1,7 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.001 0 0 30 50
mappingkey 0.1 0 0 30 50
mappingkey 0.2500 200 200 200 200
mappingkey 0.400 200 200 200 200

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

View File

@@ -0,0 +1,354 @@
-1.40366077 -2.58328605 -2.85882258
-1.30365133 2.46371746 -2.88391209
-1.20739436 1.79789424 -3.44295001
-1.50409424 1.95497537 -3.29910135
-1.51304412 -1.91179585 -3.23961115
-1.96535373 2.02154684 -2.96395826
-1.40432334 2.03802443 -3.25463724
-0.72750026 1.44800723 -3.73443007
-1.66311216 2.04028702 -3.05496001
-1.47158325 1.90231133 -3.27752733
-1.42617452 2.03512597 -3.23912692
-1.50861835 1.94991159 -3.29460669
-1.0526185 -1.87805045 -3.4708569
-1.3443222 -2.17070651 -3.22148895
-0.65357345 2.06740236 -3.44256234
-0.17126274 2.08550119 -3.49562144
-1.17840993 2.08279204 -3.26684332
-0.86900091 1.7848165 -3.58722568
-0.85604954 1.76024306 -3.56972313
-0.86146575 1.78953278 -3.58969498
-0.98076111 1.64166903 -3.59271693
-0.10726281 0.95009369 -3.91632199
-1.97822094 3.03269219 -1.79260099
-2.62763309 2.24433517 -2.03949356
-2.13224506 2.30823851 -2.65928292
-2.22580433 2.10271168 -2.72748399
-2.06615162 2.36086822 -2.66438675
-2.01571083 2.2683537 -2.61600256
-2.2004993 2.14244056 -2.739887
-2.05335355 2.32975531 -2.63642454
-1.09721684 -1.66893864 -3.50750828
-1.04115927 -1.61596322 -3.58787704
-1.52784967 -1.97033978 -3.18820405
-1.00486422 -1.81447959 -3.46748161
-1.29695427 -1.98790765 -3.34407997
-1.84723508 -2.09800434 -2.8849504
-0.22169104 1.54287457 -3.76465917
-0.62135971 1.78857934 -3.53224897
-0.56294435 2.01545811 -3.47510099
-0.51255858 1.8216393 -3.57970309
-0.30521658 1.89365137 -3.54289174
-0.07833198 1.50676084 -3.72614503
-1.1762228 2.08713341 -3.25723505
-1.20870733 1.95542371 -3.40218282
-1.24418163 1.93178928 -3.350734
-1.20436954 2.07116508 -3.21149516
-0.91473341 1.76493263 -3.49784231
-1.20970845 2.07511687 -3.22852468
-2.22517252 2.48996329 -2.20592618
-2.21299791 2.51375318 -2.22292137
-2.70094705 1.98957479 -2.1851995
-2.21674848 2.56060958 -2.24080825
-2.69547391 2.23812771 -1.95559347
-2.15880156 2.72531891 -2.15217829
-2.18300557 2.71279144 -2.11865616
-2.21853495 2.68839478 -2.05242491
-2.700418 2.73768902 -1.31726789
-1.70210838 2.06146383 -3.04878116
-1.4689548 1.88529086 -3.23855758
1.37081587 2.49585938 -2.90200472
-0.38580352 1.19105673 -3.8329792
-0.32325575 0.98648018 -3.87452793
-0.71545535 1.72443712 -3.55707002
0.66299284 2.01911616 -3.40957308
0.30796099 1.87884939 -3.58329773
0.20150897 0.62607032 -3.95047903
0.16392744 0.69715583 -3.97179437
-2.04528284 1.96102417 -2.83136964
-1.24335623 1.78917372 -3.4874866
-1.05815554 1.68508101 -3.52923703
-2.21408486 2.06562877 -2.78887463
-2.4440248 1.9693507 -2.50088358
-1.93334568 2.04168868 -2.94446802
-2.17855239 2.02763677 -2.75582194
-1.6494993 1.9982307 -3.14064407
-1.44445682 1.92769396 -3.22536898
-1.66439676 2.02396631 -3.16037154
-1.91688859 2.18917227 -2.87011909
-1.2628516 1.78403461 -3.45909166
-0.45633334 1.14574993 -3.84121251
-1.05851531 1.8835851 -3.48394704
-2.5342443 2.72687936 -1.60414839
1.80066621 2.96999049 -2.01952839
0.90001303 2.06715512 -3.39440727
0.83436316 2.06002378 -3.40774059
0.77735305 2.0611217 -3.43169045
0.72360855 2.06701827 -3.46059346
0.55183005 2.6253829 -3.08837962
-0.76737213 -1.5757972 -3.68759537
0.30184036 -1.65496981 -3.71329236
-1.23149669 -1.9734937 -3.32700491
-0.81522214 -1.66111004 -3.65842772
-1.91185582 -3.39367509 -1.22487068
-2.00422788 -3.15061426 -1.52128315
-2.10851502 -3.0363946 -1.70459604
-1.05579937 -1.61695504 -3.54240108
-1.26067829 -1.94738281 -3.27719617
-1.28071308 -2.02370358 -3.31539202
0.20503834 -1.68464339 -3.69000006
-0.96895957 -1.81628084 -3.55586314
1.67918038 2.01298332 -3.10614896
-0.56875694 1.24940324 -3.84273171
-0.93853754 1.8380959 -3.51111841
-0.90917206 1.80455101 -3.57321525
-1.17640328 1.93162096 -3.42642307
-1.14370716 1.93642986 -3.40209436
-0.58383709 1.72865653 -3.66473579
-0.93148422 1.77447712 -3.48890519
-2.32330394 2.50510883 -2.28773427
-1.24832022 1.92253923 -3.29327011
-1.27394688 2.13661027 -3.20005131
-0.90890098 1.77255869 -3.49342489
-1.22501624 2.16461754 -3.2593503
-0.87547201 1.7906599 -3.54018497
0.77447122 1.9015907 -3.46177363
0.78361475 1.86345112 -3.4721868
0.1989615 1.55754256 -3.71233487
0.06260372 1.92141163 -3.5724709
-0.41810274 1.04396749 -3.8607161
-0.50767767 1.25757635 -3.79639077
-0.55793309 -1.58215749 -3.75160813
-0.81894124 -1.68363833 -3.66349006
-1.75729847 -3.39990616 -1.30111408
-0.47969216 -1.68421853 -3.63162518
-0.22156766 -2.00104213 -3.59088206
-0.04736521 -1.66968298 -3.69899559
-0.12383368 -1.71762419 -3.71681213
-0.9924323 -1.65555263 -3.59770751
-0.79631186 -1.60168064 -3.67667198
-1.19291592 -1.96687567 -3.29474998
-1.11557007 -2.07606769 -3.34631968
-0.79071528 -1.67043853 -3.65968132
-1.35070622 -2.03053784 -3.28841949
-0.99646914 -1.58675063 -3.62261081
-1.42883241 -2.0153966 -3.21603584
-1.4810164 -2.01249075 -3.17613792
-2.43311167 -2.14224768 -2.37124705
-2.1339035 -2.47761822 -2.40140724
-0.397131 -1.72307718 -3.7063396
-0.69877148 -2.13489962 -3.38327551
-0.63646829 -1.87233853 -3.51995182
-0.21586199 -1.71948624 -3.68134117
0.75992888 -1.86718106 -3.47285199
1.19525862 -1.43146026 -3.60749674
1.19923151 -1.25748086 -3.66828799
-1.1983285 -1.80692029 -3.44922686
-0.91690993 -1.72063029 -3.5352931
1.52824581 -0.24777877 -3.70340395
0.25959387 1.88076174 -3.61696911
0.4144772 1.37017429 -3.85231733
-2.7784009 1.78584504 -2.27745986
-2.46505499 2.01530051 -2.46248341
-2.41264105 2.39416385 -2.30471015
-0.88885558 1.78977406 -3.56111002
-1.25042021 2.13305426 -3.24831033
-0.9081471 1.76864302 -3.50835538
0.29636765 1.71202612 -3.72010136
0.27753758 1.66397536 -3.74940944
1.80453444 0.78477216 -3.58078456
0.96102202 1.57774282 -3.56065202
-0.77296102 -1.61998713 -3.58774734
0.13357687 -1.69023132 -3.74845123
-0.54744077 -1.59249079 -3.70316219
-0.79460216 -1.95842254 -3.40885806
-0.66867709 -1.63119411 -3.71528745
-1.01427507 -2.07005095 -3.36152744
-0.72037798 -1.61840641 -3.64671731
-0.93943185 -1.68536925 -3.61791396
0.08097269 -2.11571193 -3.41550183
0.55543727 -1.52642822 -3.72433734
0.64436746 -2.0308075 -3.47388792
0.49747568 -1.86048245 -3.61572552
0.76173079 -1.50255775 -3.74491358
2.52161026 -1.31601417 -2.8980329
-1.07820964 -1.63688111 -3.51327229
-1.3221966 -1.95501721 -3.24152231
-1.32725585 -2.07334042 -3.28914952
-2.47237158 -1.99815834 -2.44165874
-2.61120296 -2.0035708 -2.38578606
-2.53659534 -2.27476001 -2.24538445
-2.03046155 -2.59723306 -2.31599021
-2.20824862 -2.64152932 -2.06639767
-2.44011378 -2.5949564 -1.87302947
-2.04398823 -2.83455706 -2.120507
0.41731128 1.89832449 -3.536865
0.34373185 1.85653794 -3.52693391
1.39334369 -1.12632668 -3.5864203
0.89152187 -1.43038678 -3.75027966
2.31656122 -1.92320836 -2.7141459
1.35834908 -1.4470607 -3.57827568
-1.10869932 -2.02338171 -3.40147781
-0.9954986 -1.63711715 -3.53872538
-0.67480046 -1.59326255 -3.6971128
-1.17201126 -2.00944281 -3.27019429
-0.88365871 -1.73094046 -3.5389688
0.90082097 -1.3614589 -3.73428345
1.53425288 -0.31792021 -3.69660258
1.57665479 -0.66936547 -3.64556813
-0.19181934 0.99495006 -3.8922019
-0.12329441 1.34956288 -3.84032536
0.05704603 0.68323088 -4.05294085
-0.60921597 -1.62042177 -3.63627648
-0.93796098 -1.80891252 -3.50772834
-0.5687235 -1.69683909 -3.70540786
-0.8210327 -1.87020457 -3.53569221
-1.45690274 -1.90395987 -3.2145505
-1.38995957 -1.84556222 -3.3072443
-1.68456829 -2.09683824 -3.06252909
-1.98058641 -2.12507224 -2.77727365
-1.3291173 -1.92191374 -3.3929503
-1.06292343 -1.80626404 -3.42999983
-0.83734149 -1.65428209 -3.5920918
-1.13456857 -1.78366828 -3.49619317
-0.81057709 -1.69091618 -3.66880846
-0.075296 -1.6228205 -3.66100216
0.60664016 -1.41764545 -3.74777603
0.76631236 -1.4234041 -3.71755695
0.57202077 -1.5052259 -3.77331924
0.88719726 -1.28349233 -3.76835132
-0.25896445 1.09167826 -3.93937349
-0.35035357 1.26789582 -3.82071924
-0.45516983 1.19626725 -3.85332656
-3.70416856 0.43014058 -1.54689789
-3.56808686 0.55478895 -1.7593919
-3.96086812 0.44683686 -0.95264012
-3.88365936 0.8355372 -0.84075087
-3.95482421 0.69552064 -0.15776861
-3.70480919 0.58220965 -1.41180038
-3.94093752 0.77968121 -0.16915482
-3.5988338 1.25008988 -1.29578841
-3.7532289 1.18350768 -1.0612036
0.10657211 0.05505309 -4.03169727
0.05454008 0.15113868 -4.02450228
0.1350791 0.27576119 -4.09181023
-0.02210288 -0.47224492 -4.00602341
0.08987899 -0.27634466 -4.0086236
0.01638281 -0.0534625 -4.06656694
0.02366465 -0.06253665 -4.10222673
-0.00549679 0.0184799 -4.05004168
-0.63121605 -1.38077593 -3.81461167
-3.42567062 0.51385599 -2.07107663
-3.13768029 1.18113458 -2.24453139
-3.37646604 0.93772227 -2.12582159
-3.52872205 0.52604175 -2.01673484
-3.5238905 0.38462335 -1.87279987
-3.46599174 1.0643177 -1.75232947
-3.4686029 1.08394861 -1.87742209
-0.39979929 -1.27301931 -3.8519361
-0.40129083 -1.14896667 -3.81433702
-0.69846636 -1.3786453 -3.70017052
-0.68320054 -1.37172782 -3.70481539
-0.75229168 -1.43488204 -3.74155068
-2.88502932 -1.63148189 -2.25531745
-2.90778971 -1.60661054 -2.28973651
-2.99695253 -1.64164972 -2.13480353
-3.18186998 -1.322631 -2.09775424
-3.12936878 -1.50132251 -2.19077396
-3.05581665 -1.70332384 -2.06750917
-3.82593465 -1.38028932 -0.2675553
-3.71463156 -1.55558431 0.18141869
-3.22902036 -2.46925092 0.0788791
-3.49811435 -1.18232834 -1.70887172
-3.39346671 -1.36737275 -1.78717494
-3.18029714 -1.53670919 -1.91098619
-3.13493872 -1.80651069 -1.93290973
-3.58441305 -1.14706087 -1.51187289
-3.59868503 -1.18715262 -1.5945102
-3.63149571 -1.2430414 -1.31159341
-3.6971097 -1.35171115 -1.0061866
-3.73354816 -1.27472329 -1.08543694
-3.4393189 -2.06942868 -0.7499215
0.04746998 0.29882047 -4.04796124
-0.25398088 -0.94791508 -3.95349574
-0.18127561 -0.98251718 -3.9616313
0.19044994 -0.72640431 -4.01627779
-0.31305125 -1.1493479 -3.89634657
-0.27265728 -0.96141744 -3.9406383
-0.24642695 -1.03375494 -3.8795259
-0.31252226 -0.85895336 -3.99664068
-0.20906752 -1.0744276 -3.89389801
-0.35749578 -0.97076416 -3.92105436
-0.3605397 -1.3318063 -3.82614231
-0.14910285 -1.35966134 -3.86707425
0.28190735 -0.61605477 -3.98972511
0.2066882 -0.23561999 -4.03914356
0.39685947 -0.76743716 -3.94599891
0.04188194 -1.09836185 -3.91666532
-0.01679028 -1.1071856 -3.89138579
-0.13170844 -1.17571986 -3.88363528
-0.03887766 -1.32658994 -3.82630348
0.48231298 -0.52873367 -4.02046824
0.39518631 -0.08665476 -4.0822978
-0.16420902 -0.55717587 -4.05457544
-0.1314244 -0.54784745 -4.06932449
-3.43374896 0.16545016 -2.12890601
-3.43094969 0.45175761 -2.1379602
0.01958467 0.46047908 -4.06344986
-0.23661435 -0.64599013 -3.95416999
-0.20886201 -0.59144241 -3.98579502
-0.28996372 -0.80137843 -3.93726563
-0.16944435 -0.47791395 -4.02806473
-0.26823503 -0.78268641 -3.94203448
-0.05341809 -0.33702365 -4.0489049
-0.29450303 -0.8113628 -3.92235303
-0.13922244 -0.65580922 -4.05946016
-0.17117286 -0.72976965 -3.93304205
-0.21025993 -0.72155523 -4.02651358
-0.20174664 -0.67945409 -3.96566844
-0.14880562 -0.62376541 -4.00024033
-0.01121179 -0.73981798 -3.98513341
0.0454476 -0.63547081 -4.02429867
0.03723778 -0.37770998 -4.0566268
-0.15574473 -0.58056742 -4.07702351
-0.07768938 -0.78140879 -4.00417852
-0.08215611 -0.75873339 -3.97122335
-0.05314291 -0.60995001 -4.06630659
-0.01819233 -0.81933635 -4.01607847
-0.15186559 -0.67040342 -4.0286684
-0.18235545 -0.66567022 -3.97575927
-0.03494192 -0.84650075 -3.96145272
-0.1375038 -0.73934984 -3.98891187
-0.06875564 -0.91386974 -3.9747386
-0.08443734 -0.92643172 -3.97866178
-0.14876932 -0.72950166 -3.97798038
-0.13114855 -0.86986142 -3.96896958
-0.09395199 -0.75461745 -3.96504307
-0.09938695 -0.68789482 -4.02691841
-0.03032283 -0.81805366 -4.00714397
-0.17731257 -0.51848692 -3.96502137
-0.15495308 -0.57574177 -4.07078552
0.00642137 -0.18666108 -4.05843782
-0.20564012 -0.51502329 -3.96570086
-0.16876177 -0.53749073 -4.06252861
0.04527439 0.87480724 -3.93998146
3.45274806e-03 9.58290458e-01 -3.94386196e+00
0.02104813 0.86105996 -4.01355696
-0.00853381 0.84099209 -3.91716862
-0.26150951 -0.78368318 -3.92441034
-0.22154643 -0.7276144 -3.95232701
-0.19313383 -0.67805839 -3.99842167
-0.24946947 -0.76253587 -3.93113875
0.05442765 0.87516028 -3.94713902
3.08860093e-03 9.51197505e-01 -3.93500400e+00
0.02428676 0.86433089 -4.02151918
0.0746818 0.8773936 -4.01106644
0.02964036 0.95672464 -3.95576811
0.06190391 0.85682905 -3.92392468
-0.02480484 0.87057996 -3.91848564
0.00478083 0.85740077 -3.99997354
-0.01498638 0.97045171 -3.93352509
-0.26111037 1.10175896 -3.84971309
-0.31167835 -0.85599649 -4.00300026
-0.28147244 -0.8117699 -3.92186689
-0.33525932 -0.8704257 -3.89766741

View File

@@ -0,0 +1,172 @@
-115.05293274 -47.853405 47.80289841
-61.21622086 -28.54578018 47.95794296
-121.11452484 -45.3344574 47.28314972
-80.57261658 -41.28927231 46.88473892
-38.27538681 -39.46457291 47.3040657
-197.86224365 -33.28761673 46.12297058
-182.20901489 -36.77672195 47.28892136
-135.20074463 -42.2858429 47.14746094
-215.5723114 -19.3515892 47.91497803
-204.30441284 -21.57419205 47.93904114
-180.25741577 -26.60454559 47.0633812
-196.55349731 -7.58604145 47.71421432
-177.58221436 -13.11625671 47.70537567
-136.69509888 -30.04958344 47.48832703
-139.64089966 -16.4967556 47.99466705
-50.6139946 -11.50980473 47.36148453
-212.35125732 -43.33647537 47.74462891
-180.40722656 -46.8560524 47.71583939
-222.74786377 -38.8103447 46.97287369
-29.80773354 -47.96543121 44.23117828
-213.23117065 -41.96191406 47.22967911
-159.55082703 2.72929001 47.42948532
-162.52166748 2.40344238 47.84621429
-229.78392029 -31.78809929 46.54332352
-221.29284668 -36.89105988 47.21688461
-222.75280762 -38.85222244 47.13505173
-212.77763367 -42.61458588 47.60912323
-159.46629333 3.35973215 47.45237732
-237.18688965 -32.44074249 46.8049469
-222.90863037 -38.77972794 46.89578629
-212.48869324 -43.10590363 47.82822037
-210.13293457 -41.19042206 45.48487473
-212.78756714 -42.89967346 47.70345306
-29.52510834 -47.58362198 41.87097549
-28.10497093 -47.99759293 44.67165756
-28.95745468 -47.93832779 43.56182098
-201.65914917 -41.95362091 46.95209122
-162.05072021 3.26693439 47.75769424
-163.04278564 2.63774753 47.81975937
-222.98356628 -38.94748688 47.8732338
-220.88615417 -37.30863953 47.79642487
-213.102005 -42.43343735 47.59000397
-208.4420929 -43.33866501 46.86273956
-30.41388702 -47.51711273 43.1783905
-36.65837479 -47.83395386 47.57177734
-27.72828102 -47.97692108 46.00548172
-161.86381531 1.39792752 47.9388237
-221.80738831 14.54158974 47.10158539
-166.18119812 4.78339434 47.82265472
-230.21922302 13.77830982 46.9428978
-162.65335083 1.78530741 47.97452927
-36.14580917 -47.60185242 46.85813141
-163.44902039 2.8012991 47.79307938
-221.68736267 14.41148472 47.29565048
-162.18229675 2.63376379 47.70053101
-221.00126648 -36.44037247 46.88980484
-222.97297668 -39.11411285 47.95723343
-213.14050293 -42.38428116 47.57643127
-222.75953674 -38.78577805 47.25110245
-27.28634071 -47.93021393 43.9740181
-24.37611961 -47.61340714 42.16182709
-30.34616852 -47.76334 47.81661224
-22.54854202 -47.99158096 43.44578934
-13.40904522 -44.620327 47.66081619
-17.73049355 -47.55849075 43.15761185
-17.77867126 -47.986763 43.87213516
-22.9727993 -47.99237061 39.81986618
-17.9437561 -47.99575424 44.24437332
-24.43506241 -47.92896652 40.73047638
-21.3058033 -47.93417358 40.02682495
-27.72508049 -47.94722366 43.9937706
-25.55813026 -47.54052734 39.4439621
-22.62757301 -47.93161774 40.1033783
-25.4257164 -47.95385742 40.73503113
-21.41448975 -47.99540329 40.01354218
-22.31208801 -47.94742966 41.49333954
-24.4077549 -47.52582169 38.61476517
-22.59140015 -47.95170975 40.60453796
-19.95228958 -47.95225525 42.21307755
-23.00534439 -47.56016922 39.58597565
-19.40300751 -47.96078491 42.76732254
-22.08515167 -47.9642067 41.20059967
-21.85982895 -47.98184967 40.21567535
-19.26905632 -47.9463501 40.35259628
-14.70516014 -47.33638382 47.6955986
-18.2743969 -47.94958878 42.28722382
-15.73189831 -47.52087784 46.91794586
-19.38796043 -47.98236465 40.68152618
-16.93294907 -47.97816086 45.8609314
-32.34464645 -47.91313553 47.80028534
-36.8819809 -45.9438858 47.28863144
-23.13464165 -47.93889618 37.97672653
-19.7897377 -47.97455597 41.99150848
-17.02860451 -47.5174942 47.33416367
-18.39474297 -47.70726776 47.47460556
-39.95976257 -43.95244217 47.78766632
-18.36863136 -47.99401093 47.1525116
-240.58627319 -10.99943352 47.79522705
-36.76210403 -45.73664856 47.38473129
-34.76623535 -47.15303802 47.35235214
-13.61839199 -43.93012619 47.63668823
-11.87635326 -44.22164536 47.29776382
-10.74702644 -44.70601273 47.73015213
-11.43386078 -44.83230591 47.94472504
-50.69685745 -24.77659035 47.61771774
-192.5692749 0.31643128 47.32862854
-181.92073059 2.39213729 47.63195038
-162.24247742 -0.77744704 47.61204529
-181.03070068 2.37474537 47.4789772
-193.18614197 5.93829679 47.43854904
-176.74591064 5.00900841 47.68084717
-159.16920471 -3.48510361 47.6981926
-1.59309677e+02 -5.43512106e-02 4.73059273e+01
-158.6146698 -3.27065396 47.59909058
-224.01081848 7.65501547 47.17893982
-184.6680603 4.21498394 47.79750443
-219.56208801 9.1109705 47.93078995
-220.06655884 9.22246456 47.74897003
-223.58996582 5.69685841 47.80199814
-203.91996765 10.90777302 47.35489273
-40.38979721 -43.63510513 47.57386017
-40.48881149 -43.54210663 47.55960464
-39.09444427 -44.40921402 47.68283081
-37.37663269 -45.34209824 47.40684128
-19.71227837 -47.95998383 47.76328659
-21.07107735 -47.53881836 46.30067825
-20.61594963 -47.99057007 46.50054169
-41.08324432 -43.32675934 47.81947708
-41.188694 -43.24139786 47.85723114
-36.44594574 -45.96383286 47.4791069
-35.43676376 -46.59714127 47.33152771
-13.26832676 -43.79535675 47.69161606
-38.62170029 -44.5086174 47.5691185
-13.53755188 -44.08524323 47.91936874
-13.41534996 -43.77063751 47.62738419
-13.97902489 -44.20518494 47.93588257
-13.82061481 -44.08436584 47.92467499
-14.38910675 -44.20191574 47.69192886
-14.17443371 -43.99650574 47.69808578
-14.417799 -44.12353897 47.66175842
-14.22477913 -43.93481445 47.64774704
-14.64101982 -44.38001251 47.65984344
-14.51627254 -44.25473404 47.74001312
-14.90430641 -44.46082687 47.60760498
-14.63049412 -44.2396698 47.67599869
-15.04948711 -44.90631866 47.84220123
-14.98570347 -44.46769714 47.58014297
-15.36431885 -44.764431 47.47047806
-16.17414856 -47.99628448 46.40472031
-15.50318336 -47.62424088 46.73482895
-14.63159752 -47.56199265 47.7725296
-16.74121666 -47.94631577 45.37374115
-16.97855186 -47.52192688 43.77555847
-12.84888363 -46.09111023 47.87923813
-12.70619774 -45.72384644 47.78644943
-16.25713539 -47.9588356 45.05134583
-17.41103935 -47.98343658 43.83106232
-27.07566452 -47.63234711 40.07544708
-17.74272156 -47.97607422 43.54603195
-18.15744019 -47.56585312 41.68527222
-35.02233887 -46.84793472 47.30618286
-37.85504532 -45.02006149 47.4479332
-39.78015137 -44.05846024 47.71103668
-14.95009422 -43.78732681 47.51356125
-15.39429379 -44.24668884 47.52953339
-15.18442249 -44.14469147 47.62297821
-15.77799129 -44.56837463 47.45384216
-15.94489861 -44.9053688 47.68412781
-33.94438171 -47.90890503 47.94635391
-33.32310867 -47.81197357 47.86229706
-33.96501541 -47.91693878 47.97383499
-33.39192963 -47.74041748 47.85954666

View File

@@ -0,0 +1,118 @@
-1.47493589 -1.40581906 -3.54120183
-1.11110735 -1.07863581 -3.7394917
-1.62088299 -0.46636912 -3.71593142
-1.42474496 -0.271404 -3.86058879
-0.89054167 -0.17698267 -3.93503881
-1.46636319 0.26554105 -3.71980476
-1.07940304 0.51475918 -3.84710741
-0.55117023 0.27469262 -3.95252943
-1.04460537 0.83131951 -3.83038688
-0.17531903 0.05265065 -4.11456919
-2.98975611 -1.1578176 -2.39929819
-2.87122893 -1.42592204 -2.5737052
-3.36762381 -0.55629784 -2.22303581
-3.25546432 -0.24957357 -2.3772285
-3.23344994 -0.08502571 -2.44837356
-3.32676744 0.33248466 -2.33866167
-3.1266098 0.81219465 -2.52465463
-2.85837626 1.33666062 -2.63593435
-2.70669556 1.47815573 -2.60377359
-1.82067478 -2.05068398 -3.06387067
-1.74704349 -1.97764313 -3.10898709
-2.22848272 -1.88722396 -2.7761848
-2.26142573 -1.94050503 -2.79179907
-2.05746007 1.98326325 -2.87698293
-0.76343107 1.46242011 -3.6628952
-1.6759429 -1.88866222 -3.14887524
-2.39328837 -1.83050299 -2.66705179
-2.85676885 -1.57646465 -2.41721892
-2.12936497 1.94413137 -2.79890442
-2.13839126 2.01592326 -2.867908
-0.50319868 1.15979195 -3.82517242
-1.90524971 -1.86921954 -3.04127049
-1.70439458 -1.67426181 -3.22682667
-2.37618423 -1.74003899 -2.76266575
-2.27284145 -1.94380033 -2.80983806
-2.35124111 -1.72501624 -2.7463572
-1.22712672 1.76962078 -3.50846338
-1.80015576 -1.94049537 -3.10601902
-1.74367559 -1.98999238 -3.06361723
-1.96154881 1.94387138 -2.90392876
-1.99400771 1.97988605 -2.91147661
-0.57502067 1.2765404 -3.78493261
-2.404706 -1.75992811 -2.78072095
-2.10859561 -1.76988006 -3.05811477
-1.76750851 -1.74616277 -3.26904249
-1.97426295 -1.90775704 -3.02631783
-0.49075174 1.09333766 -3.87265134
-1.21695185 -1.68532336 -3.55925727
-0.59498322 1.29116607 -3.8591547
-2.86660242 -1.54137576 -2.42846847
-2.90000701 -1.53753042 -2.45417619
-2.91187811 -1.44223237 -2.39839602
-2.83483648 -1.4840008 -2.42653608
-2.40890765 -1.79518497 -2.79572773
-2.07603359 -1.73627555 -3.0042181
-0.97240067 -1.51504123 -3.65855694
-1.27291429 -1.7115407 -3.40426421
-2.27167368 -2.02173734 -2.76983976
-1.88139248 -1.86761832 -3.01115632
-0.39609072 0.98364735 -3.97450995
-0.15284814 0.12645669 -4.00579977
-0.15040603 0.01683738 -4.00227928
-0.03075576 0.03603512 -4.08185863
-0.86110878 -1.07723665 -3.75548291
-0.58067274 -0.99790341 -3.92724872
-0.75045753 -1.14258289 -3.77242565
-0.09405571 -0.03561218 -4.11088896
-0.3556529 -0.60412014 -3.99295235
-0.79250216 -0.94398737 -3.93102503
-0.21942605 -0.59189755 -4.05096245
-0.32823732 -0.4590199 -4.08108091
-0.72342211 -1.15275133 -3.77194452
-0.69206464 -1.15657425 -3.80154395
-3.06156254 1.31429839 -2.31372094
-0.78674537 -1.2254653 -3.74281883
-0.71505123 -1.3662132 -3.7852509
-0.74912012 -1.35149789 -3.78063965
-0.70561469 -1.38802218 -3.72432446
-0.7522099 -1.38692665 -3.72111821
-0.72546756 -1.40302539 -3.73061514
-0.75268775 -1.36865008 -3.69875216
-0.71940702 -1.39969134 -3.79666877
-0.73536438 -1.3497262 -3.71197104
-0.5097118 -1.15712953 -3.79840446
-0.13960229 0.17021848 -4.03622675
-0.08825474 0.12969467 -4.03540754
-0.09535849 -0.06795262 -4.11906576
-0.13239387 0.02375963 -4.11762667
-0.04658138 -0.23808552 -4.06391859
-0.05457712 0.2419942 -4.06537199
-0.14196582 0.10042589 -4.02139902
-0.0755091 -0.54944378 -4.01152515
-0.1313363 0.10948769 -4.11151457
-0.12908816 0.12236746 -4.11787891
-0.11341682 0.29806411 -4.02960539
-3.36486244 0.37644708 -2.21014071
-3.3546195 0.62987715 -2.19779158
-0.04138997 0.08501159 -4.04494905
-0.04087704 0.01435305 -4.06575727
-0.04512876 -0.28755352 -4.05466032
-0.10709798 -0.43754676 -4.07611799
-0.20212977 -0.59333473 -3.95611906
-0.1364554 -0.5369277 -3.97832727
-0.14517671 -0.50970995 -3.98674774
-0.15648682 -0.58113647 -3.99613285
-0.22416534 -0.64293122 -3.97498727
-0.1339584 -0.46190923 -3.97655416
-0.24138634 -0.74723262 -4.01195574
-0.3406502 -0.90591359 -3.90755916
-0.33671272 -0.87840402 -3.89569187
-0.1016286 -0.56278896 -4.0234375
-0.03060583 -0.55423218 -4.03333807
-0.33152163 -0.87777138 -3.93116188
-0.13045274 -0.52786523 -4.06079483
-0.01952136 0.20317495 -4.10256958
-0.06223041 0.36880979 -4.08509398
-0.15630764 0.7167964 -4.02159023
-0.32723871 -0.91981506 -4.00451612

View File

@@ -0,0 +1,558 @@
-62.25334167 -29.49741364 -6.16517401
-34.45381546 -26.42450333 2.03282022
-16.69904518 -19.15317726 -5.0517292
1.21831775 -17.07563782 -12.88876534
-0.55117023 0.27469262 -3.95252943
10.39846039 -6.67220449 -1.96912658
-91.2368927 -24.66637039 6.07629395
-73.45869446 -24.48584747 4.26605654
-31.25688744 -23.14924431 0.19279078
1.83008587 -15.75819397 -6.80864143
-191.40457153 -47.41285706 46.68266678
-14.43389606 -6.84779739 0.35283542
-11.65870953 -2.33381009 -0.15698218
-18.36834335 -1.12523401 0.5557375
-40.18764496 5.98164892 1.15136003
-48.3067894 11.77506447 -0.2979407
-11.15795231 8.25464916 -1.60606003
-47.74590302 21.97436714 4.9168973
10.40483761 -6.57778406 0.69495368
7.47896576 5.54526377 8.4623518
-0.48506263 15.38674641 7.51094913
3.38159227 4.82868195 9.72976017
-16.74994087 17.91155624 3.7589407
-8.93089771 -18.01500702 -2.55198956
2.69837666 11.44083881 7.85233831
1.87619328 11.85132408 5.12192392
-8.62482071 18.39558792 2.9182024
-6.73862553 15.48083305 0.8979243
-10.23679543 -15.57562923 -3.94969606
-10.85190582 -19.22068405 -2.77891064
-12.31693935 18.21110535 5.4612155
-10.05312252 -14.04885674 -2.94255567
-16.43987656 -15.90649128 -3.39092469
-52.34955215 -19.3042202 -3.7525239
-12.79276085 14.08550549 0.0579065
-9.9862051 13.87617493 -0.81807315
-22.06530952 18.95109558 2.70380425
-13.62461472 18.74278259 5.61781693
-154.98344421 9.60479259 -7.65091038
-220.65075684 -42.42757797 46.94940948
-26.5178299 -6.22945356 5.89781666
-4.19406462 13.68627834 -6.65424347
-8.27590656 15.72621822 -0.1565076
-5.45796776 15.24927711 -5.13497448
-8.30358791 15.58448792 -0.90807557
-12.07820988 -14.70665932 -4.59905863
-9.48598003 -9.97100925 -1.93699169
-22.2996788 -11.56751728 5.4269681
-10.99647236 -8.21832275 0.0962696
-85.00357819 -21.64582253 4.53993988
-9.31657982 -18.25838661 -3.98160195
2.84175968 12.58917332 1.67672491
2.97264576 12.4955616 1.74702609
-9.36108398 12.31532669 -1.28679335
-59.95711517 22.5552845 8.71533585
-13.11380959 13.97475052 0.21789169
-52.41919327 21.77769279 6.25507402
-9.92931652 16.78434563 -1.48777759
3.94143414 6.33879852 -9.0082407
-3.59430528 14.0365057 -6.58110094
-41.94007874 -3.81005144 4.22078323
-156.69845581 15.49420452 -8.99119663
-52.06246567 -19.12505341 -3.8600502
-11.46876621 16.1257782 -2.59331059
-55.32774353 21.87805176 6.01651621
-9.72739506 -14.17022896 -3.32007766
-32.91324615 -23.51534462 -1.02253413
-37.66846848 -3.40351605 6.17218065
-37.68776321 -5.91196918 6.61860132
-210.13293457 -41.19042206 45.48487473
-22.88803101 -12.22978973 1.98134506
-4.85345125 -13.39203644 -6.98580265
-8.204216 -17.13355637 -5.16619921
-7.98274803 -15.33655834 -6.32893562
-0.66746807 -16.03508377 0.4113901
-8.90833282 -18.43588066 -3.95288658
-1.08011055 14.20788479 0.39840657
-2.22517252 2.48996329 -2.20592618
-12.54026031 14.16874981 -0.34264207
-64.3719635 22.68604851 8.78952026
-60.98822021 22.77918625 8.44842911
-10.43740654 13.65244293 -0.86054933
-52.88637543 21.76512337 6.28745985
-2.88417745 13.42848015 -6.97629309
-7.62787008 15.70863247 -0.10722055
2.10910749 10.05320644 -8.23965645
1.7339772 10.2534399 -8.77911186
2.98101354 12.45863247 -0.98824996
7.38701725 4.55902433 -6.83036327
-44.65651703 -16.8590107 -3.45617485
-10.14759827 13.64906979 -0.08181502
-11.06209183 16.18642807 -1.7993077
-8.72717667 16.32602119 -1.83485281
-7.35946989 12.38902569 0.31501848
-6.7098794 10.59691334 0.61963052
-1.41524601 14.08737755 2.53710008
-11.6002636 16.13856506 -1.998209
-0.95540512 11.79785538 -8.39163113
1.42641187 13.00660992 1.87806261
-2.63927007 11.44625187 -9.44053841
-28.21529007 -23.12127113 -4.73531818
-208.4420929 -43.33866501 46.86273956
-0.63881993 -10.79607964 -8.34851265
-7.81229067 -17.11218834 -4.85650969
-0.57533383 -12.15589905 -7.52313566
-7.77521896 -15.4865551 -6.01753521
-13.73332119 -18.99183655 -3.35550618
-0.39371315 -16.02943611 1.28411376
-3.65531492 13.16166973 -7.65207243
-0.23091565 13.7400074 -3.58237672
3.6645143 11.74604321 -1.66462302
-0.35932562 13.75909138 -3.42721438
-16.1581955 16.01058388 2.80679369
-98.84925842 26.71014977 13.42650986
-60.56145477 22.72292519 8.4780817
-87.08638763 26.83763313 16.09774017
-0.81135362 10.34278679 -9.59257603
-3.94111776 13.17160892 -7.73981142
0.10295105 11.88999271 -7.92855167
2.76813459 -11.16475964 -6.10905218
-0.48026684 -12.22258663 -7.45260954
-162.69949341 25.44966507 25.03180695
-58.54805374 22.41108704 8.65793896
-62.27262878 -18.31701279 4.28883886
-56.77996063 -19.64903069 1.82252073
-56.90497208 -19.66228485 2.05742383
-13.38815022 -8.38894176 0.87964845
-3.39734864 -12.85124874 -7.16130972
-0.97687978 -11.87074566 -7.73530054
-0.14709958 -11.14443302 -7.9467063
-8.69071198 -15.77727985 -6.28205061
-13.62250137 -18.95473099 -3.53044438
-7.59141684 8.35141754 0.18963687
-0.144473 13.71615601 -3.48056746
0.02166954 -11.03820515 -7.92560005
5.0317893 -11.34029388 -2.43491483
-81.44880676 23.88778496 9.70560741
-51.88182068 21.70549583 6.37481785
-25.90894508 -21.12700081 -4.82933187
-12.37630177 -16.04209709 -5.55585051
-22.09091759 -21.8103466 -3.36227179
1.35894883 -11.76408005 -6.49813032
0.46734345 -11.02613735 -7.72938395
-2.40862703 -13.78800583 -5.89533138
-6.42450285 -14.89370728 -6.2744894
-7.09895658 -10.31434917 0.8101306
-10.36707401 -11.90987206 -1.51517463
0.34373185 1.85653794 -3.52693391
1.09612501 -11.85002995 -6.77200222
4.76500082 8.92677402 -7.43885422
5.22844315 8.58152771 -5.66347551
6.90679216 5.78909302 -7.43198204
2.37225986 -11.08790874 -6.11996603
-6.69619942 -14.659091 -1.89428365
-9.24070358 -15.76900578 -4.13461637
1.36420059 -14.42169476 -1.95526576
-0.33583039 -12.22325611 -7.41583538
-1.95849419 10.48945618 -10.1388092
4.40739965 10.56232548 -6.18941355
2.9387033 9.91940594 -7.41837263
0.54898185 10.19733429 -9.09084702
-170.73190308 8.92250538 32.03068924
-174.37091064 6.62279558 31.62196541
-125.44660187 7.14256477 20.46218491
6.94432259 1.19068229 -8.95788383
7.8303647 2.32119608 -8.19664955
3.77653027 0.89695007 -10.7921524
8.47438526 3.02706599 -6.96055984
5.21145725 7.70181799 9.84078884
-1.06338143 -6.07057953 -10.9116745
4.54694271 -12.59084034 -3.96540523
4.40627956 -12.78527641 -3.44317365
4.25445747 -2.33239532 -10.2942667
6.01691532 -1.10586333 -9.63013077
4.26224041 0.27936774 -10.53952503
4.23130941 0.22437808 -10.54709911
4.09855795 0.7222293 -10.59897041
9.77252007 -1.11897445 3.74079156
3.90297198 11.22736931 7.12056255
-69.45573425 31.13605881 8.45056438
-67.13838196 27.49025154 10.37180996
-64.79024506 28.1905365 -0.62194324
9.67179203 -3.58741903 4.35077715
5.57704926 7.07717705 10.03947258
3.4360137 12.088027 6.91228771
1.5981431 -4.43772173 -11.69736958
0.73535347 -2.07061172 -10.71267319
-1.97908866 -7.78456116 -10.60769367
4.81720018 -12.84113598 -2.43787956
5.0144949 -12.68654251 -2.30690289
6.26395559 -11.88163567 -1.32796383
5.14398384 -12.71073055 -2.18250537
5.15246391 -12.69102383 -1.92491293
7.69694471 -10.05335808 0.45798996
-0.52043355 -8.84909725 -9.70835972
7.62798882 -10.11986732 0.67875892
-0.74658698 -15.9115963 -2.09799218
7.60900974 -10.0272541 1.30150163
-7.5976615 -19.28546906 1.08472288
3.08813715 -14.08571911 -0.41760173
2.79722857 -14.38576984 -1.3096025
1.44026935 -15.25251389 -0.8717711
-0.28278145 -15.93242168 -1.16551447
9.79973221 -6.46267033 0.59652102
9.75702763 -5.77036476 1.58301497
8.73911476 -3.5778904 4.25999928
3.87031817 -13.87863541 -0.67995
0.14655215 -15.97628975 -1.98170197
0.14985596 -15.97648907 -2.34941173
-0.06049522 -16.48360252 0.66310382
0.44860899 -16.01638794 -1.68168318
2.01771975 -14.93362713 -1.95655096
3.0384419 -14.32374287 -1.82072592
2.68669319 -14.53599548 -1.69593811
2.33837461 -14.73074532 -1.66086125
2.13539886 -14.94095802 -1.64027858
5.31421995 -10.41566181 -6.76030779
2.83032012 -14.4890995 -1.54706228
4.3786211 -12.74511433 -3.85670137
4.65085936 -10.42614269 -8.78991222
3.38484478 -13.93009567 -1.91643023
5.05200338 -10.13417435 -7.42988825
-11.66220093 6.99934769 0.8661474
-13.71908569 7.04646921 2.35649061
-10.12039375 2.06796956 2.70695233
4.44105005 -12.76447773 -3.48581076
-9.0361824 -18.40899849 -3.30023599
-10.86592674 -19.1436367 -1.61162937
-2.96746349 -16.49560928 -3.96873617
3.98379636 -10.51653385 -6.64859772
2.6984694 -10.07585144 -8.47066689
-93.76038361 35.02812195 1.54656363
-162.0716095 30.34925652 23.0431118
-83.32346344 34.45431519 5.91172409
-104.47026062 34.34612274 13.4457922
-5.82674742 -10.78517342 -11.10839367
-1.50291288 -8.76121712 -9.74121571
-4.02685261 -11.24894524 -9.47992229
-1.08168745 -8.93984127 -9.58502769
-1.49092662 -9.9327898 -9.53651714
-4.23010874 -12.46284103 -8.7062273
-3.73177099 -12.6248436 -8.73731804
-4.31568861 -12.38311672 -8.74894142
-0.84375077 -8.90841103 -9.59852791
-4.03935909 -12.42683792 -8.90796375
0.12481727 -7.29227924 -10.28599834
-3.76377416 -12.7247715 -8.52289391
4.29370213 -13.37758541 -1.9377811
3.9373529 -13.44250965 -2.50349259
-9.1486969 -8.40884972 1.92913365
-10.06113815 -7.85308266 1.67728984
-9.24296379 -6.31932259 3.26619053
-7.82861853 -3.72641087 1.93312931
-1.64403522 -1.98604751 3.05901861
5.42968559 -10.39176941 -6.6662426
3.71450496 -14.20002937 -1.00162578
3.60635114 -14.21388912 -1.24749303
5.6211586 4.97947359 -9.86088943
2.21883416 0.09533846 -10.62341499
5.42509413 2.73756623 -9.80443478
3.71311164 -0.90859157 -10.92430496
5.53134108 4.57925177 -9.87252617
-11.03842258 -19.0311985 -0.07269143
4.43299294 -12.74057102 -3.53868604
3.5364356 -13.85526562 -2.03766108
5.66228437 -8.8460331 -7.32059622
4.62787056 -3.61456871 -10.29039288
6.98113775 -7.67280006 -6.44145966
7.32793665 -3.79571939 -7.17509127
5.05631685 -9.51156616 -6.92710543
4.12518311 -8.42213058 -9.01040554
6.03600359 -8.47543049 -6.91079235
0.9334048 -6.65978336 -10.96229839
6.45637465 -8.10933113 -6.50249863
0.65420723 -8.3513813 -10.41143703
5.13892794 -9.98291779 -5.6837306
7.39683151 -2.85755467 -7.12965536
7.28376865 -0.71338475 -8.41845036
8.47433662 0.23857401 -6.4869051
4.3794632 7.45240831 -9.55099392
-44.90079498 2.05897784 8.34891701
-13.6697607 -19.12489128 -0.4693132
-4.30482435 -14.64650726 -7.86951113
-25.97817039 -22.09409332 1.01117253
-6.95252275 -17.24159813 -3.6780076
-14.26602173 -19.13209343 -1.28044498
10.1422205 0.84228277 3.39475131
2.54358196 -3.19777369 -11.07224846
9.76836395 -3.52201176 3.73888302
2.94687486 -3.04244208 -10.95497417
9.95513058 -3.97974372 3.30149794
10.53289223 -1.92750525 1.89399707
-24.17863846 -21.61400986 0.55107093
-13.94654655 15.96794987 5.90244007
-132.84094238 18.90558052 23.77724457
0.63409114 1.66512632 3.58147955
-69.46556854 16.09779358 11.54948616
-62.0822258 14.92275333 10.28594303
-48.33679962 9.53650093 9.03223896
-13.30796337 1.1963253 2.01446748
-203.91996765 10.90777302 47.35489273
-17.6510582 2.93067193 2.67606497
-15.03564167 4.0182476 2.47783566
-15.4537487 3.66952658 3.71011281
2.6623261 -14.46349049 -3.31581306
-5.97774029 -17.55790138 -9.72731686
-6.01435566 -16.02433014 -11.56778145
-7.41448402 -19.6744709 -7.34286547
-13.44223595 -20.32654762 -6.76081657
-14.36340141 -20.33767509 -7.1895113
5.68476152 2.14101768 -10.20014954
3.6890564 0.78294331 -10.86590195
-10.0430212 -19.41779137 0.7065208
3.82827783 -1.23947966 -10.83891773
5.91734171 4.3715601 -9.24212551
-6.98197079 -17.22806358 -3.95946312
-5.06280661 -15.68343067 -7.16450882
-8.65038872 -18.21763992 -3.21769905
1.79835057 -5.64799213 -11.41959381
-12.18343353 -19.11274338 -0.22429731
2.43606472 -1.70893967 -10.40544796
-5.28321075 -16.2504425 -6.82806158
-5.14200544 -16.21198463 -7.08724451
-2.17554355 -12.10052395 -10.25912762
2.5268209 -4.65876245 -11.2462883
10.23543453 4.66857004 1.2957679
-14.08990383 -19.14665985 -0.85165995
2.35070109 -5.68205261 -11.31484985
9.68096352 0.67607719 4.34952593
7.37936592 9.83320427 -6.37584209
10.58334637 3.46529961 1.38023281
10.0647049 1.00220394 3.7472558
7.3139472 4.79601288 5.72653341
8.19614315 5.08264637 5.406003
10.01131344 -5.29214525 -4.42005777
-10.47866726 -19.36383247 0.62294888
3.74396873 -3.97712088 -10.84551716
2.90287662 -2.89377427 -11.01696682
3.36579084 -4.32155609 -10.91708851
10.83173847 -2.04975748 1.28792417
10.86223125 -1.91826129 1.24599349
10.87076092 -1.89378691 1.22714841
9.98483753 -4.56912851 3.28337383
1.37502658 -6.50632238 -10.96341515
10.74776268 -3.68566823 1.67643404
-5.21030951 -16.15828133 -7.03434515
-7.68678331 -17.82972908 -3.21556664
-5.36325693 -16.22623062 -6.50446796
-13.34662056 -19.13527679 -0.53241587
-6.85056257 -17.22499847 -3.58598208
-1.62560451 -11.18884182 -10.44629669
-10.57090664 -19.08645821 -0.33000413
-13.23711777 -19.55596542 0.34921521
-10.72322178 -19.39578819 0.61819816
-4.67195559 -14.63374519 -8.28827858
2.02792001 -2.02339983 -10.51403713
9.47319794 1.07743108 4.86109591
10.19023418 0.73028326 3.38937163
-11.47933102 -19.37025452 0.62291247
9.539114 1.37882757 4.79862309
10.00030231 0.5831753 3.74848461
10.46004295 3.0373311 1.61445248
9.92343712 1.13633013 3.78013825
9.95037079 1.17983139 3.75410676
9.50570011 0.62616301 4.4877162
9.54934978 0.76864588 4.44183493
9.53205872 0.93872178 4.45017147
9.77707577 2.80101609 4.12380028
9.7257719 3.70663953 2.8746953
9.97414875 3.95110011 2.26028776
9.81791878 3.55005002 2.84484243
9.37524509 0.93590117 4.63309097
9.54094887 1.28846121 4.25059652
9.24576092 0.73760921 4.7962203
9.3940382 1.39421201 4.4216466
8.74392605 -8.64207077 -0.14337698
7.72909927 -10.09060383 1.05881286
2.06524801 -5.70481586 -11.29729939
3.03009486 -2.55792236 -11.05905819
1.9404304 -6.20757771 -11.00713539
1.80207539 -7.5177021 -10.68146706
0.95246208 -6.99170732 -10.70167637
9.71758747 -7.20396376 -1.18085039
0.91907722 -6.86414766 -10.78921127
5.65531349 -5.12398338 -9.38951778
3.7816689 -1.55571711 -10.81541252
4.15999794 -2.83041883 -10.2364397
9.17576981 -7.80788469 -2.22131109
0.87462074 -6.83564901 -10.84544086
1.4047879 -6.56606674 -10.90769386
4.84628105 -5.86953211 -9.72087574
7.40726519 -7.10374451 -6.88484573
2.71327925 -6.00220633 -10.7489872
9.73661900e+00 -6.49538040e+00 -4.49010730e-03
3.0844276 -5.70848036 -10.67289925
9.69819736 -6.51242352 0.76341486
9.4439249 -7.0881319 -0.63735485
4.20779943 -5.22704077 -10.2491169
5.8587842 -4.48899317 -8.80416584
7.5954504 -10.15643311 -0.19409445
9.90977955 -5.29934168 2.16713953
6.83544254 -3.87961769 -8.21389389
9.83804321 -4.87245321 2.67886376
7.60604811 -10.27454948 1.03113413
6.08143139 -11.70374203 -1.14322329
8.15843582 -9.44737625 -1.11736953
8.94890881 -8.21528149 -1.22077966
7.88448668 -9.87640953 0.10592606
8.39178753 -9.038311 -0.5005427
9.64615154 -6.70107079 -3.06268525
7.04361868 -10.73087311 -0.43909824
6.56993103 -11.36713505 -0.56076258
6.69123793 -11.14911747 -0.92440516
-2.75246572 -16.05462265 -4.35875797
7.7959547 -9.66571712 -0.10195383
6.45301867 -11.34730339 -0.48546267
-7.03631783 -17.21963882 -4.00741291
5.64172983 -1.89936042 -9.94324875
3.06194568 -4.33840752 -11.11419678
0.95779574 -9.28445148 -10.92399597
-6.82889318 -17.21702385 -3.601897
2.95087123 -2.9228301 -10.99276066
5.22551966 -4.95192623 -9.26854992
5.54650831 -4.36804199 -9.47361279
8.58967876 -5.70080376 -5.77496767
6.39899015 -6.72800636 -8.55608654
3.5074904 -5.48203421 -10.51742935
5.3051796 -5.93507051 -9.25981808
2.97324562 -0.60499275 2.60656905
5.13063622 -6.00681877 -9.37819386
7.60002995 -6.85078192 -6.48255205
5.13226032 -5.01910543 -9.34303761
4.87593317 -4.84405994 -9.72489452
9.85406303 -5.28255463 -2.07089782
2.49269605 -3.04792857 -11.12613106
2.6736083 -3.27580571 -10.99612141
4.2183094 -0.53850615 -10.5798521
2.04054642 -3.0638895 -11.29009533
3.15840578 -5.07120371 -11.16576672
10.36398029 3.7415247 1.77678764
9.78398418 0.59333777 4.24119139
9.65337086 0.57247972 4.36777878
9.66870785 0.95655262 4.35790014
10.29523373 3.63481951 2.16260123
9.17378807 0.80836916 5.01371622
7.51042318 6.86516428 -5.31605434
7.57519245 7.1303215 4.80750132
6.94177628 10.616539 1.18116748
7.74381876 5.45907974 5.8742938
7.7385006 5.72547436 5.69309711
7.06456995 10.47101402 1.41538072
5.45250702 3.18750143 -10.14660549
8.96669197 4.87267637 4.15129137
5.00712156 5.57253599 -9.81643009
8.81323433 2.86681056 5.14315462
9.20558834 6.05692244 2.95764327
6.78728485 10.68046761 1.63631296
7.3605628 7.5961628 4.80001211
-7.94768143 -18.02662468 -3.12901402
7.45385885 6.51017094 5.47014189
11.00071812 0.20246731 2.11455512
10.64681911 -0.98229772 3.3514142
10.88179779 -0.0234096 2.52335286
10.6506443 0.20535469 3.15228367
10.90861034 1.25401247 2.56488538
10.80436707 0.21297327 2.72870851
9.26471615 7.15656996 -6.35502625
10.81027412 0.10229579 2.69378519
11.13774109 2.59818769 1.34017992
11.06311131 2.08379841 1.76405656
10.90395546 1.10655177 2.55461073
11.0289278 0.10365373 2.09616089
10.66664791 -1.24016714 3.34906793
11.1870203 -0.34750235 2.03950953
9.08496857 2.72021103 5.08778334
8.76026535 1.13928151 5.46443081
9.03358746 2.68001175 5.14980698
8.92201328 1.92324054 5.05751324
9.53295708 6.11348057 2.07845283
9.07022285 2.96627212 4.5220685
8.79115677 2.14683509 5.10126972
6.94229984 10.42995548 1.62710857
7.6235795 6.70792913 5.16846228
3.83053541 9.62563896 -8.10643578
6.89984274 10.72719383 1.17130363
7.44911051 6.65638351 5.43381357
7.44729042 6.60187387 5.43422604
7.3736825 7.21692562 4.98751974
7.38110638 7.32267666 4.90711641
7.08141804 6.98145676 -6.14266014
7.29353428 7.16592884 -5.64879894
7.27822638 5.69175148 6.93552685
7.24943352 5.58472824 7.06044149
11.54742146 1.99085844 -0.42476004
11.37772465 2.58758616 -0.4421429
11.41964722 2.0650866 -0.02311776
10.39989853 6.00524998 -4.53807068
2.27778125 -7.4329648 -10.49717712
2.82662439 -6.02516842 -10.63183689
-3.7699914 -13.57428169 -8.85399437
3.16337848 -5.66813946 -10.66058731
2.27492499 -6.26797295 -10.7448225
-3.77036095 -13.56890774 -8.86129284
-1.83868754 -13.24454308 -8.32878113
-7.35102367 -17.2937851 -4.4309473
-5.24352646 -16.67034149 -4.81209183
0.91039091 -6.94079018 -10.76691246
11.66374779 2.78101873 -1.86881566
11.47356606 3.63951087 -3.28728819
9.95598698 -5.76103163 1.80679095
10.78522682 5.11530638 -3.71984267
9.4988308 6.08510733 -6.65329313
9.63658428 6.87144709 -5.90783739
11.32676315 2.35409474 0.42476645
10.80648041 0.44717148 2.96163511
10.15086937 6.4152832 -4.90862894
11.12734985 2.95185924 1.43113697
11.07984352 2.19180012 1.74630666
9.32020187 7.09682178 -6.35097599
11.18980885 2.5741725 1.19079399
9.91988373 6.64142895 -5.42798281
11.17434216 2.5554657 0.93106204
7.60934496 7.12625027 -5.16747475
7.32737827 6.63864994 -5.81293678
7.35147905 6.59846497 -5.74136066
6.5949254 7.19804907 -6.60156822
7.28182602 7.18342495 -5.70342684
6.48783588 7.41007853 -6.27582979
4.37322664 9.91891003 -6.58648872
-7.31799126 -17.26109695 -4.45061016
0.90900457 -6.63682079 -10.99523258
1.75602472 -6.54063797 -10.79444981
0.49604678 -7.86623907 -10.7239275
-3.86508584 -15.98711205 -6.25380087
-5.27209663 -16.67009926 -4.76759243
-9.84491634 -19.42062759 0.74157304
8.42724991 -9.61013222 -3.32138419
8.77535629 -9.23433781 -3.21539044
8.62024307 -9.38162231 -3.37184548
8.08178234 -10.61516094 -2.39159989
7.31811428 -3.74087739 -10.82270813
9.29502773 -8.26949978 -3.00374579
9.57451153 -7.60448551 -3.55154228
9.26409626 -8.33918285 -3.02620816
9.50443172 -7.2817111 -4.384583
9.70523262 -6.23325014 -5.53410864
9.74166107 -6.77808619 -4.59464979
9.54498291 -7.45628643 -3.93643951
0.01941036 -16.40425682 -2.70566821
1.50111818 -13.95872879 -6.42109442
9.20675278 -5.45340157 -8.03740215
8.92265224 -9.18080616 -2.94511938
8.96350098 -8.68788624 -3.86481261
8.89133739 -9.23495007 -2.83477306
9.29056263 -5.34430647 -8.10922813
9.38445473 -8.02684689 -3.95232058
9.17929173 -8.0456686 -4.36878395
9.18535614 -8.54977894 -3.43514323

View File

@@ -0,0 +1,372 @@
-78.60915375 -47.65229797 47.3884964
-52.66063309 -25.89620399 47.41597748
-26.14772797 -47.99271393 20.13103104
-1.66687537e-02 -4.78332558e+01 1.69371796e+01
19.99565697 -33.39273834 47.94105148
-38.43932724 -47.88576508 47.8572464
4.21017027 -47.99727631 40.86125565
19.96699333 -23.44265175 47.92863083
-0.48473111 -47.98804092 46.06974792
20.03995323 -13.29430294 47.95300293
0.88517445 -41.35364532 47.27772141
20.02715302 -3.25960946 47.96088791
-46.75537872 -4.62261057 47.46111298
1.23680127 -30.91050529 47.30222702
19.96535492 6.65077209 47.94784927
-132.45054626 -47.47830963 41.82504272
-6.90280819 -47.63646317 36.61483383
20.00189018 -29.41129875 47.83229446
-191.40457153 -47.41285706 46.68266678
20.00657654 -19.40896606 47.83072281
20.09089661 -9.24019814 47.86140442
19.99348831 0.60232764 47.83133698
-157.17651367 0.45998394 47.69330597
-46.6624794 -12.22414303 47.85691071
-5.12074757 -25.72367477 47.36433029
19.98001289 10.58429527 47.83028412
-0.10041244 -41.18905258 47.85218811
19.99576187 -25.52953339 47.95751572
-8.77693844 -36.56071854 47.98617554
19.99965096 -15.51126289 47.96109772
-18.19964027 -36.8806572 47.38637924
20.0168438 -5.45512772 47.9730072
-7.31909084 -21.35210228 47.9634285
20.00819969 4.5706501 47.97800827
-55.80057907 -7.77036285 47.52430344
-35.25862503 -20.43106079 47.58919525
-2.41486412e-02 -1.11303294e+00 4.79133339e+01
19.99839973 14.52066612 47.96749878
-36.11935043 -46.5729332 47.57146072
-33.7281723 -34.61442947 47.7554245
-43.37842941 -23.64048386 47.4708252
-31.95133972 -47.57902908 43.99435043
-136.64993286 -18.06177521 47.88980103
-49.06181717 -11.60644913 47.63668442
-231.25892639 -38.49882889 47.18846893
-220.65075684 -42.42757797 46.94940948
-173.50762939 -47.54265594 46.07365417
-144.39398193 -47.43227768 45.65404892
-228.13038635 -37.04217529 45.90542221
-240.74029541 -32.61457443 46.90477371
-57.47540665 -25.62295914 47.84227753
-172.52813721 -46.92682648 43.56026459
-154.85275269 -47.42300034 41.48895645
-172.53076172 -46.89084625 43.59936905
-158.4225769 2.14151382 47.67985153
-44.66512299 -44.17728424 47.36135101
-159.13873291 2.14122295 47.70549393
-170.37557983 -46.94041824 43.77318954
-147.4682312 -47.41112518 41.31290436
-148.47694397 -47.77612305 47.82220459
-44.86400986 -40.51028061 47.70686722
-41.0522995 -47.36166382 47.62437057
-240.08183289 -2.04179811 47.77833557
-243.75146484 -4.34208393 47.25775528
-247.42216492 -6.84279537 47.37823868
-17.7887001 -40.3176651 47.39686203
-14.05640507 -47.95846558 46.70653915
-16.24113655 -47.97335052 44.23483658
-17.07499504 -39.65867996 47.51294327
-15.59953785 -38.01813507 47.61877823
-106.56359863 -19.63851547 47.50097275
-55.45418167 21.82091331 47.54765701
-133.58453369 -10.68177795 47.82061005
-142.42459106 -5.78816605 47.89800644
-8.18564415 -43.4811058 47.44313431
-16.54135132 -39.7586441 47.64006805
-15.84890556 -38.09030151 47.45230103
-14.30912685 -47.97978592 45.94914246
-5.65603352 -47.98994446 47.35704422
-13.82297516 -47.91838074 47.36395264
-11.76959896 -47.91776657 47.57209015
-13.25837898 -47.95902634 46.76149368
-14.76086521 -47.95054245 45.28733826
-13.24036694 -46.94652557 47.95204926
-20.22023773 -47.96842194 37.40296173
-19.64077377 -47.63367462 37.32389832
-20.99211884 -47.58084106 37.48927689
-11.94048882 -47.96104431 44.05709457
-18.2339344 -47.98835373 40.60998535
-19.54814529 -47.98838425 38.90948486
-18.10368156 -47.58260345 40.28382874
-18.74348259 -47.96908951 40.76735306
-20.79312134 -47.99027634 38.71075821
-20.39995956 -47.58857727 37.90135574
-17.26291466 -47.99007034 41.81736374
-19.10844421 -47.99391174 40.02445221
-15.34401321 -47.95658112 44.54605484
-8.51122761 -47.98971939 43.26799393
-18.40426254 -47.97071838 40.71240234
-7.83878708 -47.96901703 43.82131195
-14.44205475 -47.97811508 44.68159485
-16.26033783 -47.99980164 43.66598892
-170.44354248 10.65944862 47.12630844
-228.25576782 16.41610718 47.51928711
-119.79067993 -4.2830677 47.6509552
-169.0868988 9.80653381 47.73766327
-15.6561451 -47.55426407 43.42222214
-8.67715454 -47.60248566 41.85147476
-15.54438877 -47.96520233 44.90391541
-16.20059395 -47.9537468 43.15723801
-15.93903351 -47.95492172 43.81053925
-13.19783401 -47.95789337 46.72025681
-15.17207146 -47.99066925 45.22632599
-17.57854843 -47.57331848 41.00992584
-16.75986671 -47.99326706 43.01481247
-41.62425995 -42.76963043 47.9194603
-56.22718048 -24.5802536 47.81021881
-42.31961823 -41.82301331 47.86406708
-14.55416489 -47.9876976 45.06984329
-16.83693695 -47.9783287 34.7660141
-17.19762421 -47.98718643 34.21157074
-30.70030022 -47.54750061 36.79125214
-29.7355957 -47.9961319 36.58184814
-18.08982277 -47.97759247 32.82211685
-28.31606293 -47.57202148 34.88001251
-29.02676964 -47.97979355 37.05019379
-18.72207832 -47.99937057 27.02400017
-34.2906456 -47.93424225 47.97705841
-35.26699829 -47.16506958 47.86783981
-34.69235992 -47.27262115 47.40330887
-39.16064072 -44.36013031 47.67433167
-13.23759174 -43.14857483 47.69019699
-41.92243576 -42.46491623 47.94350433
-6.65008879 -40.29565048 47.49431229
-13.1568203 -43.62028885 47.93309402
-8.5633688 -41.33264923 47.85466385
-12.68227196 -43.28940964 47.72132492
-5.78117943 -39.8002243 47.46952438
-12.33877373 -43.27200317 47.9871521
-12.99975586 -41.10173798 47.72298431
-6.58270264 -47.62312317 47.92419815
-35.89247894 -46.27825546 47.42993927
-7.68700314 -43.83502579 47.34194565
-7.08087921 -43.72518921 47.46581268
-6.90058851 -44.04921722 47.90937042
-6.4361062 -44.41760254 47.9475441
-3.05911493 -41.82997894 47.53010941
-38.33069611 -44.83183289 47.59616089
-39.5936203 -43.94281769 47.41598892
-34.69026184 -47.6884079 47.82536697
-38.46208191 -44.75833893 47.62814331
-39.5272789 -44.10165405 47.62558746
-39.9597435 -43.9653511 47.73593521
11.23823643 -28.51632118 47.81902313
10.52643871 -29.65814972 47.8420105
10.2699852 -29.68013191 47.75601196
10.74435329 -27.58636284 47.58419418
10.42973232 -29.53443909 47.77618408
-10.19324207 -42.13096237 47.95927429
15.02010155 -13.47112942 47.96501541
10.30558109 -29.03352356 47.76919937
-9.15940094 -41.16043472 47.36904144
10.78951931 -29.32552147 47.67665482
10.3298912 -28.83736229 47.75193024
-8.24864197 -41.22195435 47.90005875
10.37678623 -27.71316147 47.74562073
-6.57039118 -40.10888672 47.49848175
10.0102663 -29.19765091 47.75546646
10.23614693 -28.82674217 47.69714737
-8.96763802 -41.23888779 47.98690796
-14.07527924 -47.89041901 47.70059586
-6.05208158 -47.22613144 47.99462891
-7.86394978 -47.95530319 47.8644104
-16.8271904 -47.95790482 44.77720642
-12.68175507 -47.99686813 47.86445236
-12.68413734 -47.70581818 47.86578751
-15.00502396 -47.84288788 47.38620377
-16.62250137 -47.58647537 44.56105042
-6.49397182 -47.95838547 47.99124908
-14.68038559 -47.97723389 47.93559265
-14.87438679 -47.99147415 47.38402557
-34.6664505 -47.68547058 47.80395889
-13.39364147 -43.58190536 47.86503601
-12.60962868 -43.43312836 47.93175125
-13.46372318 -43.84064865 47.96162033
-13.06052208 -43.45426941 47.89741516
-13.31630516 -43.34042358 47.74074554
-6.74101734 -40.03038788 47.37776184
-13.9589138 -43.54362869 47.72330856
-7.35637665 -39.35898972 47.33203888
-15.40866947 -42.4932518 47.64307022
-15.50973892 -42.72743225 47.79890442
-14.69468212 -41.84667969 47.68399811
-14.55158138 -41.78923035 47.7265625
-14.71611691 -41.78671265 47.64655685
-14.06144524 -42.68275833 47.72717667
-13.81277847 -42.87759018 47.92530823
-13.40764618 -42.35040283 47.83230972
-15.43278885 -42.41638565 47.74790955
-15.37824821 -42.39543533 47.79094696
-15.94148922 -42.75715256 47.54258347
-2.36327577 -39.13136292 47.84127426
-2.35437322 -39.16680527 47.85381317
-2.51599646 -39.17018127 47.7704277
-3.5941782 -39.77464676 47.7251358
-2.08109069 -37.85793686 47.57512665
-3.0588963 -39.4182663 47.69439697
-1.87225926 -38.01305008 47.89567566
-2.01455569 -38.08852005 47.84193039
3.61394405 -32.66135025 47.27038956
3.80956888 -32.89467239 47.46355057
-3.08582902 -39.37701797 47.5294342
4.05678082 -32.87287521 47.32453918
0.44024134 -35.82356644 47.9753418
-1.32256639 -36.98860931 47.71655655
4.12404299 -32.34539413 47.34456253
-1.84551513 -37.60769272 47.64328766
-2.2590661 -38.26942444 47.74547195
-1.95632911 -38.5892067 47.66558075
4.41650009 -33.18904495 47.45775604
4.36303186 -33.0789032 47.42076111
-2.04365563 -38.79455948 47.63757706
4.39858627 -33.24022293 47.46522903
-0.12496471 -36.96256638 47.88921356
-10.65724659 -41.35077667 47.88028336
-10.98333263 -41.52013016 47.96658325
-11.97831345 -41.72574615 47.73962021
-15.58831501 -42.75349426 47.80477142
-14.86044025 -41.98714828 47.71206284
-15.33605003 -42.19659805 47.48327637
-15.5642395 -42.51452637 47.71108627
-15.83210945 -42.71641922 47.62769699
-16.25423241 -43.00228882 47.41600037
-16.0682869 -42.88207626 47.49667358
1.29340112 -34.81676102 47.8016777
0.89327908 -35.14027405 47.96495819
0.9891485 -34.74126053 47.31996155
0.25019786 -35.42857361 47.25228882
0.9493404 -34.60446548 47.26430511
1.80633497 -34.48541641 47.9389267
1.62370062 -34.65641785 47.93595505
1.70318592 -34.52676392 47.89011383
1.60355127 -34.65420914 47.93391418
1.41482973 -34.63994217 47.81774521
1.77996898 -34.56599808 47.95338821
1.62182891 -34.64424133 47.86044312
6.17288303 -33.01441956 47.95149994
6.2900691 -33.11247253 47.98630142
6.03704453 -32.93589401 47.93490601
1.3417902 -34.7348175 47.80200577
1.49018466 -34.80914307 47.91692352
1.7148596 -34.502285 47.88332748
1.61520755 -34.74900055 47.95639801
6.61116076 -33.0185318 47.97740173
6.38700771 -33.242733 47.99890518
6.22283459 -33.25795746 47.98383713
1.3359313 -34.92968369 47.85594559
0.82363057 -35.00437164 47.34574509
1.33495533 -34.80823898 47.81771851
0.72038913 -35.23713684 47.3197403
1.10262334 -34.99468231 47.79317856
-14.92315006 -41.24847794 47.69615555
-15.28770733 -41.38537216 47.56619263
-0.34938174 -37.12149048 47.80819321
4.48223543 -33.42999649 47.41879272
-1.3612572 -38.02796555 47.8589592
-1.33866811 -38.11847687 47.91503525
-1.27912617 -37.55568314 47.80359268
4.48140621 -32.83922577 47.41589355
-34.17703247 -47.77373123 47.9893837
-34.25382233 -47.97986603 47.99756241
-34.04889297 -47.85300827 47.97591782
-34.01149368 -47.89832687 47.9888382
-34.23484039 -47.97894669 47.97813034
1.59579432 -34.94139099 47.24272156
1.62283301 -34.92856216 47.24631119
2.35874391 -34.80722046 47.97686005
2.20669341 -34.89548111 47.96606064
2.37649035 -34.3614769 47.24556351
2.25231624 -34.49803925 47.34762573
6.73859644 -33.30146408 47.51239777
1.8783071 -34.66279602 47.27204132
2.03317952 -34.5991478 47.32468033
6.61304331 -33.31772232 47.48894119
-10.93814659 -45.86911774 47.99621964
-1.01234829 -37.59981537 47.68097305
0.32962921 -36.41547394 47.97627258
-1.0453378 -37.67179489 47.97328568
-0.98234797 -37.58447266 47.88593292
4.92331743 -33.16901779 47.47525406
-0.71953124 -37.49884415 47.98893738
4.89095068 -33.0119133 47.45969772
-1.83902323 -38.05569077 47.90446091
4.47964573 -32.72618866 47.38915253
-1.2608391 -37.62188721 47.85430527
-0.97831756 -37.18956757 47.62495422
-1.41081786 -37.10370636 47.64936066
-2.13810444 -38.3272438 47.79370499
-1.50332367 -37.60964203 47.69414139
-0.52903718 -35.96902847 47.91855621
4.49013376 -32.03385162 47.34230423
-1.51555252 -37.20478439 47.65102386
-1.48978519 -37.46905899 47.67703247
-1.90845573 -37.6812439 47.53580093
-1.87396038 -37.71441269 47.54714966
4.17135143 -32.58051682 47.48069763
-1.11390758 -36.91436386 47.8257103
-1.75798965 -37.76931763 47.58797836
-1.2844336 -37.0855484 47.78364944
4.1750617 -32.56966019 47.47985077
-1.96169698 -37.80702591 47.53023911
4.29962826 -32.88833618 47.9185257
4.19515991 -32.89448547 47.90289688
10.20659256 -45.74354935 47.63201523
10.15430641 -42.91210938 47.73495102
14.32830715 -31.33774185 47.9665184
10.68238449 -44.35594177 47.89834213
10.56221485 -44.73420334 47.78372955
10.46703625 -45.00709152 47.76501083
10.59143353 -44.5753746 47.74551773
-2.96493459 -47.26828766 47.50183487
-1.92499685 -46.2210083 47.76958466
-2.30543947 -46.6292572 47.59328842
3.86901522 -45.03343582 47.93478775
3.98119473 -44.94896317 47.94107056
-2.52349424 -47.30019379 47.52967072
3.77947688 -44.75230408 47.42657089
-1.71933496 -46.85197067 47.73876572
-1.57025838 -46.47421646 47.83753586
-0.86801034 -45.40024185 47.68374634
-1.63167441 -46.87864685 47.93787766
-1.24016583 -45.8556366 47.63579941
-1.37808859 -46.30792999 47.97208786
-1.18205762 -45.74841309 47.65047073
-1.91958821 -45.52214813 47.79398346
-1.22320747 -44.87919235 47.97069931
-1.87735331 -45.56451797 47.81715012
-1.65578282 -45.35031128 47.82473755
-0.93141347 -44.45116806 47.71147919
-0.89476854 -44.37029266 47.71819687
-1.483953 -45.1578598 47.88362503
4.5823946 -44.0487175 47.89962387
-16.89229774 -47.98627472 40.41270447
-15.61047649 -47.97934723 42.30311966
-0.4167749 -44.8359375 47.79632568
-0.66568071 -45.00883484 47.76943207
4.45235538 -44.0150032 47.90656281
-1.11858344 -45.37151337 47.62677002
-0.78093016 -44.93999863 47.69705963
-0.75826931 -44.83317184 47.69394684
-1.23939121 -45.61610413 47.93927383
-1.44923675 -45.87876129 47.94590759
-1.42254388 -45.75496674 47.92358017
4.42171526 -44.6228447 47.93742371
4.57832336 -44.91021347 47.96069717
4.66583776 -44.83283615 47.97070312
4.44580173 -44.93639374 47.94031525
4.55379677 -44.86499023 47.9504776
-0.08489761 -44.52038956 47.91066742
4.76769209 -44.71215439 47.93758011
4.8955884 -44.61787033 47.93251801
-0.22049175 -44.43102646 47.90315628
-1.11585987 -45.12288666 47.63871765
4.46652365 -44.61075974 47.95022202
-0.89836919 -44.95106506 47.73490906
-0.59439373 -45.02968597 47.80804443
4.60076523 -44.85508347 47.9597702
4.85885525 -44.60199738 47.92080688
-0.40620318 -44.7558136 47.78753281
4.65071058 -44.03382111 47.90589523
4.93683577 -44.62527466 47.96929169
0.44595385 -43.93215179 47.24204636

View File

@@ -0,0 +1,25 @@
-0.15495308 -0.57574177 -4.07078552
0.00642137 -0.18666108 -4.05843782
-0.20564012 -0.51502329 -3.96570086
-0.16876177 -0.53749073 -4.06252861
0.04527439 0.87480724 -3.93998146
3.45274806e-03 9.58290458e-01 -3.94386196e+00
0.02104813 0.86105996 -4.01355696
-0.00853381 0.84099209 -3.91716862
-0.26150951 -0.78368318 -3.92441034
-0.22154643 -0.7276144 -3.95232701
-0.19313383 -0.67805839 -3.99842167
-0.24946947 -0.76253587 -3.93113875
0.05442765 0.87516028 -3.94713902
3.08860093e-03 9.51197505e-01 -3.93500400e+00
0.02428676 0.86433089 -4.02151918
0.0746818 0.8773936 -4.01106644
0.02964036 0.95672464 -3.95576811
0.06190391 0.85682905 -3.92392468
-0.02480484 0.87057996 -3.91848564
0.00478083 0.85740077 -3.99997354
-0.01498638 0.97045171 -3.93352509
-0.26111037 1.10175896 -3.84971309
-0.31167835 -0.85599649 -4.00300026
-0.28147244 -0.8117699 -3.92186689
-0.33525932 -0.8704257 -3.89766741

View File

@@ -0,0 +1,25 @@
-15.36431885 -44.764431 47.47047806
-16.17414856 -47.99628448 46.40472031
-15.50318336 -47.62424088 46.73482895
-14.63159752 -47.56199265 47.7725296
-16.74121666 -47.94631577 45.37374115
-16.97855186 -47.52192688 43.77555847
-12.84888363 -46.09111023 47.87923813
-12.70619774 -45.72384644 47.78644943
-16.25713539 -47.9588356 45.05134583
-17.41103935 -47.98343658 43.83106232
-27.07566452 -47.63234711 40.07544708
-17.74272156 -47.97607422 43.54603195
-18.15744019 -47.56585312 41.68527222
-35.02233887 -46.84793472 47.30618286
-37.85504532 -45.02006149 47.4479332
-39.78015137 -44.05846024 47.71103668
-14.95009422 -43.78732681 47.51356125
-15.39429379 -44.24668884 47.52953339
-15.18442249 -44.14469147 47.62297821
-15.77799129 -44.56837463 47.45384216
-15.94489861 -44.9053688 47.68412781
-33.94438171 -47.90890503 47.94635391
-33.32310867 -47.81197357 47.86229706
-33.96501541 -47.91693878 47.97383499
-33.39192963 -47.74041748 47.85954666

View File

@@ -0,0 +1,25 @@
-0.12908816 0.12236746 -4.11787891
-0.11341682 0.29806411 -4.02960539
-3.36486244 0.37644708 -2.21014071
-3.3546195 0.62987715 -2.19779158
-0.04138997 0.08501159 -4.04494905
-0.04087704 0.01435305 -4.06575727
-0.04512876 -0.28755352 -4.05466032
-0.10709798 -0.43754676 -4.07611799
-0.20212977 -0.59333473 -3.95611906
-0.1364554 -0.5369277 -3.97832727
-0.14517671 -0.50970995 -3.98674774
-0.15648682 -0.58113647 -3.99613285
-0.22416534 -0.64293122 -3.97498727
-0.1339584 -0.46190923 -3.97655416
-0.24138634 -0.74723262 -4.01195574
-0.3406502 -0.90591359 -3.90755916
-0.33671272 -0.87840402 -3.89569187
-0.1016286 -0.56278896 -4.0234375
-0.03060583 -0.55423218 -4.03333807
-0.33152163 -0.87777138 -3.93116188
-0.13045274 -0.52786523 -4.06079483
-0.01952136 0.20317495 -4.10256958
-0.06223041 0.36880979 -4.08509398
-0.15630764 0.7167964 -4.02159023
-0.32723871 -0.91981506 -4.00451612

View File

@@ -0,0 +1,25 @@
-1.11858344 -45.37151337 47.62677002
-0.78093016 -44.93999863 47.69705963
-0.75826931 -44.83317184 47.69394684
-1.23939121 -45.61610413 47.93927383
-1.44923675 -45.87876129 47.94590759
-1.42254388 -45.75496674 47.92358017
4.42171526 -44.6228447 47.93742371
4.57832336 -44.91021347 47.96069717
4.66583776 -44.83283615 47.97070312
4.44580173 -44.93639374 47.94031525
4.55379677 -44.86499023 47.9504776
-0.08489761 -44.52038956 47.91066742
4.76769209 -44.71215439 47.93758011
4.8955884 -44.61787033 47.93251801
-0.22049175 -44.43102646 47.90315628
-1.11585987 -45.12288666 47.63871765
4.46652365 -44.61075974 47.95022202
-0.89836919 -44.95106506 47.73490906
-0.59439373 -45.02968597 47.80804443
4.60076523 -44.85508347 47.9597702
4.85885525 -44.60199738 47.92080688
-0.40620318 -44.7558136 47.78753281
4.65071058 -44.03382111 47.90589523
4.93683577 -44.62527466 47.96929169
0.44595385 -43.93215179 47.24204636

View File

@@ -0,0 +1,138 @@
local file1 = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_closed_seeds_all.txt';
local file2 = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_open_north_all.txt';
local file3 = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_open_south_all.txt';
local file4 = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_solar_wind_all.txt';
local file5 = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_separatrix_seeds_all.txt';
return {
{
Name = "Fieldlines1",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0},
},
Renderable = {
Type = "RenderableFieldlines",
VectorField = {
Type = "VolumeKameleon",
File = "${OPENSPACE_DATA}/batsrus.cdf",
Model = "BATSRUS",
Variables = {"bx", "by", "bz"}
},
Fieldlines = {
Stepsize = 1,
Classification = true,
},
SeedPoints = {
Type = "File",
File = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_closed_seeds_all.txt';
}
},
GuiName = "/Geometry/Fieldlines"
},
{
Name = "Fieldlines2",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0},
},
Renderable = {
Type = "RenderableFieldlines",
VectorField = {
Type = "VolumeKameleon",
File = "${OPENSPACE_DATA}/batsrus.cdf",
Model = "BATSRUS",
Variables = {"bx", "by", "bz"}
},
Fieldlines = {
Stepsize = 1,
Classification = true
},
SeedPoints = {
Type = "File",
File = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_open_north_all.txt'
}
},
GuiName = "/Geometry/Fieldlines"
},
{
Name = "Fieldlines3",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0},
},
Renderable = {
Type = "RenderableFieldlines",
VectorField = {
Type = "VolumeKameleon",
File = "${OPENSPACE_DATA}/batsrus.cdf",
Model = "BATSRUS",
Variables = {"bx", "by", "bz"}
},
Fieldlines = {
Stepsize = 1,
Classification = true
},
SeedPoints = {
Type = "File",
File = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_open_south_all.txt'
}
},
GuiName = "/Geometry/Fieldlines"
},
{
Name = "Fieldlines4",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0},
},
Renderable = {
Type = "RenderableFieldlines",
VectorField = {
Type = "VolumeKameleon",
File = "${OPENSPACE_DATA}/batsrus.cdf",
Model = "BATSRUS",
Variables = {"bx", "by", "bz"}
},
Fieldlines = {
Stepsize = 1,
Classification = true
},
SeedPoints = {
Type = "File",
File = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_solar_wind_all.txt'
}
},
GuiName = "/Geometry/Fieldlines"
},
{
Name = "Fieldlines5",
Parent = "Earth",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0},
},
Renderable = {
Type = "RenderableFieldlines",
VectorField = {
Type = "VolumeKameleon",
File = "${OPENSPACE_DATA}/batsrus.cdf",
Model = "BATSRUS",
Variables = {"bx", "by", "bz"}
},
Fieldlines = {
Stepsize = 1,
Classification = true
},
SeedPoints = {
Type = "File",
File = '${OPENSPACE_DATA}/scene/fieldlines/bats_seeds/BATS_R_US_separatrix_seeds_all.txt'
}
},
GuiName = "/Geometry/Fieldlines"
}
}

View File

@@ -0,0 +1,82 @@
#version 430 core
in vec4 fColor;
in vec3 vs_position;
in float s;
#include "../../../shaders/ABuffer/abufferStruct.hglsl"
#include "../../../shaders/ABuffer/abufferAddToBuffer.hglsl"
const float k = 10.0;
const float s_far = 27.0f; //= gl_DepthRange.far; // 40
const float s_farcutoff = 12.0f;
const float s_nearcutoff = 7.00f;
const float s_near = 0.00f;// gl_DepthRange.near; // 0.1
vec4 psc_normlization(vec4 invec) {
float xymax = max(invec.x,invec.y);
if(invec.z > 0.0f || invec.z < 0.0f) {
return invec / abs(invec.z);
} else if (xymax != 0.0f) {
return invec / xymax;
} else {
return invec / -.0;
}
}
float pscDepth(vec4 position) {
float depth = 0.0f;
if(position.w <= 0.5) {
//depth = abs(position.z * pow(10, position.w)) / pow(k,s_far);
depth = (position.w+log(abs(position.z)))/pow(k, position.w);
} else if(position.w < 3.0) {
depth = position.w+log(abs(position.z))/pow(k, position.w);
} else {
depth = position.w+log(abs(position.z));
}
// DEBUG
float depth_orig = depth;
float x = 0.0f;
float cutoffs = 0.0;
float orig_z = position.z;
// calculate a normalized depth [0.0 1.0]
if((depth > s_near && depth <= s_nearcutoff) || (depth > s_farcutoff && depth < s_far)) {
// completely linear interpolation [s_near .. depth .. s_far]
depth = (depth - s_near) / (s_far - s_near);
} else if(depth > s_nearcutoff && depth < s_farcutoff) {
// DEBUG
cutoffs = 1.0;
// interpolate [10^s_nearcutoff .. 10^depth .. 10^s_farcutoff]
// calculate between 0..1 where the depth is
x = (pow(10,depth) - pow(10, s_nearcutoff)) / (pow(10,s_farcutoff) - pow(10, s_nearcutoff));
// remap the depth to the 0..1 depth buffer
depth = s_nearcutoff + x * (s_farcutoff - s_nearcutoff);
depth = (depth - s_near) / (s_far - s_near);
}
return depth;
}
void main() {
vec4 fragColor = fColor;
//float val = 1.0;
//fragColor = vec4(val, 0.0, val, val);
vec4 position = vec4(vs_position,s);
float depth = pscDepth(position);
ABufferStruct_t frag = createGeometryFragment(fragColor, position, depth);
addToBuffer(frag);
discard;
}

View File

@@ -0,0 +1,83 @@
#version 430 core
uniform mat4 modelViewProjection;
uniform mat4 modelTransform;
uniform vec4 campos;
uniform mat4 camrot;
uniform vec2 scaling;
uniform vec4 objpos;
uniform float time;
layout(location = 0) in vec3 vertPosition;
layout(location = 1) in vec4 vertColor;
out vec4 fColor;
out vec3 vs_position;
out float s;
const float k = 10.0;
vec4 psc_addition(vec4 v1, vec4 v2) {
float ds = v2.w - v1.w;
if(ds >= 0) {
float p = pow(k,-ds);
return vec4(v1.x*p + v2.x, v1.y*p + v2.y, v1.z*p + v2.z, v2.w);
} else {
float p = pow(k,ds);
return vec4(v1.x + v2.x*p, v1.y + v2.y*p, v1.z + v2.z*p, v1.w);
}
}
vec4 psc_to_meter(vec4 v1, vec2 v2) {
float factor = v2.x * pow(k,v2.y + v1.w);
return vec4(v1.xyz * factor, 1.0);
}
vec4 psc_scaling(vec4 v1, vec2 v2) {
float ds = v2.y - v1.w;
if(ds >= 0) {
return vec4(v1.xyz * v2.x * pow(k,v1.w), v2.y);
} else {
return vec4(v1.xyz * v2.x * pow(k,v2.y), v1.w);
}
}
vec4 pscTransform(vec4 vertexPosition, vec4 cameraPosition, vec2 scaling, mat4 modelTransform) {
vec3 local_vertex_pos = mat3(modelTransform) * vertexPosition.xyz;
//vec4 lvp = ModelTransform * vertexPosition;
// PSC addition; local vertex position and the object power scaled world position
vec4 position = psc_addition(vec4(local_vertex_pos,vertexPosition.w),objpos);
//position = psc_addition(lvp,objpos);
// PSC addition; rotated and viewscaled vertex and the cmaeras negative position
position = psc_addition(position,vec4(-cameraPosition.xyz,cameraPosition.w));
// rotate the camera
local_vertex_pos = mat3(camrot) * position.xyz;
position = vec4(local_vertex_pos, position.w);
//position = camrot* position;
// rescales the scene to fit inside the view frustum
// is set from the main program, but these are decent values
// scaling = vec2(1.0, -8.0);
// project using the rescaled coordinates,
//vec4 vs_position_rescaled = psc_scaling(position, scaling);
return psc_to_meter(position, scaling);
}
void main() {
fColor = vertColor;
// gl_Position = modelViewProjection*vec4(vertPosition, 1.0);
vec4 p = vec4(vertPosition,0);
vec4 position = pscTransform(p, campos, scaling, modelTransform);
vs_position = position.xyz;
s = position.w;
// project the position to view space
gl_Position = modelViewProjection * position;
}

View File

@@ -0,0 +1,228 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
#version __CONTEXT__
// Workgroup size
layout(local_size_x = 16, local_size_y = 16) in;
// Textures and buffers
uniform sampler2D cubeFront;
uniform sampler2D cubeBack;
// TSP settings
uniform int gridType = 0;
uniform float stepSize = 0.002;
uniform int numTimesteps = 0;
uniform float temporalTolerance = -1.0;
uniform float spatialTolerance = -1.0;
layout( std140, binding=1 ) buffer reqBuffer
{
int reqBrick[ ];
};
#include "helpers_cs.hglsl"
// Increment the count for a brick in the request list
void AddToList(int _brickIndex) {
//atomic_inc(&_reqList[_brickIndex]);
// only used to flag requested brick, no need for concurrency
reqBrick[_brickIndex] = 1;
//imageStore(reqList, coord, ivec4(1,0,0,0));
}
// Given an octree node index, traverse the corresponding BST tree and look
// for a useful brick.
bool TraverseBST(int _otNodeIndex, inout int _brickIndex) {
// Start at the root of the current BST
int bstNodeIndex = _otNodeIndex;
bool bstRoot = true;
int timespanStart = 0;
int timespanEnd = numTimesteps;
// Rely on structure for termination
for(int i = 0; i < TraverseBSTLimit; ++i) {
//while (true) {
// Update brick index (regardless if we use it or not)
_brickIndex = BrickIndex(bstNodeIndex);
// If temporal error is ok
// TODO float and <= errors
if (TemporalError(bstNodeIndex) <= temporalTolerance)
{
// If the ot node is a leaf, we can't do any better spatially so we
// return the current brick
if (IsOctreeLeaf(_otNodeIndex)) {
return true;
// All is well!
} else if (SpatialError(bstNodeIndex) <= spatialTolerance) {
return true;
// If spatial failed and the BST node is a leaf
// The traversal will continue in the octree (we know that
// the octree node is not a leaf)
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
// Keep traversing BST
} else {
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
// If temporal error is too big and the node is a leaf
// Return false to traverse OT
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
// If temporal error is too big and we can continue
} else {
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
bstRoot = false;
}
// Hopefully we never go here
return false;
}
void TraverseOctree(const vec3 _rayO, const vec3 _rayD, const float _maxDist) {
vec3 P = _rayO;
// Keep traversing until the sample point goes outside the unit cube
float traversed = 0.0f;
while (traversed < _maxDist) {
// Reset traversal variables
vec3 offset = vec3(0.0, 0.0, 0.0);
float boxDim = 1.0f;
int child;
// Init the octree node index to the root
int otNodeIndex = OctreeRootNodeIndex();
// Start traversing octree
// Rely on finding a leaf for loop termination
for(int i = 0; i < TraverseOctreeLimit; ++i) {
//while (true) {
// See if the BST tree is good enough
int brickIndex = 0;
bool bstSuccess = TraverseBST(otNodeIndex, brickIndex);
if (bstSuccess) {
// Add the found brick to brick list
AddToList(brickIndex);
// We are now done with this node, so go to next
break;
// If the BST lookup failed but the octree node is a leaf,
// add the brick anyway (it is the BST leaf)
} else if (IsOctreeLeaf(otNodeIndex)) {
AddToList(brickIndex);
// We are now done with this node, so go to next
break;
// If the BST lookup failed and we can traverse the octree,
// visit the child that encloses the point
} else {
// Next box dimension
boxDim = boxDim/2.0f;
// Current mid point
float boxMid = boxDim;
// Check which child encloses P
if (gridType == 0) { // Cartesian
child = EnclosingChild(P, boxMid, offset);
} else { // Spherical (==1)
child = EnclosingChild(CartesianToSpherical(P), boxMid, offset);
}
// Update offset
UpdateOffset(offset, boxDim, child);
// Update node index to new node
//int oldIndex = otNodeIndex;
otNodeIndex = OTChildIndex(otNodeIndex, child);
}
} // while traversing
// Update
traversed = traversed + stepSize;
P = P + stepSize * _rayD;
} // while (traversed < maxDist)
}
void main() {
// Get coordinated
const vec2 texelSize = 1.0 / vec2(textureSize(cubeFront, 0));
const vec2 screenCoords = gl_GlobalInvocationID.xy * texelSize;
const vec3 startPos = texture(cubeFront, screenCoords).xyz;
const vec3 endPos = texture(cubeBack, screenCoords).xyz;
// Calculate direction of raycasting
vec3 dir = startPos - endPos;
const float maxDist = length(dir);
dir = normalize(dir);
// Early termination
if(maxDist == 0.0)
return;
//AddToList(int(gl_LocalInvocationID.x));
uint globid = gl_GlobalInvocationID.y*gl_WorkGroupSize.x + gl_GlobalInvocationID.x;
int iglobid = int(globid);
if(globid < 1000)
reqBrick[iglobid] = tsp[iglobid];
TraverseOctree(startPos, dir, maxDist);
//imageStore(out_image, coord, vec4(dir, 1));
}

View File

@@ -0,0 +1,225 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
#version __CONTEXT__
// Textures and buffers
uniform sampler2D cubeFront;
uniform sampler2D cubeBack;
// TSP settings
uniform int gridType = 0;
uniform float stepSize = 0.002;
uniform int numTimesteps = 0;
uniform float temporalTolerance = -1.0;
uniform float spatialTolerance = -1.0;
layout( std140, binding=1 ) buffer reqBuffer
{
int reqBrick[ ];
};
#include "helpers_cs.hglsl"
in vec4 vs_position;
in vec4 vs_color;
//#include <${SHADERS}/ABuffer/abufferStruct.hglsl>
//#include <${SHADERS}/ABuffer/abufferAddToBuffer.hglsl>
//#include <${SHADERS}/PowerScaling/powerScaling_fs.hglsl>
// Increment the count for a brick in the request list
void AddToList(int _brickIndex) {
//atomic_inc(&_reqList[_brickIndex]);
// only used to flag requested brick, no need for concurrency
reqBrick[_brickIndex] = 1;
//imageStore(reqList, coord, ivec4(1,0,0,0));
}
// Given an octree node index, traverse the corresponding BST tree and look
// for a useful brick.
bool TraverseBST(int _otNodeIndex, inout int _brickIndex) {
// Start at the root of the current BST
int bstNodeIndex = _otNodeIndex;
bool bstRoot = true;
int timespanStart = 0;
int timespanEnd = numTimesteps;
// Rely on structure for termination
for(int i = 0; i < TraverseBSTLimit; ++i) {
//while (true) {
// Update brick index (regardless if we use it or not)
_brickIndex = BrickIndex(bstNodeIndex);
// If temporal error is ok
// TODO float and <= errors
if (TemporalError(bstNodeIndex) <= temporalTolerance)
{
// If the ot node is a leaf, we can't do any better spatially so we
// return the current brick
if (IsOctreeLeaf(_otNodeIndex)) {
return true;
// All is well!
} else if (SpatialError(bstNodeIndex) <= spatialTolerance) {
return true;
// If spatial failed and the BST node is a leaf
// The traversal will continue in the octree (we know that
// the octree node is not a leaf)
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
// Keep traversing BST
} else {
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
// If temporal error is too big and the node is a leaf
// Return false to traverse OT
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
// If temporal error is too big and we can continue
} else {
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
bstRoot = false;
}
// Hopefully we never go here
return false;
}
void TraverseOctree(const vec3 _rayO, const vec3 _rayD, const float _maxDist) {
vec3 P = _rayO;
// Keep traversing until the sample point goes outside the unit cube
float traversed = 0.0f;
while (traversed < _maxDist) {
// Reset traversal variables
vec3 offset = vec3(0.0, 0.0, 0.0);
float boxDim = 1.0f;
int child;
// Init the octree node index to the root
int otNodeIndex = OctreeRootNodeIndex();
// Start traversing octree
// Rely on finding a leaf for loop termination
for(int i = 0; i < TraverseOctreeLimit; ++i) {
//while (true) {
// See if the BST tree is good enough
int brickIndex = 0;
bool bstSuccess = TraverseBST(otNodeIndex, brickIndex);
if (bstSuccess) {
// Add the found brick to brick list
AddToList(brickIndex);
// We are now done with this node, so go to next
break;
// If the BST lookup failed but the octree node is a leaf,
// add the brick anyway (it is the BST leaf)
} else if (IsOctreeLeaf(otNodeIndex)) {
AddToList(brickIndex);
// We are now done with this node, so go to next
break;
// If the BST lookup failed and we can traverse the octree,
// visit the child that encloses the point
} else {
// Next box dimension
boxDim = boxDim/2.0f;
// Current mid point
float boxMid = boxDim;
// Check which child encloses P
if (gridType == 0) { // Cartesian
child = EnclosingChild(P, boxMid, offset);
} else { // Spherical (==1)
child = EnclosingChild(CartesianToSpherical(P), boxMid, offset);
}
// Update offset
UpdateOffset(offset, boxDim, child);
// Update node index to new node
//int oldIndex = otNodeIndex;
otNodeIndex = OTChildIndex(otNodeIndex, child);
}
} // while traversing
// Update
traversed = traversed + stepSize;
P = P + stepSize * _rayD;
} // while (traversed < maxDist)
}
void main() {
// Get coordinated
const vec3 startPos = vs_color.xyz;
const vec3 endPos = texture(cubeBack, gl_FragCoord.xy).xyz;
// Calculate direction of raycasting
vec3 dir = startPos - endPos;
const float maxDist = length(dir);
dir = normalize(dir);
// Early termination
if(maxDist == 0.0)
discard;
TraverseOctree(startPos, dir, maxDist);
discard;
//imageStore(out_image, coord, vec4(dir, 1));
}

16
data/scene/flare/fire.txt Normal file
View File

@@ -0,0 +1,16 @@
width 1024
lower 0.0
upper 1.0
//mappingkey 0.005 0 0 0 0
//mappingkey 0.1 43 17 39 50
mappingkey 0.1 0 0 0 0
mappingkey 0.2 13 22 101 90
mappingkey 0.3 17 68 131 255
mappingkey 0.4 17 116 109 150
mappingkey 0.5 17 153 70 150
mappingkey 0.6 47 188 17 254
mappingkey 0.7 132 210 17 254
mappingkey 0.8 223 216 99 150
mappingkey 0.9 0 0 0 0
//mappingkey 0.9 255 230 209 70
//mappingkey 0.99 255 255 255 70

View File

@@ -0,0 +1,29 @@
return {
-- Flare module
{
Name = "Flare",
Parent = "Root",
Ephemeris = {
Type = "Static",
Position = { 0, 0, 0, 0}
},
Renderable = {
Type = "RenderableFlare",
Source = "${OPENSPACE_DATA}/enlil_64_32_8.tsp",
--TransferFunction = "${OPENSPACE_DATA}/scene/earth/textures/graph.jpg",
TransferFunction = "fire.txt",
--TSPTraversal = "TSPTraversal_cs.glsl",
--raycasterTSP = "raycasterTSP_cs.glsl",
TSPTraversal = "TSPTraversal_fs.glsl",
raycasterTSP = "raycasterTSP_fs.glsl",
local_worksize_x = 16, -- defaults to 16
local_worksize_y = 16, -- defaults to 16
tsp_traveral_stepsize = 0.02,
raycaster_stepsize = 0.005,
},
GuiName = "/Volumes/Flare"
}
}

View File

@@ -0,0 +1,206 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
// Math defintions
#define TraverseBSTLimit 50
#define TraverseOctreeLimit 50
// TSP settings
uniform int numValuesPerNode = 0;
uniform int numOTNodes = 0;
uniform int timestep = 0;
layout( std140, binding=0 ) buffer tspBuffer
{
int tsp[ ];
};
#define M_E 2.7182818284590452354
#define M_LOG2E 1.4426950408889634074 /* log_2 e */
#define M_LOG10E 0.43429448190325182765 /* log_10 e */
#define M_LN2 0.69314718055994530942 /* log_e 2 */
#define M_LN10 2.30258509299404568402 /* log_e 10 */
#define M_PI 3.14159265358979323846 /* pi */
#define M_PI_2 1.57079632679489661923 /* pi/2 */
#define M_PI_4 0.78539816339744830962 /* pi/4 */
#define M_1_PI 0.31830988618379067154 /* 1/pi */
#define M_2_PI 0.63661977236758134308 /* 2/pi */
#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
#define M_SQRT1_3 0.57735026919 /* 1/sqrt(3) */
vec3 CartesianToSpherical(vec3 _cartesian) {
// Put cartesian in [-1..1] range first
vec3 cartesian = vec3(-1.0,-1.0,-1.0) + _cartesian * 2.0f;
float r = length(cartesian);
float theta, phi;
if (r == 0.0) {
theta = phi = 0.0;
} else {
theta = acos(cartesian.z/r) / M_PI;
phi = (M_PI + atan(cartesian.y, cartesian.x)) / (2.0*M_PI );
}
r *= M_SQRT1_3;
// r = r / sqrt(3.0f);
// Sampler ignores w component
return vec3(r, theta, phi);
}
// Return index to the octree root (same index as BST root at that OT node)
int OctreeRootNodeIndex() {
return 0;
}
// Return index to left BST child (low timespan)
int LeftBST(int _bstNodeIndex, bool _bstRoot) {
// If the BST node is a root, the child pointer is used for the OT.
// The child index is next to the root.
// If not root, look up in TSP structure.
if (_bstRoot) {
return (_bstNodeIndex + numOTNodes);
//return _bstNodeIndex + 1;
} else {
return tsp[uint(_bstNodeIndex*numValuesPerNode + 1)];
}
}
// Return index to right BST child (high timespan)
int RightBST(int _bstNodeIndex, bool _bstRoot) {
if (_bstRoot) {
return (_bstNodeIndex + numOTNodes*2);
} else {
return (tsp[uint(_bstNodeIndex*numValuesPerNode + 1)] + numOTNodes);
}
}
// Return child node index given a BST node, a time span and a timestep
// Updates timespan
int ChildNodeIndex(int _bstNodeIndex,
inout int _timespanStart,
inout int _timespanEnd,
bool _bstRoot) {
// Choose left or right child
int middle = _timespanStart + (_timespanEnd - _timespanStart)/2;
if (timestep <= middle) {
// Left subtree
_timespanEnd = middle;
return LeftBST(_bstNodeIndex, _bstRoot);
} else {
// Right subtree
_timespanStart = middle+1;
return RightBST(_bstNodeIndex, _bstRoot);
}
}
// Return the brick index that a BST node represents
int BrickIndex(int _bstNodeIndex) {
return tsp[uint(_bstNodeIndex*numValuesPerNode + 0)];
}
// Checks if a BST node is a leaf ot not
bool IsBSTLeaf(int _bstNodeIndex, bool _bstRoot) {
if (_bstRoot) return false;
return (tsp[uint(_bstNodeIndex*numValuesPerNode + 1)] == -1);
}
// Checks if an OT node is a leaf or not
bool IsOctreeLeaf(int _otNodeIndex) {
// CHILD_INDEX is at offset 1, and -1 represents leaf
return (tsp[uint(_otNodeIndex*numValuesPerNode + 1)] == -1);
}
// Return OT child index given current node and child number (0-7)
int OTChildIndex(int _otNodeIndex, int _child) {
int firstChild = tsp[uint(_otNodeIndex*numValuesPerNode+1)];
return firstChild + _child;
}
float TemporalError(int _bstNodeIndex) {
return float(tsp[uint(_bstNodeIndex*numValuesPerNode + 3)]);
}
float SpatialError(int _bstNodeIndex) {
return float(tsp[uint(_bstNodeIndex*numValuesPerNode + 2)]);
}
// Given a point, a box mid value and an offset, return enclosing child
int EnclosingChild(vec3 _P, float _boxMid, vec3 _offset) {
if (_P.x < _boxMid+_offset.x) {
if (_P.y < _boxMid+_offset.y) {
if (_P.z < _boxMid+_offset.z) {
return 0;
} else {
return 4;
}
} else {
if (_P.z < _boxMid+_offset.z) {
return 2;
} else {
return 6;
}
}
} else {
if (_P.y < _boxMid+_offset.y) {
if (_P.z < _boxMid+_offset.z) {
return 1;
} else {
return 5;
}
} else {
if (_P.z < _boxMid+_offset.z) {
return 3;
} else {
return 7;
}
}
}
}
void UpdateOffset(inout vec3 _offset, float _boxDim, int _child) {
if (_child == 0) {
// do nothing
} else if (_child == 1) {
_offset.x += _boxDim;
} else if (_child == 2) {
_offset.y += _boxDim;
} else if (_child == 3) {
_offset.x += _boxDim;
_offset.y += _boxDim;
} else if (_child == 4) {
_offset.z += _boxDim;
} else if (_child == 5) {
_offset.x += _boxDim;
_offset.z += _boxDim;
} else if (_child == 6) {
_offset.y += _boxDim;
_offset.z += _boxDim;
} else if (_child == 7) {
_offset += vec3(_boxDim,_boxDim,_boxDim);
}
}

View File

@@ -0,0 +1,49 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
#version __CONTEXT__
uniform mat4 modelViewProjection;
uniform mat4 modelTransform;
layout(location = 0) in vec4 in_position;
layout(location = 1) in vec4 in_color;
out vec4 vs_position;
out vec4 vs_color;
#include <${SHADERS}/PowerScaling/powerScaling_vs.hglsl>
void main()
{
vs_color = in_color;
vec4 tmp = in_position;
vec4 position = pscTransform(tmp, modelTransform);
vs_position = tmp;
position = modelViewProjection * position;
gl_Position = z_normalization(position);
}

View File

@@ -0,0 +1,290 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
#version __CONTEXT__
// Workgroup size
layout(local_size_x = 16, local_size_y = 16) in;
// Textures and buffers
uniform sampler2D cubeFront;
uniform sampler2D cubeBack;
uniform sampler3D textureAtlas;
uniform sampler1D transferFunction;
//layout (r32i, binding = 2) writeonly uniform iimage2D reqList;
//layout (r32i, binding = 2) readonly uniform iimage2D brickList;
layout (rgba32f, binding = 3) writeonly uniform image2D out_image;
// TSP settings
uniform int gridType = 0;
uniform float stepSize = 0.002;
uniform int numTimesteps = 0;
uniform float temporalTolerance = -1.0;
uniform float spatialTolerance = -1.0;
uniform int numBoxesPerAxis = 0;
uniform int paddedBrickDim = 0;
uniform int rootLevel = 0;
layout( std140, binding=1 ) buffer Bricks
{
int brickList[ ];
};
#include "helpers_cs.hglsl"
const ivec2 coord = ivec2(gl_GlobalInvocationID.xy);
// Converts a global coordinate [0..1] to a box coordinate [0..boxesPerAxis]
ivec3 BoxCoords(vec3 _globalCoords, int _boxesPerAxis) {
ivec3 boxCoords = ivec3(_globalCoords * float(_boxesPerAxis));
return clamp(boxCoords, ivec3(0, 0, 0), ivec3(_boxesPerAxis-1));
}
// Fetch atlas box coordinates from brick list
ivec3 AtlasBoxCoords(int _brickIndex) {
int x = brickList[uint(3*_brickIndex+0)];
int y = brickList[uint(3*_brickIndex+1)];
int z = brickList[uint(3*_brickIndex+2)];
return ivec3(x, y, z);
}
// Convert a global coordinate to a local in-box coordinate, given
// the number of boxes (of this size) per axis and the box coordinates
vec3 InBoxCoords(vec3 _globalCoords, ivec3 _boxCoords,
int _boxesPerAxis, int _paddedBrickDim) {
// Calculate [0.0 1.0] box coordinates
vec3 inbox = (_globalCoords - vec3(_boxCoords)/float(_boxesPerAxis))
* float(_boxesPerAxis);
// Map to padding range
float low = 1.0/float(_paddedBrickDim);
float high = float(_paddedBrickDim-1)/float(_paddedBrickDim);
return vec3(low) + inbox * (vec3(high)-vec3(low));
}
vec3 AtlasCoords(vec3 _globalCoords, int _brickIndex, int _boxesPerAxis,
int _paddedBrickDim, int _level) {
// Use current octree level to calculate dividing factor for coordinates
int divisor = int(pow(2.0, _level));
// Calculate box coordinates, taking current subdivision level into account
ivec3 boxCoords = BoxCoords(_globalCoords, _boxesPerAxis/divisor);
// Calculate local in-box coordinates for the point
vec3 inBoxCoords = InBoxCoords(_globalCoords, boxCoords,
_boxesPerAxis/divisor,
_paddedBrickDim*divisor);
// Fetch atlas box coordinates
ivec3 atlasBoxCoords = AtlasBoxCoords(_brickIndex);
// Transform coordinates to atlas coordinates
return inBoxCoords/float(_boxesPerAxis) +
vec3(atlasBoxCoords)/float(_boxesPerAxis);
}
// Sample atlas
void SampleAtlas(inout vec4 _color, vec3 _coords, int _brickIndex, int _level) {
// Find the texture atlas coordinates for the point
vec3 atlasCoords = AtlasCoords(_coords, _brickIndex,
numBoxesPerAxis, paddedBrickDim,
_level);
ivec3 boxCoords = BoxCoords(_coords, numBoxesPerAxis);
vec3 a4 = vec3(atlasCoords.x, atlasCoords.y, atlasCoords.z);
// Sample the atlas
float intensity = texture(textureAtlas, a4).x;
// Composition
vec4 tf = texture(transferFunction, intensity);
_color += (1.0f - _color.a)*tf;
}
bool TraverseBST(int _otNodeIndex, inout int _brickIndex) {
// Start att the root of the current BST
int bstNodeIndex = _otNodeIndex;
bool bstRoot = true;
int timespanStart = 0;
int timespanEnd = numTimesteps;
for(int i = 0; i < TraverseBSTLimit; ++i) {
_brickIndex = BrickIndex(bstNodeIndex);
// Check temporal error
if (TemporalError(bstNodeIndex) <= temporalTolerance) {
// If the OT node is a leaf, we cannot do any better spatially
if (IsOctreeLeaf(_otNodeIndex)) {
return true;
} else if (SpatialError(bstNodeIndex) <= spatialTolerance) {
return true;
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
} else {
// Keep traversing
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
} else {
// Keep traversing
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
bstRoot = false;
}
}
vec4 TraverseOctree(vec3 _rayO, vec3 _rayD, float _maxDist) {
float stepsize = stepSize;
// Sample point
vec3 cartesianP = _rayO;
// Keep track of distance traveled along ray
float traversed = 0;
// Cumulative color for ray to return
vec4 color = vec4(0,0,0,0);
// Traverse until sample point is outside of volume
while (traversed < _maxDist) {
// Reset octree traversal variables
vec3 offset = vec3(0.0, 0.0, 0.0);
float boxDim = 1.0;
bool foundBrick = false;
int child;
int level = rootLevel;
int otNodeIndex = 0;
// Rely on finding a leaf for loop termination
for(int i = 0; i < TraverseOctreeLimit; ++i) {
// Traverse BST to get a brick index, and see if the found brick
// is good enough
int brickIndex;
bool bstSuccess = TraverseBST(otNodeIndex, brickIndex);
// Convert to spherical if needed
vec3 sampleP;
if (gridType == 0) { // cartesian
sampleP = cartesianP;
} else { // spherical ( == 1)
sampleP = CartesianToSpherical(cartesianP);
}
if (bstSuccess ||
IsOctreeLeaf(otNodeIndex)) {
//float s = 0.008*SpatialError(brickIndex, 4, _tsp);
//color += (float4)(s);
// Sample the brick
SampleAtlas(color, sampleP, brickIndex, level);
break;
} else {
// Keep traversing the octree
// Next box dimension
boxDim /= 2.0f;
// Current mid point
float boxMid = boxDim;
// Check which child encloses the sample point
child = EnclosingChild(sampleP, boxMid, offset);
// Update offset for next level
UpdateOffset(offset, boxDim, child);
// Update index to new node
otNodeIndex = OTChildIndex(otNodeIndex, child);
level--;
}
} // while traversing
// Update sample point
traversed += stepsize;
cartesianP += stepsize * _rayD;
} // while (traversed < maxDist)
return color;
}
void main() {
// Get coordinated
const vec2 texelSize = 1.0 / vec2(textureSize(cubeFront, 0));
const vec2 screenCoords = gl_GlobalInvocationID.xy * texelSize;
const vec3 startPos = texture(cubeFront, screenCoords).xyz;
const vec3 endPos = texture(cubeBack, screenCoords).xyz;
// Calculate direction of raycasting
vec3 dir = startPos - endPos;
const float maxDist = length(dir);
dir = normalize(dir);
// Early termination
if(maxDist == 0.0)
return;
vec4 color = TraverseOctree(startPos, dir, maxDist);
//color += vec4(1, 0, 0, 1);
//vec4 color = vec4(dir,1);
//vec4 color = vec4(dir,1);
// Store result
imageStore(out_image, coord, color);
}

View File

@@ -0,0 +1,290 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014 *
* *
* 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. *
****************************************************************************************/
#version __CONTEXT__
// Textures and buffers
uniform sampler2D cubeFront;
uniform sampler2D cubeBack;
uniform sampler3D textureAtlas;
uniform sampler1D transferFunction;
//layout (r32i, binding = 2) writeonly uniform iimage2D reqList;
//layout (r32i, binding = 2) readonly uniform iimage2D brickList;
layout (rgba32f, binding = 3) writeonly uniform image2D out_image;
// TSP settings
uniform int gridType = 0;
uniform float stepSize = 0.002;
uniform int numTimesteps = 0;
uniform float temporalTolerance = -1.0;
uniform float spatialTolerance = -1.0;
uniform int numBoxesPerAxis = 0;
uniform int paddedBrickDim = 0;
uniform int rootLevel = 0;
in vec4 vs_position;
in vec4 vs_color;
layout( std140, binding=1 ) buffer Bricks
{
int brickList[ ];
};
#include "helpers_cs.hglsl"
// Converts a global coordinate [0..1] to a box coordinate [0..boxesPerAxis]
ivec3 BoxCoords(vec3 _globalCoords, int _boxesPerAxis) {
ivec3 boxCoords = ivec3(_globalCoords * float(_boxesPerAxis));
return clamp(boxCoords, ivec3(0, 0, 0), ivec3(_boxesPerAxis-1));
}
// Fetch atlas box coordinates from brick list
ivec3 AtlasBoxCoords(int _brickIndex) {
int x = brickList[uint(3*_brickIndex+0)];
int y = brickList[uint(3*_brickIndex+1)];
int z = brickList[uint(3*_brickIndex+2)];
return ivec3(x, y, z);
}
// Convert a global coordinate to a local in-box coordinate, given
// the number of boxes (of this size) per axis and the box coordinates
vec3 InBoxCoords(vec3 _globalCoords, ivec3 _boxCoords,
int _boxesPerAxis, int _paddedBrickDim) {
// Calculate [0.0 1.0] box coordinates
vec3 inbox = (_globalCoords - vec3(_boxCoords)/float(_boxesPerAxis))
* float(_boxesPerAxis);
// Map to padding range
float low = 1.0/float(_paddedBrickDim);
float high = float(_paddedBrickDim-1)/float(_paddedBrickDim);
return vec3(low) + inbox * (vec3(high)-vec3(low));
}
vec3 AtlasCoords(vec3 _globalCoords, int _brickIndex, int _boxesPerAxis,
int _paddedBrickDim, int _level) {
// Use current octree level to calculate dividing factor for coordinates
int divisor = int(pow(2.0, _level));
// Calculate box coordinates, taking current subdivision level into account
ivec3 boxCoords = BoxCoords(_globalCoords, _boxesPerAxis/divisor);
// Calculate local in-box coordinates for the point
vec3 inBoxCoords = InBoxCoords(_globalCoords, boxCoords,
_boxesPerAxis/divisor,
_paddedBrickDim*divisor);
// Fetch atlas box coordinates
ivec3 atlasBoxCoords = AtlasBoxCoords(_brickIndex);
// Transform coordinates to atlas coordinates
return inBoxCoords/float(_boxesPerAxis) +
vec3(atlasBoxCoords)/float(_boxesPerAxis);
}
// Sample atlas
void SampleAtlas(inout vec4 _color, vec3 _coords, int _brickIndex, int _level) {
// Find the texture atlas coordinates for the point
vec3 atlasCoords = AtlasCoords(_coords, _brickIndex,
numBoxesPerAxis, paddedBrickDim,
_level);
ivec3 boxCoords = BoxCoords(_coords, numBoxesPerAxis);
vec3 a4 = vec3(atlasCoords.x, atlasCoords.y, atlasCoords.z);
// Sample the atlas
float intensity = texture(textureAtlas, a4).x;
// Composition
vec4 tf = texture(transferFunction, intensity);
_color += (1.0f - _color.a)*tf;
}
bool TraverseBST(int _otNodeIndex, inout int _brickIndex) {
// Start att the root of the current BST
int bstNodeIndex = _otNodeIndex;
bool bstRoot = true;
int timespanStart = 0;
int timespanEnd = numTimesteps;
for(int i = 0; i < TraverseBSTLimit; ++i) {
_brickIndex = BrickIndex(bstNodeIndex);
// Check temporal error
if (TemporalError(bstNodeIndex) <= temporalTolerance) {
// If the OT node is a leaf, we cannot do any better spatially
if (IsOctreeLeaf(_otNodeIndex)) {
return true;
} else if (SpatialError(bstNodeIndex) <= spatialTolerance) {
return true;
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
} else {
// Keep traversing
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
} else if (IsBSTLeaf(bstNodeIndex, bstRoot)) {
return false;
} else {
// Keep traversing
bstNodeIndex = ChildNodeIndex(bstNodeIndex,
timespanStart,
timespanEnd,
bstRoot);
}
bstRoot = false;
}
}
vec4 TraverseOctree(vec3 _rayO, vec3 _rayD, float _maxDist) {
float stepsize = stepSize;
// Sample point
vec3 cartesianP = _rayO;
// Keep track of distance traveled along ray
float traversed = 0;
// Cumulative color for ray to return
vec4 color = vec4(0,0,0,0);
// Traverse until sample point is outside of volume
while (traversed < _maxDist) {
// Reset octree traversal variables
vec3 offset = vec3(0.0, 0.0, 0.0);
float boxDim = 1.0;
bool foundBrick = false;
int child;
int level = rootLevel;
int otNodeIndex = 0;
// Rely on finding a leaf for loop termination
for(int i = 0; i < TraverseOctreeLimit; ++i) {
// Traverse BST to get a brick index, and see if the found brick
// is good enough
int brickIndex;
bool bstSuccess = TraverseBST(otNodeIndex, brickIndex);
// Convert to spherical if needed
vec3 sampleP;
if (gridType == 0) { // cartesian
sampleP = cartesianP;
} else { // spherical ( == 1)
sampleP = CartesianToSpherical(cartesianP);
}
if (bstSuccess ||
IsOctreeLeaf(otNodeIndex)) {
//float s = 0.008*SpatialError(brickIndex, 4, _tsp);
//color += (float4)(s);
// Sample the brick
SampleAtlas(color, sampleP, brickIndex, level);
break;
} else {
// Keep traversing the octree
// Next box dimension
boxDim /= 2.0f;
// Current mid point
float boxMid = boxDim;
// Check which child encloses the sample point
child = EnclosingChild(sampleP, boxMid, offset);
// Update offset for next level
UpdateOffset(offset, boxDim, child);
// Update index to new node
otNodeIndex = OTChildIndex(otNodeIndex, child);
level--;
}
} // while traversing
// Update sample point
traversed += stepsize;
cartesianP += stepsize * _rayD;
} // while (traversed < maxDist)
return color;
}
void main() {
// Get coordinated
const vec3 startPos = vs_color.xyz;
const vec3 endPos = texture(cubeBack, gl_FragCoord.xy).xyz;
// Calculate direction of raycasting
vec3 dir = startPos - endPos;
const float maxDist = length(dir);
dir = normalize(dir);
// Early termination
if(maxDist == 0.0)
discard;
// Early termination
if(maxDist == 0.0)
return;
vec4 color = TraverseOctree(startPos, dir, maxDist);
//color += vec4(1, 0, 0, 1);
//vec4 color = vec4(dir,1);
//vec4 color = vec4(dir,1);
// Store result
imageStore(out_image, ivec2(gl_FragCoord.xy), color);
discard;
}

View File

@@ -0,0 +1,5 @@
return {
FileRequest = {
{ Identifier = "ganymede_textures", Destination = "textures", Version = 1 }
},
}

View File

@@ -0,0 +1,61 @@
return {
-- Ganymede module
{
Name = "Ganymede",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderablePlanet",
Frame = "IAU_GANYMEDE", -- should exist.
Geometry = {
Type = "SimpleSphere",
Radius = { 2.631, 6},
Segments = 100
},
Textures = {
Type = "simple",
Color = "textures/ganymede.jpg",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Spice",
Body = "GANYMEDE",
Reference = "ECLIPJ2000",
Observer = "JUPITER BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_JUPITER",
Reference = "ECLIPJ2000"
},
GuiName = "/Solar/Planets/Ganymede"
},
-- GanymedeTrail module
{
Name = "GanymedeTrail",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "GANYMEDE",
Frame = "GALACTIC",
Observer = "JUPITER BARYCENTER",
RGB = { 0.4, 0.3, 0.3 },
TropicalOrbitPeriod = 60 ,
EarthOrbitRatio = 0.019,
DayLength = 9.9259,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/GanymedeTrail"
}
}

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