Commit Graph

920 Commits

Author SHA1 Message Date
benpm 542146eefd fixing some basic code style things 2025-10-01 13:44:33 -06:00
benpm 122ea028f3 Merge remote-tracking branch 'origin/master' into feature/shadows 2025-09-26 13:14:29 -06:00
Alexander Bock 32cff07bf8 New ScreenSpaceText objects (#3794)
* First version of new screenspacetext and screenspacetextdate
* Code restructuring and adding new types
 - ScreenSpaceFramebuffer -> ScreenSpaceRenderableFramebuffer
 - ScreenSpaceText -> ScreenSpaceRenderableText
 - Add new user-facing ScreenSpaceText
 - Add examples
* Add documentation for new ScreenSpace objects
* Add visual tests to new screenspace objects
* Address PR comments
2025-09-26 15:35:05 +02:00
benpm 2c5420e9b9 various fixes to get things building and running
model->globe shadows are broken, however model->model shadows are working
also there are probably some changes that i should've prevented from making it through the merge that need to be removed yet
2025-09-11 16:56:32 -06:00
benpm ca9ca94637 Merge remote-tracking branch 'origin/master' into feature/shadows
(this is not a complete merge of all of moon-shot's features, it's only shadow mapping)
2025-09-10 16:09:32 -06:00
Alexander Bock ff72e47f7b Move to use postfix increment only 2025-09-07 16:56:59 +02:00
Alexander Bock 685af84339 Adjust properties to new capitalization rules 2025-09-07 15:13:45 +02:00
Joakim Kilby 0fbda9e7e2 fix issue with wireframe rendering of transparent models 2025-08-20 07:32:37 +02:00
Adam Rohdin 559190d7d7 Some rework for renderableTrailTrajectory (#3742)
Removed feature sweepChunk.
The feature was implemented for version 0.19.0 as an iterative way to calculate renderableTrailTrajectory.
However, due to the function not being active by default, and due multithreading being on the horizon for SPICE2, this code is now removed.

- Removed SweepChunk feature
- Added toggle for Accurate Trail Points (in asset: AccurateTrail)
- Changed min number of accurate points from 0 to 2
- Removed max vertices ceiling
- Fixed issue where number of vertices were not calculated properly
- Fixed point size rendering issue for RenderableTrail
- Changed start/end time for voyager 1 & 2
- Updated description for SampleInterval and TimeStampSubsampleFactor to be more clear
- Moved full sweep pass from update function to new updateBuffer function
- Fixed trail rendering issue when time is exact same as start time of a trail
2025-08-15 09:59:08 +02:00
Alexander Bock 19e9e2c1fb Adapt to new compile option style and fix warnings (#3773) 2025-08-12 14:19:45 +02:00
Alexander Bock 389842f76c Adjust coding style 2025-08-05 20:43:44 +02:00
Emma Broman 9f98259a63 Fix min and max values of RenderableModel transform matrix (closes #3746) 2025-07-21 16:51:42 +02:00
Mathis Brossier 28929da822 Miscellaneous changes (#3708)
* Add fov input for fisheye projections in launcher
* Updated gitignore to ignore more necessary files
* Fixed typos
* Replace `add_definitions` with `add_compile_options` in CMakeLists for /MP /bigobj, which are not preprocessor defs
* Fixes in TuioEar: add `override`; replace erroneous `unique_lock` with `lock_guard`; minor refactor

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-14 16:12:44 +02:00
Alexander Bock 93c0f75ef2 Remove Clang warnings 2025-06-14 15:42:38 +02:00
ElonOlsson 87c1372744 Todays Sun, PR for branch: feature/WSA (#3652)
The merge commit
---------

Co-authored-by: shyamthyagarajan <shyammuralithyagarajan@gmail.com>
Co-authored-by: Lundkvist <alundkvi@ndc.nasa.gov>
Co-authored-by: lundkvistarn <lundkvistarn@live.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-12 09:57:26 -04:00
Emma Broman 68ab41a241 Fix broken Apollo profile and transform initialization in general (#3704)
* Fix faulty log category and minor inconsistencies in GlobeTranslation and GlobeRotation

* Small refactor

* Remove unused return value from initialize function

* Fill attached node in globetranslation initialize and initialize all timeline

Should make the timeline translation work with globetranslations in other cases that the renderabletrails

* Do the same type of change for rotation and scale

* Update initialize function singatures

* Initialize and update translation in trail before use

* Screenspace renderable renderable - move initialize call to initialize

* Refactor trail position calls to make it clearer what is being done

* Call timeframe initialize functions in transform classes

* Do not call update in trail position after all - it borks up the performance

* GlobeTransform: Only fill attached node in init and onchange, and allow nodes without renderable

* Correctly initialize the multi-transform types

* Apply suggestions from code review

* Apply suggestions from code review

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

* Address code review comment

* Update comments in renderabletrail

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-06-10 12:05:30 +02:00
Alexander Bock fbd4128b34 Pass through the coding styles 2025-06-05 10:59:58 +02:00
Alexander Bock 5e3a972767 Remove more warnings from the codebase 2025-05-19 20:35:14 +02:00
Anders Lundkvist 327a0693c4 Add distance-based scaling to RenderablePlane (#3598)
This commit adds optional distance-based scaling to RenderablePlane, enabling it to scale dynamically based on its distance from the camera.
2025-05-18 13:30:09 -04:00
Alexander Bock 8495acd171 Remove unused boolean return value for ScreenSpaceRenderable initialize and deinitialize functions 2025-05-16 23:57:40 +02:00
Adam Rohdin 0a82796f0f ScreenSpaceInsetBlackout (#3657) 2025-05-16 23:34:19 +02:00
Alexander Bock 5c15bf74b7 Harmonizing OrientationRenderOption and Billboard settings. Make RenderablePlanes use the new setting (#3630) 2025-05-15 22:02:00 +02:00
Anders Lundkvist a05380779e Add time varying screen space image online class (#3646)
New screen space renderable class, ScreenSpaceTimeVaryingImageOnline, for displaying online time-dependent images from a JSON file.

This class loads a JSON file containing timestamped image URLs and displays the image that corresponds to the current simulation time. It only renders during the valid time interval defined by the dataset and updates automatically as time progresses.
2025-05-13 08:00:54 -04:00
Joakim Kilby 4eccc99c7e add option to override model rendered color 2025-05-08 15:28:51 +02:00
Ylva Selling e3f5b83f74 Feature/2025 UI rewrite (#3608)
* Remove Escape keybind; move gui keybind to F2

* Clear up keybinds properly

* Workaround for CEF focus bug

* Add TODO comment

* Guard against null ptr dereferencing

* Remove shift tab

* add additional keyboard mapping from glfw to cef

* Change dashboards to make prototype for first user test

* add mission added/removed event, disptached when a mission has been loaded/unloaded

* send missions as map instaed of array, rename missionName -> name

* Set keybind for toggling overlays to shift+f2

* Remove property for showing the title in the gui skybrowser module

* Remove default setting for skybrowser

* First implementation of setting the ui panel visibility from the launcher

* Add profile topic

* Coding style adjustment

* Add markNodes to the profiletopic

* Change format of additional data of options in engine

* Address PR comments

* map escape key from glfw to cef correctly

* fix issue with "Enter" key not working on buttons and other input fields in CEF

* Add test for new profile version

* Send skybrowser data although we are outside the solar system

* Update webgui to new ui

* Add name to profile topic

* Add cef variable to javascript context for when browser is in cef

* Use camelcase for cef variable

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way (#3590)

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way

* Fix strange error with file structure

* Address PR comments

* Address PR comments

* Address PR comments

* Make numbers in asset file prettier

* Rename name to identifier for missions event

* Clean up browser code

* Update UI hash (to fix the actions panel not working)

And update outdated comment. The backend is not part of this

* Feature/notify meta data change (#3605)

* Add notifyMetaDataChangeListener to topic

* First round of clean up the data passing

* Convert from string to json for metadata

* Update additional data to json

* Use nlohmann::json for additional data

* Pass meta data in new structure to topics

* Remove meta data method

* Fix mistake in merge

* Update src/properties/property.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove TODO comment that will be fixed by this PR

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comment

* Remove function for setting the endpoint

* Update frontend hash

* Remove enabled property from exoplanets module

* Remove enabled property from skybrowser module

* Update default UI panels json

* Remove setting of enabled properties for skybrowser and exoplanets

* Update gui hash

* Auto format json

---------

Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-29 15:43:56 +02:00
Anders Lundkvist ad786f7d5c Add RenderableSwitch class (#3597) 2025-04-23 16:44:24 +02:00
Emma Broman eb709b830c Small option property cleanup (#3577)
* Notify change listeners

I can't come up with a reason for why we would not want to do this

* Remove the Display Type for OptionProperty (only used in ImGui)

* Replace extra boolean with internal anonymous addOption function

* Tiny refactor

* removed dropdown on a couple of more places

* Update optionproperty.cpp

---------

Co-authored-by: ElonOlsson <olssonelon@gmail.com>
2025-04-02 09:28:11 +02:00
Alexander Bock 80955e3ec1 Add ScreenSpaceRenderableRenderable class (#3575) 2025-04-01 12:45:35 +02:00
Alexander Bock 5008aa7cd7 Adding documentation and examples (#3541)
- Make the SourceType and DestinationType parameters required in the DashboardItemAngle
  - Shift the "UTC" string in the DashboardDate from the FormatString to the TimeFormat
  - Make the SourceType and DestinationType parameters for the DashboardItemDistance required
  - Add new "Deltatime" option to the DashboardItemFramerate.  Add examples for the DashboardItemFramerate
  - Fix issue where the inputstate would not update if no option was selected
  - Automatically disable simplification if a unit is requested in the asset for a DashboardItemSimulationIncrement or DashboardItemVelocity
2025-03-14 11:25:26 +01:00
Alexander Bock fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Roxeena 737976a8d2 Enable depth for RenderableSphericalGrid 2025-03-06 11:44:37 +01:00
Alexander Bock cc395ce340 Update C++ version to 23, add new warnings and the fix them 2025-03-01 15:49:38 +01:00
Alexander Bock cd8924ed22 Remove compiler warnings on Clang/GCC (#3546) 2025-02-28 23:29:38 +01:00
Malin E 80b1061b26 Update time conversion to mirror distance conversion code (#3507) 2025-02-28 18:25:05 +01:00
Ylva Selling 3c3efd9598 Documentation fix broken codegen links 2025-02-24 11:23:36 +01:00
Alexander Bock 5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Emma Broman 7f4bf73993 Cleanup and add some more examples (#3506)
* Remove duplicated node line example

* Update `ScreenSpaceBrowser` example to new format

* Add screenspace image examples

* Add docs and examples for `RenderableGrid`

* Add docs and examples for `RenderableRadialGrid` + create 10 grid segments per default

* Add docs and examples for `RenderableSphericalGrid`

* Remove the old, combined, grid example

* Apply suggestions from code review

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

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-02-11 09:37:57 +01:00
Emma Broman 1fbd5e827d Utilize new docs functionality in API scripts that are defined in Lua files (#3505)
* Fix a reference to a deprecated and renamed function in navigationstate docs

* Review documentation for scripts defined in .lua files

And utilize new markdown functionality

* Update renderable box grid size specs

So that it can have a size less than 1, and throws a specification error when the size is given as negative

* Fix some issues with the gaia filtering scripts

* Try adding param documentation to the lua script documentation

It works!

* Utiliize mroe markdown features in the updated documentations

* Add function parameter info and make small updated to gaia filtering functions

* Replace a long parameter info in description with `param` description

* Update usage examples

* Add example of how to create debug axes for the current SGN
2025-02-11 08:59:33 +01:00
Alexander Bock b631c1c688 Make ScreenSpaceImageLocal not finding an image an error instead of a warning 2025-02-06 16:30:46 +01:00
Alexander Bock 096363fd06 Make constructors explicit 2025-02-05 23:22:32 +01:00
Alexander Bock a8949ec2b5 Harmonize various documentation identifiers 2025-02-05 22:03:55 +01:00
Emma Broman 3d3580fa65 Polish and docs for RenderableDistanceLabel and docs for RenderableNodeLine (#3485)
* Update add add documentation for `RenderableDistanceLabel`

* Move distancelabel to `base` module and remove now empty `vislab` module

* Add examples for `RenderableNodeLine` and `RenderableDistanceLabel`

* Fix faultily formatted documentation ID for `RenderableNodeLine`

* Make `RenderableDistanceLabel` unit use units from distanceconversion file

And simplify how the different names for a unit are specified

* Use new distanceUnitList() function for other classes that uses the units

* Change default unit to correct option according to documentation

* Make the text property readonly for `RenderableDistanceLabel`

* Add property to specify the precision of the number

distance label precision to docs

* Add examples with different units and descriptors

* Add docs description to `RenderableNodeLine`

* Update name in one of the examples

* Remove redundant switch cases

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-01-29 16:11:47 +01:00
Roxeena ad0e5b92dc Clean up _lua.inl include style 2025-01-28 10:45:57 +01:00
Emma Broman 7401f5145e Automatically reload texture for RenderableSphereImageLocal when file changes (#3500)
* Use `TextureComponent` for `RenderableSphereImageLocal`

Cleans up code and makes texture reload automatically if the file changes

* Move a faultily located include
2025-01-20 15:58:01 +01:00
Alexander Bock 5771427bd9 Add the ability to specify longitude and latitude subdivisions in RenderableSphericalGrid (closes #3494) 2025-01-20 11:26:38 +01:00
Emma Broman c4cf883ec9 Docs and examples for RenderableDisc (#3482)
* Add description and update GUI property values

* Add examples with a single color

* Remove old example file

* Rename ellipse example and remove width

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>

* Address review comments

* Also update renerable description

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-01-17 14:16:01 +01:00
Emma Broman 0dbc331ebf Docs and examples for RenderableBoxGrid (#3479)
* Add boxgrid examples

* Add description about the box grid renderable for the docs page

* change phrasing in example assets slightly

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>

* Remove labels support for `RenderableBoxGrid`

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-01-17 13:50:40 +01:00
Emma Broman 16aa150f10 Polish RenderableCartesianAxes - documentation, examples, and make fading work correctly (#3478)
* Make `RenderableCartesianAxes` fade and fix opacity setting

* Update existing documentation of cartesian axes

* Add example with custom colros and parent node

* Apply suggestions from code review

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

* Include earth asset instead of using string identifer

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2025-01-17 13:18:45 +01:00
Malin E 3c61857127 Fix blending and depth issue with RenderableSpheres
* There is now a bool setting to turn off depth writing and testing for
  RenderableSpheres (useful for background images).

* There is also an Option setting to choose blending mode, similar to
  the setting that RenderablModel has.

* NOTE: The default behaviour for RenderableSphere have now changed.
  Before it was always additive blending that was used but now it is
  default blending that is used by default. If additive blending is
  wanted, then use the option setting and select it instead.
2025-01-15 15:02:40 +01:00
Alexander Bock b16327f90a Use existing codegen::private (closes #3433) 2025-01-15 11:19:00 +01:00