Commit Graph

671 Commits

Author SHA1 Message Date
Alexander Bock
1dbe58a8ac Add a new property to control whether the blackout factor should apply to the master (closes #2923) 2023-10-18 22:29:51 +02:00
Gene Payne
c6ffddd253 Non-Windows compiler fix for empty initializer list 2023-09-22 11:35:10 -06:00
Malin E
ce789fcd22 Feature/matrix maintenance (#2875)
* Split RenderableSphere class into a local and an online sphere

* Make the video sphere derive from the regular sphere

* Make RenderableTimeVaryingSphere derive from RenderableSphere

* Some clean up

* Add general functions for renderable matrix calculations

* Make RenderableSphere and Plane use them

* Fix an issue with the RenderablePlane shader

* Make one function that returns all three types of render matrices

* Make more Renderables use the general matric calculation function

* Make more Renderable use the general matrix function

* Simplify alternative transforms for matrix calculations

* Small clean-up

* Update RenderableModel (again) to use new transform functions

* Make calc all matrix function to return tuple

* Update some more places
2023-09-21 14:22:36 +02:00
Emma Broman
d77836d910 Feature/arrow renderable (#2219)
* Create a RenderableNodeLine example asset

* First version of node direction hint renderable (arrow)

* Add possibility to set length as a multiplier of the bounding sphere

* Draw arrow cylinder using index array

* Update exponents and min max values for lengths

* Draw arrow head

* Only update arrow geometry when positions change

* Add some properties to control visuals of arrow

* Implement invert option

* Add normals and shading

* Set arrow head size by length percentage instead of angle

* Add bottom circle to cone

* Cleanup and update examples

* Remove non-existing property from example asset

* Fix vertices not updating if anchor node was changed

And some missing updates on property change

* Start cleaning up some shape rendering helper functions

* Cleanup code and move cylinder function to helper class

* Refactor cylinder creation code (fewer loops over same vector)

* Update transformations to correctly scale and place arrow

* Add the cone to make the arrowhead

* Update faulty triangle normals

* Add property visibilities

* Rename NodeDirectionHint to NodeArrow

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>


---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-09-11 11:04:46 +02:00
Malin E
4447de87f5 Issue/2768 (#2872)
* Rename remote scripting property to reflect better what it does

* Change the remote scripting name in all modules

* Update all scripts and action calls to use the new property for sync

* Simplify code that decides whether to send actions to nodes and peers

* Move Lua console hint text to be right top aligned

* Update Lua script topic

* Added new JSON key whether or not the script should be synced to other
  nodes and peers

* Per default all scripts sync to everyone
  In the next full release, we should have two separate keys that
  decides whether to sync and send to nodes and peers separately

* Add some comments that explain why there is no sync for some scripts

* Make sync argument in trigger action function BooleanType
2023-09-07 13:21:29 +02:00
Alexander Bock
455ee9335a Add a proper blackout to the ScreenSpaceRenderables and a property and codegen option to toggle that behavior (#2868) 2023-08-31 18:19:37 +02:00
Alexander Bock
e7cad060c2 Adapt to coding style 2023-08-11 20:58:41 +02:00
Ylva Selling
0b20affc5d Add border to screenspace renderables 2023-06-15 15:42:32 -04:00
Alexander Bock
bde840ad03 Remove a bunch of compiler warnings
* Remove compile warnings
* Coding style fix
2023-05-16 11:59:28 +02:00
Emma Broman
c714a7f57d Feature/geojson (#2595)
Add the option to add geojson components to globes, from geojson files. One geojson file creates one GeoJsonComponent, which in turn may contain multiple GlobeGeometryFeatures

Geojson is a format that supports points, lines, and polygons. In addition to the basic functionality, extra features have been added that will long-term allow rendering the geometry needed to represent KML files (another format for geospatial geometry data). Here are links to references for both formats:

    Geojson: https://geojson.org/
    KML: https://developers.google.com/kml/documentation/kmlreference

data/assets/examples/geojson includes some example files that I have used for testing. Any geojson file can also be added through drag-n-drop. Note however that you might need to change the AltitudeMode or HeightOffset properties for the feature to be visible.
2023-04-15 11:35:28 +02:00
Alexander Bock
8c7beea8a4 Reprivatize the registerUpdateRenderBinFromOpacity function 2023-04-15 10:20:39 +02:00
Ylva Selling
54cf02055d Move function in renderable.h to protected that was being used in renderablevideosphere 2023-04-14 18:57:21 -04:00
Malin E
d500c93c8e Merge pull request #2550 from OpenSpace/feature/model-opacity
Feature/model opacity
2023-04-13 17:26:22 +02:00
Malin E
6d8f7b2fbd Handle override RenderBins from asset files 2023-04-13 10:59:23 +02:00
Alexander Bock
19642e8120 Jenkins compile fix 2023-04-12 22:26:19 +02:00
Malin E
dccd439dde Merge branch 'master' into feature/model-opacity
* Solve conflicts in renderablemodel.cpp and renderabletrail.cpp
2023-04-12 17:03:40 +02:00
Alexander Bock
9022aad479 Adding static Settings to Renderable (#2578)
* Add settings to Renderable to control whether the renderbin is updated based on Opacity
* Remove duplicate RenderBin specification for RenderableSphere
* Remove unnecessary RenderBin specifications of Lagrange points
* Don't automatically update the renderbin for RenderableLabel and RenderablePlane
* Remove extra `setRenderBinFromOpacity` from RenderableSpheres
* Move information about whether a renderable should be updated when disabled
* Some cleanup of Renderable class
* Don't update the renderbin automatically if the user specified the renderbin manually
2023-04-10 20:49:01 +02:00
Malin E
bb3c9f013e Merge branch 'master' into feature/model-opacity
* Resolve conflicts in shaders for models and modelprojections
2023-04-06 13:43:23 +02:00
Emma Broman
554373eb3e Fading of propertyowners through GUI, and more owners with fade property (#2557)
* Add property in OpenSpaceEngine for fading duration when enabling / disabling

* Add interface for fadeable components and apply to renderable

* Make layers a fadeable component

* Make globelabels a fadeable component

* Make labelscomponent a fadeable, and give it an enabled property

* Make screenspace renderables fadeable components

* Introduce concept of parent fadeables, to fade out subowners with parent

* Make rings fadeable as well

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-04-06 12:49:49 +02:00
Alexander Bock
0e2d5e245d Add the ability to configure the Console key through the openspace.cfg (closes #2573) 2023-04-03 10:53:09 +02:00
Malin E
be2e9d5caf Address PR comments 2023-03-22 13:37:30 +01:00
Malin E
ee4eb081a0 Merge branch 'master' into feature/model-opacity
* Solve conflict in framebufferrenderer.cpp
2023-03-14 13:59:37 +01:00
Emma Broman
4a50c4cbc0 Double renderbins for renderables (#2520) 2023-03-08 10:59:32 +01:00
Adam Rohdin
88972fc27b New function that resets screenshot index to 0. Usefull when capturing png sequence for video 2023-03-02 14:36:03 +01:00
Malin E
f6eac4f0c7 Take back manual depth test for the two pass model rendering 2023-02-21 18:08:38 +01:00
Malin E
a877324c95 Make sure model rendering works with an odd number of atmospheres 2023-02-21 11:46:16 +01:00
Malin E
05252b8258 Merge branch 'master' into feature/model-opacity
* Solve conflict in iss.asset
2023-02-16 12:07:12 +01:00
Emma Broman
352c9dd5ec Touch module code cleanup (#2465)
* Remove unused feature that allowed us to "pick" nodes using touch (it didn't really work and had some nasty hardcoded and costly implementation). Fixes Touch interaction picking refactor #1041

* General refactoring of code and removing redundant code

* Make touch markers prettier (change default color and smoothen edges)

* Add module property to control which renderable types are "directly touchable"

* Add SGN property to control which individual nodes are "directly touchable" ("SupportsDirectInteraction")

* Fix stuttering when zooming in closer than the orbitalnavigator allows
2023-02-14 13:55:24 +01:00
Adam Rohdin
756ade4e7d DashboardItem now listens to paramter 'enabled' in constructor 2023-02-13 16:09:07 +01:00
Malin E
14edda9e61 Remove problematic manual depth test code 2023-02-01 16:25:19 +01:00
Malin E
f490fccee6 Merge branch 'master' into feature/model-opacity
* Solve conflicts in ghoul, renderablemodel.cpp and iss.asset
2023-02-01 14:52:33 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Malin E
560c58e499 Add manual depth test between models 2022-12-07 14:19:12 +01:00
Malin E
433c2cd3a9 Remove unused hdr framebuffer and texture 2022-11-15 15:57:25 +01:00
Malin E
6c223cd8ae Some clean up 2022-11-03 11:15:21 +01:00
Malin E
0bb6d25e2e Add a new bin in the end of the pipeline 2022-11-03 10:29:53 +01:00
Malin E
8e2f5450f4 Add documentation for texture access functions 2022-11-02 17:34:00 +01:00
Malin E
2fe78e949d Merge branch 'master' into feature/model-opacity 2022-11-02 13:51:22 +01:00
Alexander Bock
6249fa6d89 Collection of a number of changes (#2286)
* Cleanup Property code
* Remove NOLINT statements
* Return Property class types as string_view
* Remove getStringValue function
* Simplify string value retrieval
* Ensure that image paths in the ImageSequenceTileProvider are sorted (closes #2205)
* Some cleanup of OpenSpaceEngine
* Cleanup documentation
* Some more cleanup of engine classes
* Some more cleanup
* Update SGCT repository
* Use new Jenkins node identifiers as the old method broke with update
2022-10-30 12:54:14 +01:00
Malin E
a77e227430 Re-use textures in the FramebufferRenderer for model opacity rendering 2022-10-28 10:12:56 +02:00
Alexander Bock
979a5e3378 SkyBrowser Hash Handling (#2201)
* Add the loading of a hash for wwt image files and automatically force a redownload of the files if the hash has changed
* Move the wwtdataimages location into the sync folder
* Some general code cleanup
2022-08-22 15:16:07 +02:00
Alexander Bock
41a4171aeb Expose the SGCT statistics information through a property in the RenderEngine (closes #2195) 2022-08-01 15:27:05 +02:00
Alexander Bock
9cc4c595a8 Code Cleanup (#2191)
* constexpr const -> constexpr
* const char* -> std::string_view
2022-07-25 15:57:45 +02:00
Alexander Bock
2f58e8ec8e Remove some more warnings 2022-07-22 14:27:45 +02:00
Ylva Selling
b6d6633e95 Add fading functionality to renderables and set the fading to true for the stars and the milky way sphere 2022-07-20 15:15:02 -04:00
Ylva Selling
bcb5c7bd28 Merge branch 'master' into feature/gamma-correction 2022-06-29 04:21:46 -04:00
Alexander Bock
9b1143f02f Ubuntu 22.04 and GCC11 fixes (#2163)
* Update CEF version
* Update Ghoul
* Update SGCT
* Update codegen
* Remove warnings happening on Ubuntu 22.04 with GCC 11
* AppleClang warning fixes
* Compile fix for Ubuntu and MacOS
* Add Qt 6.2.3 to the CMAKE_PREFIX_PATH
2022-06-28 00:46:01 +02:00
Ylva Selling
d23969b8d3 Add gamma correction to screen space renderable (SSR) shader, property for SSR and default value gamma = 2.2 for sky browser display copies 2022-06-21 10:47:44 -04:00
Ylva Selling
d3a955e6be Add scale to topic 2022-05-04 12:27:44 -04:00
Alexander Bock
69c8750921 Feature/imgui (#2060)
* Some cleanup of the ImGUI code
* Reorder the panels
* Make StringPropertys work without losing value on context loss
* Add a new ImGui compoment that shows the status of the scene graph
2022-04-30 13:54:36 +02:00