Commit Graph

282 Commits

Author SHA1 Message Date
Alexander Bock
36fc575ffd Some more cleanup of the PR 2025-12-18 21:12:01 +01:00
Alexander Bock
f307dfb64a Merge branch 'master' into feature/shadows
# Conflicts:
#	modules/base/rendering/renderablemodel.h
#	modules/globebrowsing/src/renderableglobe.cpp
#	modules/globebrowsing/src/renderableglobe.h
#	src/rendering/renderengine.cpp
2025-12-18 16:19:33 +01:00
Alexander Bock
c327443886 Extracting Shadower/Shadowee classes and making registering shadow caster explicit 2025-12-18 16:06:12 +01:00
Alexander Bock
c02e59b9f8 Fixing more includes and forward declarations (#3876) 2025-12-16 13:40:19 +01:00
Alexander Bock
730f206e5e Safety-safe 2025-10-28 14:20:06 +01:00
Alexander Bock
44b2d14961 Moving shadow map rendering into separate pass (WIP) 2025-10-28 10:34:31 +01:00
Alexander Bock
85557bc233 First cleanup pass 2025-10-27 17:47:48 +01:00
benpm
432219d9d5 made some suggested changes 2025-10-26 23:40:13 -06:00
Alexander Bock
25f021f009 Change more prefix to postfix operators 2025-10-04 10:13:25 +02:00
benpm
542146eefd fixing some basic code style things 2025-10-01 13:44:33 -06: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
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
Alexander Bock
19e9e2c1fb Adapt to new compile option style and fix warnings (#3773) 2025-08-12 14:19:45 +02:00
Emma Broman
9f98259a63 Fix min and max values of RenderableModel transform matrix (closes #3746) 2025-07-21 16:51:42 +02:00
Joakim Kilby
4eccc99c7e add option to override model rendered color 2025-05-08 15:28:51 +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
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
Malin E
80b1061b26 Update time conversion to mirror distance conversion code (#3507) 2025-02-28 18:25:05 +01:00
Alexander Bock
5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +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
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Malin E
40578ebc81 Update string versions of distance and time units, start with capital
letter

* Update RenderableModel to better make use of these predefined units
2024-10-29 17:02:48 +01:00
Joakim Kilby
98c8452f10 fixup after rebase 2024-09-02 12:44:44 +02:00
Joakim Kilby
d7885280f7 support model <-> model shadowing alongside globes 2024-08-30 10:42:47 +02:00
Joakim Kilby
a0c31d1b6a init/de-init depth map resources when castShadow is toggled
fixes an issue where only objects that declared they were casting
shadows in their asset file could cast shadows.
For all other objects they necessary resources were never created.
2024-08-30 10:42:47 +02:00
Joakim Kilby
694138663d check for existance of lightsources before renderings depthmaps 2024-08-30 10:42:47 +02:00
Joakim Kilby
e2d95019ec apply frustum size from dict 2024-08-30 10:42:46 +02:00
Joakim Kilby
0e15b4b6d3 add model self-shadowing via existing depth map 2024-08-30 10:42:46 +02:00
Joakim Kilby
8ab4b4db23 make specular power a property 2024-08-30 10:42:46 +02:00
Joakim Kilby
dbed4f3ddb calculate view frustum for shadow mapping automatically
based on model extents as defined by its bounding-radius
2024-08-30 10:42:46 +02:00
Joakim Kilby
78c4eb19f0 ensure that models that do not cast shadows are still rendered 2024-08-30 10:42:46 +02:00
Joakim Kilby
4b77b8d27d support multiple shadowers & addition/removal of shadowers 2024-08-30 10:42:46 +02:00
Joakim Kilby
2c2653fe33 revert face culling 2024-08-30 10:42:46 +02:00
Joakim Kilby
3b2bebb2ad render shadowmaps from greater distance to mimic sun 2024-08-30 10:42:46 +02:00
Joakim Kilby
fbf2a289d0 add shadow bias, cull away front-faces 2024-08-30 10:42:46 +02:00
Joakim Kilby
58d402fc67 use lightsource from model specification instead of (hardcoded) sun 2024-08-30 10:42:46 +02:00
Joakim Kilby
2402cbbdc1 swap to orthogonal projection
as it should be for directional lighting which is the case for the sun
2024-08-30 10:42:46 +02:00
Joakim Kilby
2fbced5b23 move depthmap rendering into renderablemodel class 2024-08-30 10:42:46 +02:00
Joakim Kilby
0020e12403 possibly correct depthmap from light's point of view 2024-08-30 10:42:46 +02:00
Joakim Kilby
6eade9ba4f allow model caching to be bypassed 2024-08-30 10:42:46 +02:00
Joakim Kilby
3a63055324 enable wireframe rendering of models 2024-08-30 10:42:46 +02:00
Alexander Bock
866aad2187 Global pass over the coding style 2024-06-12 14:51:25 +02:00
Emma Broman
eb1cfec7bd Renderable property info walkthrough/cleanup (#3226)
A passover of all the Parameters descriptions and PropertyInfo descriptions of the renderables in the code base to make then more consistently and concisely formatted. Also fixed some small issues and added or updated descriptions.

* Start rephrasing propertyinfos for more consistency

* Update eclipse cone propertyinfos

* Update `RenderableFov` property infos and group colors in UI

* `RenderableGalaxy` and `RenderableGlobe`

* Update more descriptions

* Moore descriptions

* Update docs for `RenderableShadowCylinder` and add properties

* `RenderableSkyTarget`, and spheres (`ImageOnline` and `ImageLocal`)

* `RnederableSphericalGrid`, and update line width info of other types, for consistency

* `RenderableStars` and `RenderableTimeVaryingSphere`

* Update more propertyinfos

* Fix inconsistent mentioning of true/false

* change some phrasings for increased consistency

* Update Renderbin description to include Sticker bin and remove extra property

* Rename `OutlineWeight` -> `OutlineWidth`

* Extend description about enable depth test for models

* Clarify what relative values mean for `RenderableNodeArrow`

* Elaborate on `RenderableLabel` size property

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2024-05-20 09:24:40 +02:00
Alexander Bock
203cff04cc Make use of the new uniform cache method that uses the variable names as uniform names (#3217) 2024-04-30 08:12:33 +02:00
Alexander Bock
78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock
4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00
Alexander Bock
3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00