Commit Graph

79 Commits

Author SHA1 Message Date
Jérôme Leclercq 1a55b550fb
Improve math module (#396)
* Improve math module

- Mark almost everything constexpr
- Equality (a == b) is now exact, down to the bit level. If you want approximate equality use the new ApproxEqual method/static method
- Rename Nz::Extend to Nz::Extent
- Removed Make[] and Set[] methods in favor of their static counterpart and operator=
2023-06-02 22:30:51 +02:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix 5e6a20f479 Fix text outline render order 2023-02-26 13:46:19 +01:00
SirLynix 2e8ea0e887 Graphics/TextSprite: Fix outline showing up over glyphs 2023-02-22 19:12:15 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix a1480fc2db Graphics: Fix text atlas resizing 2023-01-21 19:10:40 +01:00
SirLynix d7eab778fb Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean 2022-12-08 18:17:13 +01:00
SirLynix 1727ae8631 Graphics/TextSprite: Fix front facing 2022-12-08 18:17:13 +01:00
Jérôme Leclercq dc6ce8427c
Refactor material system (#382) 2022-10-31 19:53:41 +01:00
SirLynix 04d2f4a6c2 Graphics/MaterialPipeline: Rework GetRenderPipeline
Decrease the need for memory allocations in most cases (especially for sprites)
2022-08-30 19:29:23 +02:00
SirLynix 017a6c7af3 Graphics: Use memory pools for render elements 2022-08-30 19:27:52 +02:00
SirLynix 50ed8b4028 Add initial support for skeletal entities / components 2022-08-27 03:07:48 +02:00
Jérôme Leclercq 03e2801dbe Split engine to packages NazaraUtils and NZSL (#375)
* Move code to NazaraUtils and NZSL packages

* Reorder includes

* Tests: Remove glslang and spirv-tools deps

* Tests: Remove glslang init

* Remove NazaraUtils tests and fix Vector4Test

* Fix Linux compilation

* Update msys2-build.yml

* Fix assimp package

* Update xmake.lua

* Update xmake.lua

* Fix shader compilation on MinGW

* Final fixes

* The final fix 2: the fix strikes back!

* Disable cache on CI

* The return of the fix™️
2022-05-25 19:36:10 +02:00
Jérôme Leclercq cc0fc53bd3 Graphics: Move scissor box from InstancedRenderable to GraphicsComponent 2022-02-21 20:44:54 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq 61779d1cad Graphics/Widgets: Add support for scissoring 2021-12-01 20:26:33 +01:00
Jérôme Leclercq 8b899253b1 Graphics/InstancedRenderable: Add support for render layer 2021-12-01 18:57:50 +01:00
Jérôme Leclercq 8f1cc79dc2 Graphics/InstancedRenderable: Add signal to tell some renderables need to be rebuild 2021-11-21 19:06:10 +01:00
Jérôme Leclercq 2a8568f2ac Graphics/InstancedRenderable: Replace constructor AABB with UpdateAABB method 2021-11-21 17:14:39 +01:00
Jérôme Leclercq a3d9aaf1fb Merge branch 'master' into automatic-file-fix 2021-10-28 09:57:59 +02:00
Jérôme Leclercq e84ec8e4ac Proof of concept 2021-10-26 20:26:13 +02:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq 72f2a5b531 Graphics: Add initial support for transparency 2021-09-08 19:08:44 +02:00
Jérôme Leclercq ece18bf472 Implement back text rendering (WIP) 2021-09-07 18:45:10 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +02:00
Lynix c23b6dfa01 Copyright year update
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix 548ede4613 Utility/*TextDrawer: Use float internally
+ some fixes
2020-01-25 19:07:20 +01:00
Lynix 79b0bd644c Add text outlines! 2019-04-16 01:46:26 +02:00
Lynix bc2f6f67cc Graphics/InstancedRenderable: Add Clone method 2018-06-06 19:36:46 +02:00
Jérôme Leclercq 2da086b7df New Render queues (#161)
* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Graphics/RenderQueues: Add full support for billboards

* Graphics/RenderQueue: Cleanup and improve billboard rendering

* Graphics/RenderQueue: Fix model drawing

* Examples/Particles: Fix lighting on space station

* Graphics: Cleanup forward render queue/technique

* Fix compilation under Linux

* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element

* Add support for Deferred Shading

* SDK/Widgets: Fix widget rendering

* Graphics: Remove legacy code from render queues

* Graphics: Fix some objects sometimes not showing up due to broken scissor box

* Fix compilation error

* Sdk/GraphicsGraphics: Fix bounding volume

* SDK/World: Fix self-assignation

* Update changelog for render queues
2018-04-11 19:36:52 +02:00
Lynix c763dea4e1 Merge branch 'master' into reflection-mapping 2017-10-02 21:11:15 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Lynix 7d5d21f025 Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-01-21 15:56:37 +01:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Lynix 6b949afb9b Graphics: Add support of skins to InstancedRenderable + big clean up 2017-01-09 01:52:00 +01:00
Lynix d62720d610 Utility/Buffer: Refactor Buffer classes 2016-12-09 08:56:46 +01:00
Lynix fd196cf0ae Graphics/TextSprite: Fix undefined behavior 2016-12-03 00:36:24 +01:00
Lynix e6e4a437bd Merge remote-tracking branch 'refs/remotes/origin/master' into gui 2016-11-30 13:08:08 +01:00
Lynix 3ae5bfad63 Graphics/TextSprite: Fix scale not affecting bounding volume 2016-11-24 09:40:04 +01:00
Lynix 736b31af1b Utility/SimpleTextDrawer: Whitespaces are now glyphs too 2016-10-28 17:44:59 +02:00
Lynix ba6c562367 Sdk/GraphicsComponent: Allows to setup an offset to renderables
Former-commit-id: a5e9ceb3f30e79a0d3b96b6866a06441cbc0b463 [formerly 8af071cedec0a6aca00ff9c12d66e8a0817049c6] [formerly cd7e7040fd68dd5a74a0b458a3a305c251257b51 [formerly 0f9382c169a260d5fa34fe9b1ab64c3d19dbd385]]
Former-commit-id: 774af2326cb64824f85835c83464bc19884005e1 [formerly 4b676844f6dd56940b4f503c6a943905ea8a54c3]
Former-commit-id: 0673e4d4cd88c99d24e0e153a61d2726e2e2c039
2016-09-04 20:02:23 +02:00
Lynix f2aa4e0e19 Sdk/GraphicsComponent: Allows to setup an offset to renderables
Former-commit-id: fd1f70010f950dd4a4194e049ddff317c0d8b4b9 [formerly 8fee96f11b7bef08351110bef74643fa0be8b17d] [formerly ec5d6ad819cf325dac0ae61d983003cf99c78aac [formerly 2610a17ba67d61080254ce4bc3e9176e315dfbe5]]
Former-commit-id: 7683be7fa9a565dc3fb59be401ecff5580a6de15 [formerly 80ac7628f5119f58cf4518b5b1a44aff5b6d6b20]
Former-commit-id: d1604af612715688e7b1fc451d8561f79e100541
2016-09-04 20:02:23 +02:00
Lynix e0071b196a Sdk/GraphicsComponent: Add Detach method
Former-commit-id: b80b7e52f4736f61c439a4242531adaefbdb75a2 [formerly 2c336b6480ae9a11ca1104ee1140e8f449bb2a02]
Former-commit-id: 54f77c634ce1f9bfc93a00d9a14567bd25a06b26
2016-06-20 13:11:31 +02:00
Lynix 04e52caa88 Sdk/GraphicsComponent: Add Detach method
Former-commit-id: 16bcd7d8a3b50235cdd50443d8a1ed55e4b939f2 [formerly 93e838eebb955d5bbe17113ced86a247122bf522]
Former-commit-id: be3d0d2e8fb9a887eb903c6b17f16a56e5eee1c7
2016-06-20 13:11:31 +02:00
Lynix 819b46f5fc Fix a shitload of warnings in 64 bits mode
Former-commit-id: c7792a7d5b1f85ab934da25324831b9daa3f47ff [formerly 3469974c48432be1f65808bff0ea39d9e22f5b50]
Former-commit-id: 5080815e9e1a3aebe237ff9a291b908ce0292eca
2016-06-13 21:09:55 +02:00
Lynix c528640d80 Fix a shitload of warnings in 64 bits mode
Former-commit-id: 5bc0c622c20eae45df51bb1ee62e5ed566e58a1b [formerly a8befbed30cb897ce876fd3b46a3585e1b70613e]
Former-commit-id: 999225e414c0d6a3e9c6868f040b68045b2ba724
2016-06-13 21:09:55 +02:00
Gawaboumga 96b958d655 Documentation for module: Graphics
Former-commit-id: 5e3ee3c61779fbdd1a083117f537a45e1bad820b
2016-05-30 14:21:36 +02:00
Gawaboumga 2c941827ed Documentation for module: Graphics
Former-commit-id: 1757c33318443aade1dc38e16d053240d7dc885c
2016-05-30 14:21:36 +02:00
Lynix 2b908d0c2b Graphics/TextSprite: Fix unused memory not being released by Update
Former-commit-id: 2a1349b1346d6dd11a004654a65d43e91626b76a
2016-01-06 13:16:11 +01:00
Lynix c6f491ca21 Graphics/TextSprite: Optimize Update method
Make it keep established connections instead of clearing everything and connecting again


Former-commit-id: abe315a03ba19059a9a867c23780c2f8cd34345b
2016-01-06 12:01:35 +01:00