Commit Graph

73 Commits

Author SHA1 Message Date
SirLynix 83366e93d4 Make changes for breaking NZSL update
Fix build

Fix compilation (again)

Fix global included

TextureAsset belongs to another branch

Add missing include

Fix include (should be good, finally)
2023-12-17 20:40:45 +01:00
SirLynix 87bf4563f2 Update auto-gen files 2023-12-17 16:00:44 +01:00
SirLynix 1ac992b5c7 Graphics: Add Billboard support 2023-11-25 15:52:58 +01:00
Lynix 80cab34088 Graphics: Add RenderTextureBlit 2023-11-21 22:06:44 +01:00
SirLynix 938ba09d45 Graphics: Rework RenderTargets
- RenderTarget have been moved to the Graphics module and are now lightweight objects between the target of rendering (swapchain or texture)
- RenderTexture no longer require a blit between the framegraph texture and the target texture (the target texture is now directly rendered onto using a new feature of the framegraph)
- ForwardFramePipeline viewers are now properly ordered by render order
2023-11-20 23:00:06 +01:00
SirLynix aaf3d97954 Graphics: Add RenderTexture class 2023-11-20 12:36:34 +01:00
SirLynix 97fa4d98be Rework EnTT integration
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix 8b101114d1 Minor fixes 2022-12-08 19:20:54 +01:00
Lynix 02387b8fe3 Graphics: Add Tilemap 2022-11-25 19:28:22 +01:00
Jérôme Leclercq dc6ce8427c
Refactor material system (#382) 2022-10-31 19:53:41 +01:00
SirLynix 6372f9cad8 Fix compilation 2022-09-24 16:02:32 +02:00
SirLynix 9cd7976a91 Remove "MemoryManager" and very old code 2022-09-24 14:25:52 +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
SirLynix 133caac5b5 Minor fixes 2022-08-25 12:59:01 +02:00
SirLynix 38e32025e9 Add a way to embed renderer backends code into NazaraRenderer 2022-08-07 20:19:04 +02:00
SirLynix 3e21b4bea6 Add PBR rendering (WIP) 2022-07-18 22:04:44 +02:00
Jérôme Leclercq 28531f5118 Minor changes 2022-02-25 19:36:54 +01:00
Jérôme Leclercq 8a3a8547dc Add light support (WIP) 2022-02-02 12:55:39 +01:00
Jérôme Leclercq 972d5ffd3f Regenerate global headers, unicode and spirv data 2022-01-04 16:36:28 +01:00
Jérôme Leclercq db88f0ca0d Graphics: Add SlicedSprite class 2021-11-28 20:19:59 +01:00
Lynix 5d849129fd Graphics: Remove CullingList (fixes MinGW compilation) 2021-10-30 00:51:54 +02:00
Jérôme Leclercq 93ec196dc4 Apply header guard check 2021-10-26 15:52:46 +02:00
Jérôme Leclercq a66f6faed1 Add widgets (WIP) 2021-10-04 09:25:45 +02:00
Jérôme Leclercq a2a0e6bd54 Graphics: Add DepthMaterial 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 3ce072c8e0 Regenerate global headers 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 8846eb4309 Regenerate global headers 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 5669b5bc60 Graphics: Rename Material to MaterialPass 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 4ac5fe7cba Graphics: Add RenderSystem and frame pipeline 2021-07-06 11:04:22 +02:00
Jérôme Leclercq 0eda2d0721 Improve global header generation to take ECS into account 2021-06-20 14:06:28 +02:00
Jérôme Leclercq 3cd9172f7a Graphics: Make use of shader binding sets 2021-06-16 16:50:00 +02:00
Jérôme Leclercq 572dc56b10 Update global headers 2021-05-14 03:35:32 +02:00
Jérôme Leclercq 080fd9c7eb Minor fixes 2021-02-15 18:17:30 +01:00
Jérôme Leclercq 78c3f57333 Regenerate global headers 2021-01-27 16:45:11 +01:00
Jérôme Leclercq 89609570f4 Graphics: WIP (almost working) 2020-10-30 23:08:48 +01:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +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 e6e4a437bd Merge remote-tracking branch 'refs/remotes/origin/master' into gui 2016-11-30 13:08:08 +01:00
Jérôme Leclercq 9e84c397ba Merge branch 'master' into culling 2016-11-07 11:26:48 +01:00
Lynix 28a2328371 Global headers: Remove the generation date
They should now generate the same input everytime
2016-10-28 17:53:03 +02:00
Lynix 561c0cf51f Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-10-12 16:51:18 +02:00
Lynix 05dd93c549 Merge branch 'master' into gui
Former-commit-id: b5a6eba7494e7595000e3c7e1f3c77077485519f [formerly 74e8b34c50d86cea8be86dcc5d9b82e112db9277] [formerly 07e6a0bd2e00dcb9517c6ddc1d9ca7d3326707ae [formerly 59878811e379ef9bfd66e6fd0a0f32eaa39dcc6b]]
Former-commit-id: b7a83377bc61d378410ce33748ab63357ee53abb [formerly d789d8762086eb0dd43e0cef08f1edfbd8d346f2]
Former-commit-id: 7aa71e252bf91965f8f488dd9396e6287607edf9
2016-10-10 22:10:36 +02:00
Lynix 948273fe99 Graphics: Update global include
Former-commit-id: 69414fbafbbdacfebb1afab54946f4a522ced71f [formerly 52c50d2e6e6424c697339e01acc4268b38721520] [formerly 6ed3e9faade44eceb3926c1463130c7b4844b0f9 [formerly c97e57ebcd52a9764330ce7758fd785bde6bde19]]
Former-commit-id: b5790057312f0d0841d98fd1e0d23b8db8a6816d [formerly 9f3b2b008bc228cd4d9944f64c4eb57a9a985579]
Former-commit-id: 5372d34593928b266d4761baa79f6e5a3af43410
2016-09-25 01:50:21 +02:00
Lynix 87b5047b14 Graphics: Separate pipeline state from Material into a new class, MaterialPipeline
This allows much more efficient batching, along with pipeline reusage and preparation for the Vulkan API


Former-commit-id: 4ed2f66567f7da6b6b6ee073e4d855b9a935000d [formerly b540f468fc700a16d5136d4dbb8632e23882fd3d] [formerly 37fff624ec65cc387130875410b6ea35c1a5bcfb [formerly ab9a88f514f46f6596499e285981fa6da588bb03]]
Former-commit-id: a2e8859196c0f72b7d7ffd8764a887e6c8173743 [formerly c886cdade14769db243ff993a1741f6052a2eb2a]
Former-commit-id: e1d02662fb1ac165c7e888380afee7601350060f
2016-08-05 22:11:13 +02:00
Lynix ac25df0126 Graphics: Separate pipeline state from Material into a new class, MaterialPipeline
This allows much more efficient batching, along with pipeline reusage and preparation for the Vulkan API


Former-commit-id: fd2de2f0e9612ea275ee69c5578c68e7169cd05b [formerly 53bd8a5ed5695311b7543ad717df63f93fad2da6] [formerly 171740929652ac9fe30e84983709388859cedd6b [formerly 25096a76678f1052e76f67d26b458077a0632cc3]]
Former-commit-id: 7978dbeb87af2eac9e5501a97afa83849648bf6e [formerly 81b6cce1ee81a2ca8873d3c70d468b2c71510c95]
Former-commit-id: 6663e2721c3f79d5f1e3f33c6183174378b502f4
2016-08-05 22:11:13 +02:00
Lynix b273a08571 Graphics: Rename ParticleSystem to ParticleGroup
Preparing for integration into the ECS


Former-commit-id: 9ca871117d0be3d4c655225d3f3dad6b0277cdd8 [formerly 9343fd818957da74e0bb7a5715a2172eefc325e5]
Former-commit-id: 93cf58c80f0cd396211df0c95063f0ad05449e75
2016-07-29 13:24:19 +02:00
Lynix 9fa7267523 Graphics: Rename ParticleSystem to ParticleGroup
Preparing for integration into the ECS


Former-commit-id: 201e28c9f00ee31f809d9de3d9a37f57a7fe740c [formerly 9b88616308f9801482fc8811a9a19a7231dce2a7]
Former-commit-id: 579f4e9597f94620f922fb145931202d8fc9cc96
2016-07-29 13:24:19 +02:00
Lynix 1b72b080e1 Update global headers
Former-commit-id: 978fdad88b03d1d8806f46ee9e07fe7eeca73e2c [formerly 4b80a873263e0bdb53504f31e05c5595cb53e27d]
Former-commit-id: 11641ec31886b4da1387e2d8600324f53a56b8b1
2016-07-13 12:27:30 +02:00
Lynix c7355ad166 Update global headers
Former-commit-id: 57e803ee99f077bc0436b5284dc14bab7ab33555 [formerly 1551090a7423e44e74b68452c0f209a121ad8cd8]
Former-commit-id: b275b8b680a3ddee30589d0e5f67a49d0448f066
2016-07-13 12:27:30 +02:00