Commit Graph

1098 Commits

Author SHA1 Message Date
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
9c2aaebfdd functional first version of shadow mapping 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
2f95800428 add basic depth-map rendering of specified shadowers 2024-08-30 10:42:46 +02:00
Joakim Kilby
43d8ec2298 add ability to render textures to Screen quad for dbg 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
Ylva Selling
11bb8e7ac5 GPU accelerate CEF (#3386)
* Update CEF version number

* Set OpenSpace_Helper version of C++ to 20

* Update C++ syntax to v 20

* Remove deprecated function (now default)

* Set the cache folder for cef

* Make static function in webbrowsermodule that determines if we can use accelerated rendering

* Add flag for accelerated rendering to webrenderhandler

* Use accelerated rendering

* Implement function to see if gui should absorb click

* Adhere to 80 char linewidth

* Make only the UI GPU accelerated

* Use dirty rects size for the texture to remove crash

* Better comments

* Make has content function work for GPU acceleration

* Make it so all browsers can be accelerated

Tried making it so only the gui was accelerated for simplicity. Performance plummeted, so reverted that

* Tidy up

* Add accelerated rendering flag to the screenspacerenderable shader

* Add temporary fix to make the sky browser work

* Remove flag from gui render handler

* Enable webgl in a nicer way

* Unbind texture in screenspacerenderable

* Add better comments for error handling

* Tidy up

* Address PR comments

* Make the acceleration Windows only

* Remove unnecessary setting of shader dictionary

* Allow web dev tools to connect to CEF

* Update modules/webbrowser/include/browserinstance.h

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update modules/webbrowser/include/webrenderhandler.h

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Apply suggestions from code review

Co-authored-by: Emma Broman <emma.broman@liu.se>

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-23 09:37:01 +02:00
Alexander Bock
423d409dc8 Always use the alpha blending independent of the renderbin (closes #3304)
It wasn't really clear why the check for the PreDeferredTransparent bin was in here in the first place
2024-08-22 14:00:51 +02:00
Alexander Bock
d0b3cd6e89 Add example for ConstantRotation (#3384) 2024-08-21 10:34:08 +02:00
Alexander Bock
a01760a3ca Remove remains of visibility voting 2024-08-18 12:55:55 +02:00
Alexander Bock
43ada7fa1f Add the ability to feather borders of screenspace renderables 2024-08-13 13:37:39 +02:00
Alexander Bock
75b4609c52 Remove explicitly specifying LuaState constructors 2024-08-07 11:34:57 +02:00
Alexander Bock
ca6c14e9b5 Make the SampleInterval for RenderableTrailTrajectory optional and use a sample per 2 days by default 2024-08-07 06:53:05 +02:00
Ylva Selling
952f177c54 UI updates (#3358)
* Remove events for scenegraphnodes and screenspacerenderables

* Add events for updating the property tree

* Remove duplicate function calls

* Update src/properties/propertyowner.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comments and make helper functions with better comments

* Make uri function not return the identifier if the uri is not valid

* Rename fullyQualifiedIdentifier to uri

* Update gui hash

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-02 16:30:07 +02:00
Alexander Bock
c4c82483e0 Update copyright header in CMakeLists files 2024-07-31 10:57:10 +02:00
Emma Broman
9c71ba2f42 Apply opacity to screenspace border (closes #3355) 2024-07-29 09:49:31 +02:00
Alexander Bock
aa99f9d6cb No longer enforce a scale of 1 for screenspacedashboards 2024-07-18 12:01:47 +02:00
Malin E
01483ef982 Add support for model vertex colors (#3346)
* Add model vertex color support

* Fix an issue with the Tiangong model not loading properly and set a correct bounding sphere size for it

* Update caching for models

* Update previous model examples to the new format

* And add a new example to test the new vertex colors support

* Apply suggestions from code review

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

* Add a model example with lighting

* Improve the basic example and add a separate example for vertex colors

* Add visual test for vertex colors (#3348)

* Update the readme file for the visual tests

* Add asset instruction to the visual testing readme

* Add visual test for RenderableModel with vertex colors

* Apply suggestions from code review

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

* Update test when asset changed name

---------

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

* Update Ghoul

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-07-17 15:56:06 +02:00
Alexander Bock
065d73db64 Add non-main dashboard as a propertyowner for a ScreenSpaceDashboard 2024-07-15 18:54:49 +02:00
Alexander Bock
0707829c7b Reducing compiler warnings (#3341) 2024-06-28 14:16:06 +02:00
Alexander Bock
f04c088a4b Add the ability to specify dashboarditems for ScreenSpaceDashboard at construction time. Improve error messages and export DashboardItem documentation 2024-06-22 13:05:33 +02:00
Alexander Bock
02cc28f192 Generate the framebuffer for screenspace rendering without mipmapping as it handles transparency poorly 2024-06-22 09:13:13 +02:00
Emma Broman
6cb4a7efef Fix issue with texture not updating on property change for RenderablePointCloud
Fix issue with texture not being rendered when the texture file path is set during runtime
2024-06-18 13:47:35 +02:00
Alexander Bock
01fa2898db FixedRotation rerequests a missing attached node or target node every frame to prevent incorrect initialization order 2024-06-15 18:07:39 +02:00
Alexander Bock
43645ce7a4 Fix existing assets; Make the goToGeo function without altitude in the profile work 2024-06-14 23:55:55 +02:00
Emma Broman
62b2a8c8c1 Fix renderable sphere example and add one for using local image (#3306)
* Fix renderable sphere example and add one for using local image
2024-06-13 10:43:54 +02:00
Alexander Bock
866aad2187 Global pass over the coding style 2024-06-12 14:51:25 +02:00
Alexander Bock
f82dc0371b Add example to TimelineRotation. Also fix bug where a non-interpolating timelinerotation would disappear before the first keyframe (#3310)
* Add example to TimelineRotation. Also fix bug where a non-interpolating timelinerotation would disappear before the first keyframe

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-06-11 22:16:16 +02:00
Alexander Bock
6a1a22b485 Improve documentation and add examples for the StaticRotation (#3309)
* Improve documentation and add examples for the StaticRotation

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-06-11 22:06:33 +02:00
Alexander Bock
6edea5cae7 Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables. Change the screenspace's own gamma value into an offset (#3293)
* Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables.  Change the screenspace's own gamma value into an offset

* Make it clearer that the gamma correction is now an offset
2024-06-04 16:28:52 +02:00
Alexander Bock
62a01ea317 Add example and fixes for the LuaTranslation (#3284) 2024-06-03 09:57:26 +02:00
Alexander Bock
2ab09b50e5 Add example for the LuaRotation class and fix it at the same time (#3285)
* Add example for LuaRotation class and make it work again
2024-06-03 09:57:15 +02:00
Alexander Bock
aa0255bccb Add example for the LuaScale class and fix it at the same time (#3271)
* Change the LuaScale to request a single table as a return value to be consistent with the other Lua transformation types
2024-05-31 22:26:24 +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
Emma Broman
542f35e4de Update ScreenSpaceRenderable documentation (#3227)
* Update screen space documentation

* Fix inconsistent "screen space" phrasing

* Rephrase according to code review

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-17 15:38:48 +02:00
Emma Broman
e745c40152 Update examples for RenderableNodeArrow and RenderablePlaneImageOnline (#3215)
* Update examples for `RenderableNodeArrow` and `RenderablePlaneImageOnline`


Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-14 11:28:58 +02:00
Andreas Engberg
c2ea21b43c add listener on file texture changes 2024-05-13 15:55:02 +02:00
Malin E
09da94cf6b Add documentation and example for RenderableSphereImageOnline (#3185)
* Add a simple online sphere image example

* Add documentation for RenderableSphereImageOnline

* Address pull request comments

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-13 15:28:27 +02:00