RenderableGaiaStars
Inherits Renderable
Members
Name |
Documentation |
Type |
Description |
Optional |
---|---|---|---|---|
|
The path to the texture that is used to convert from the magnitude of the star to its color. The texture is used as a one dimensional lookup function. |
|
Value of type ‘String’ |
No |
|
The path to the file with data for the stars to be rendered. |
|
Value of type ‘String’ |
No |
|
This value tells the renderable what format the input data file has. ‘Fits’ will read a FITS file, construct an Octree from it and render full data. ‘Speck’ will read a SPECK file, construct an Octree from it and render full data. ‘BinaryRaw’ will read a preprocessed binary file with ordered star data, construct an Octree and render it. ‘BinaryOctree’ will read a constructed Octree from binary file and render full data. ‘StreamOctree’ will read an index file with full Octree structure and then stream nodes during runtime. (This option is suited for bigger datasets). |
|
In list { Fits, Speck, BinaryRaw, BinaryOctree, StreamOctree } |
No |
|
The path to the texture that should be used as a point spread function for the stars. |
|
Value of type ‘String’ |
No |
|
Determines how many additional nodes around the camera that will be fetched from disk. The first value determines how many additional layers of parents that will be fetched. The second value determines how many layers of descendant that will be fetched from the found parents. |
|
Value of type ‘Vector2 |
Yes |
|
Set the billboard size of all stars. [Works only with billboards]. |
|
Value of type ‘Double’ |
Yes |
|
Set the distance where stars starts to increase in size. Unit is Parsec [Works only with billboards]. |
|
Value of type ‘Double’ |
Yes |
|
A list of strings with the names of all the columns that are to be read from the specified FITS file. No need to define if data already has been processed. [Works only with FileReaderOption::Fits]. |
|
Yes |
|
|
Set threshold for when to cut off star rendering. Stars closer than this threshold are given full opacity. Farther away, stars dim proportionally to the 4-logarithm of their distance. |
|
Value of type ‘Double’ |
Yes |
|
If defined then only stars with Bp-Rp color values between [min, max] will be rendered (if min is set to 0.0 it is read as -Inf, if max is set to 0.0 it is read as +Inf). If min = max then all values equal min|max will be filtered away. |
|
Value of type ‘Vector2 |
Yes |
|
If defined then only stars with Distances values between [min, max] will be rendered (if min is set to 0.0 it is read as -Inf, if max is set to 0.0 it is read as +Inf). Measured in kParsec. |
|
Value of type ‘Vector2 |
Yes |
|
If defined then only stars with G mean magnitude values between [min, max] will be rendered (if min is set to 20.0 it is read as -Inf, if max is set to 20.0 it is read as +Inf). If min = max then all values equal min|max will be filtered away. |
|
Value of type ‘Vector2 |
Yes |
|
If defined then only stars with Position X values between [min, max] will be rendered (if min is set to 0.0 it is read as -Inf, if max is set to 0.0 it is read as +Inf). Measured in kiloParsec. |
|
Value of type ‘Vector2 |
Yes |
|
If defined then only stars with Position Y values between [min, max] will be rendered (if min is set to 0.0 it is read as -Inf, if max is set to 0.0 it is read as +Inf). Measured in kiloParsec. |
|
Value of type ‘Vector2 |
Yes |
|
If defined then only stars with Position Z values between [min, max] will be rendered (if min is set to 0.0 it is read as -Inf, if max is set to 0.0 it is read as +Inf). Measured in kiloParsec. |
|
Value of type ‘Vector2 |
Yes |
|
Set the filter size in pixels used in tonemapping for point splatting rendering[Works only with points]. |
|
Value of type ‘Integer’ |
Yes |
|
Defines the first row that will be read from the specified FITS file No need to define if data already has been processed. [Works only with FileReaderOption::Fits]. |
|
Value of type ‘Integer’ |
Yes |
|
Defines the last row that will be read from the specified FITS file; has to be equal to or greater than FirstRow. No need to define if data already has been processed. [Works only with FileReaderOption::Fits]. |
|
Value of type ‘Integer’ |
Yes |
|
The number of total pixels a nodes AABB can have in clipping space before its parent is fetched as LOD cache. |
|
Value of type ‘Double’ |
Yes |
|
Factor by which to multiply the luminosity with. [Works in Color and Motion modes]. |
|
Value of type ‘Double’ |
Yes |
|
Sets what percent of the star magnitude that will be used as boost to star size. [Works only with billboards in Color and Motion modes]. |
|
Value of type ‘Double’ |
Yes |
|
Sets the max percent of existing CPU memory budget that the streaming of files will use. |
|
Value of type ‘Double’ |
Yes |
|
Sets the max percent of existing GPU memory budget that the streaming will use. |
|
Value of type ‘Double’ |
Yes |
|
Set the threshold for how big the elliptic weight of a pixel has to be to contribute to the final elliptic shape. A smaller value gives a more visually pleasing result while a bigger value will speed up the rendering on skewed frustums (aka Domes). |
|
Value of type ‘Double’ |
Yes |
|
This value determines which predefined columns to use in rendering. If ‘Static’ only the position of the stars is used. ‘Color’ uses position + color parameters and ‘Motion’ uses pos, color as well as velocity for the stars. |
|
In list { Static, Color, Motion } |
Yes |
|
If set to true, any OpenGL errors will be reported if encountered. |
|
Value of type ‘Boolean’ |
Yes |
|
This value determines which shaders to use while rendering. If ‘Point_’ is chosen then gl_Points will be rendered and then spread out with a bloom filter. If ‘Billboard_’ is chosen then the geometry shaders will generate screen-faced billboards for all stars. For ‘_SSBO’ the data will be stored in Shader Storage Buffer Objects while ‘_VBO’ uses Vertex Buffer Objects for the streaming. OBS! SSBO won’t work on Apple. |
|
In list { Point_SSBO, Point_VBO, Billboard_SSBO, Billboard_VBO, Billboard_SSBO_noFBO } |
Yes |
|
Adjust star sharpness. [Works only with billboards]. |
|
Value of type ‘Double’ |
Yes |
|
Set the normal distribution sigma used in tonemapping for point splatting rendering. [Works only with points]. |
|
Value of type ‘Double’ |
Yes |
Inherited members from Renderable
Name |
Documentation |
Type |
Description |
Optional |
---|---|---|---|---|
|
Decides if the object should be dimmed (i.e. faded out) when the camera is in the sunny part of an atmosphere. |
|
Value of type ‘Boolean’ |
Yes |
|
Determines whether this object will be visible or not. |
|
Value of type ‘Boolean’ |
Yes |
|
This value determines the opacity of this renderable. A value of 0 means completely transparent |
|
In range: ( 0,1 ) |
Yes |
|
A value that specifies if the renderable should be rendered in the Background, Opaque, Pre-/PostDeferredTransparency, Overlay, or Sticker rendering step. |
|
In list { Background, Opaque, PreDeferredTransparent, PostDeferredTransparent, Overlay } |
Yes |
|
A single tag or a list of tags that this renderable will respond to when setting properties |
|
Value of type ‘Table’, or Value of type ‘String’ |
Yes |
|
The type of the renderable. |
|
Value of type ‘String’ |
Yes |
Table parameters for ColumnNames
A list of strings with the names of all the columns that are to be read from the specified FITS file. No need to define if data already has been processed. [Works only with FileReaderOption::Fits].
Optional: Yes
Name |
Documentation |
Type |
Description |
Optional |
---|---|---|---|---|
|
|
Value of type ‘String’ |
Yes |
Asset Examples
1local fullOS = openspace.systemCapabilities.fullOperatingSystem()
2if string.find(fullOS, "Darwin") then
3 openspace.printWarning("Gaia module (RenderableGaiaStars) not supported on mac")
4 return
5end
6
7-- Download a preprocessed binary octree of Radial Velocity subset values per star
8-- (preprocessed into 8 binary files).
9local starsFolder = asset.resource({
10 Name = "Gaia Stars RV",
11 Type = "HttpSynchronization",
12 Identifier = "gaia_stars_rv_octree",
13 Version = 1
14})
15
16local colormaps = asset.resource({
17 Name = "Stars Color Table",
18 Type = "HttpSynchronization",
19 Identifier = "stars_colormap",
20 Version = 3
21})
22
23local textures = asset.resource({
24 Name = "Stars Textures",
25 Type = "HttpSynchronization",
26 Identifier = "stars_textures",
27 Version = 1
28})
29
30
31local GaiaStars = {
32 Identifier = "GaiaStars",
33 Renderable = {
34 Type = "RenderableGaiaStars",
35 File = starsFolder,
36 FileReaderOption = "StreamOctree",
37 RenderMode = "Motion",
38 ShaderOption = "Point_SSBO",
39 Texture = textures .. "halo.png",
40 ColorMap = colormaps .. "colorbv.cmap",
41 LuminosityMultiplier = 35,
42 MagnitudeBoost = 25,
43 CutOffThreshold = 38,
44 BillboardSize = 1,
45 CloseUpBoostDist = 250,
46 Sharpness = 1.45,
47 LodPixelThreshold = 0,
48 MaxGpuMemoryPercent = 0.24,
49 MaxCpuMemoryPercent = 0.4,
50 FilterSize = 5,
51 Sigma = 0.5,
52 AdditionalNodes = { 3.0, 2.0 },
53 FilterPosX = { 0.0, 0.0 },
54 FilterPosY = { 0.0, 0.0 },
55 FilterPosZ = { 0.0, 0.0 },
56 FilterGMag = { 20.0, 20.0 },
57 FilterBpRp = { 0.0, 0.0 },
58 FilterDist = { 9.0, 9.0 }
59 },
60 GUI = {
61 Name = "Gaia Stars",
62 Path = "/Milky Way",
63 Description = "Radial Velocity subset of GaiaDR2"
64 }
65}
66
67
68asset.onInitialize(function()
69 openspace.addSceneGraphNode(GaiaStars)
70end)
71
72asset.onDeinitialize(function()
73 openspace.removeSceneGraphNode(GaiaStars)
74end)
75
76asset.export(GaiaStars)
77
78
79
80asset.meta = {
81 Name = "Gaia Stars",
82 Description = [[This asset contains a subset of GaiaDR2. This subset contains 7.5M stars which have
83 accurate values for a number of columns]],
84 Author = "ESA/Gaia/DPAC",
85 URL = "https://gea.esac.esa.int/archive/documentation/GDR2/index.html",
86 License = [[The Gaia data are open and free to use, provided credit is given to
87 'ESA/Gaia/DPAC'. In general, access to, and use of, ESA's Gaia Archive (hereafter
88 called 'the website') constitutes acceptance of the following general terms and
89 conditions. Neither ESA nor any other party involved in creating, producing, or
90 delivering the website shall be liable for any direct, incidental, consequential,
91 indirect, or punitive damages arising out of user access to, or use of, the website.
92 The website does not guarantee the accuracy of information provided by external
93 sources and accepts no responsibility or liability for any consequences arising from
94 the use of such data]]
95}