Commit Graph

44 Commits

Author SHA1 Message Date
Jérôme Leclercq b88c9b2cec Sdk/World: Fix entity kill and invalidation bug 2019-05-13 16:50:19 +02:00
Jérôme Leclercq 7b6cc47e03 Sdk/Entity: Add IsDying method 2018-07-17 10:51:35 +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
Jérôme Leclercq e299e1f03e Sdk/World: Add ForEachSystem method 2018-04-09 12:37:58 +02:00
Jérôme Leclercq e99d34f195 Sdk/World: Add const getters for systems 2018-04-09 12:34:37 +02:00
Jérôme Leclercq 242e154f09 Sdk/World: Fix world movement not moving profiler status 2018-02-27 16:31:23 +01:00
Jérôme Leclercq a9364ab7e2 Sdk/World: Add profiler 2018-02-08 16:25:27 +01:00
Jérôme Leclercq 6161b1a751 Sdk/World: Use a Bitset to store free entity id 2018-02-08 15:15:56 +01:00
Jérôme Leclercq 555817e3ee World: Rename Update() to Refresh()
Also updated comment block
2018-02-08 14:32:53 +01:00
Jérôme Leclercq d267354fdf Sdk/World: Fix uninitialize value found by valgrind 2018-01-18 10:38:17 +01:00
germinolegrand 1e55c4d9e9 Prerequisites instead of Prerequesites (typo) #152 (#153) 2018-01-16 12:23:01 +01:00
Jérôme Leclercq b83a9b60e7 Sdk/World: Fix destruction retrieval while world clear 2017-11-22 10:26:33 +01:00
Jérôme Leclercq a8651846ae Sdk/World: Fix movement not taking waiting entities into account 2017-11-08 13:14:00 +01:00
Lynix a85ded1262 Sdk/World: Fix movement 2017-08-31 19:39:45 +02:00
Lynix 0708531f6c Sdk/World: Inline GetEntity and KillEntity 2017-04-22 12:58:39 +02:00
Lynix 4f6706284e Sdk/World: Fix entity block handling 2017-04-21 21:27:27 +02:00
Lynix 48b348135e Refactor EntityList and prevent World to invalidate its own handles between updates 2017-04-20 23:42:45 +02:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Jérôme Leclercq a8d4e44669 Sdk/World: Optimize updating dirty entities by removing a branch 2016-11-08 12:29:15 +01:00
Jérôme Leclercq aa304ef2e9 SDK: Allow to set an update order for systems (Closes #106) 2016-11-08 02:51:25 +01:00
Gawaboumga 9eba331f34 Documentation for module 'NDK'
Former-commit-id: 63e1cac538c577a1f1aafa71fa7eef69a6d4daab [formerly b2d8769fd02a0e7d9c476d4ad7be1988a1fd6789] [formerly 636b5cb79bcb8da44d9aa45ba1023565bcf29f0d [formerly a2361ec2b8679d4d4ba096e543b5d4b91825dd62]]
Former-commit-id: d402d35477f9db0135c553d55c401939426bf62d [formerly 607336ea0f42731e4604f3a8c2df06f3aecfc401]
Former-commit-id: 69e23cd6c06723486de5e4641ce810012dac66da
2016-08-21 13:48:52 +02:00
Lynix 94ed1cca32 Sdk/World: Fix compilation error when submitting arguments on system creation
Former-commit-id: a5ace06c0f4c0d7378fb81694db8db1d9f57b33d [formerly 2a232722761dfb72bbd9f3dc9ba8353d65311e7d]
Former-commit-id: f6a65203b37acb49276e22cad0bab4ff7075eb3a
2016-06-01 14:11:58 +02:00
Lynix 3e7facc342 Sdk/World: Fix handles when moving
Former-commit-id: 0e5866864150bd607db028deb9c972ace6b50caf
2016-04-01 18:58:37 +02:00
Lynix dbce7592a9 Sdk: Make World moveable
Former-commit-id: 285cb9da4cbafd3da0c0859eb9d366bb2fb978a3
2016-03-01 14:01:31 +01:00
Lynix 504452a60b Ndk/World: Fix crash with unused-systems
Former-commit-id: 2425e885d4f93033d3d6f367944ef2893f043223
2015-09-26 21:54:34 +02:00
Lynix 90363406a6 Sdk: Add automatic system update
Former-commit-id: ce129cc945e7373ac5b9f48960894712d66b097a
2015-06-22 00:58:46 +02:00
Lynix 9670d9f3f9 More VS fixes (huehue)
Former-commit-id: 2c3e910d0bdf1c701b4643b4958150e7a0b8492a
2015-06-14 17:13:36 +02:00
Lynix f4c3ec51ed Final VS fixes
Former-commit-id: 6da44f94127f61de39710a52b8b3b73ce19c1269
2015-06-14 16:18:37 +02:00
Lynix cab52dfcfd Ndk/BaseComponent: Fix crash
(Also fix ugly hackfix)


Former-commit-id: b176fb3abc0f541765658376fdd086241c94e279
2015-06-04 09:57:10 +02:00
Lynix 80ed8c48bd Ndk/RenderSystem: Finish first implementation
Huge WIP, but I have a first render with it


Former-commit-id: 82ecea8b6ce5c452818f1585c61af7623c28e958
2015-06-04 00:20:51 +02:00
Lynix f137a75267 (NDK) Added Listener component and system
Former-commit-id: 0553c4ad9a7e33608e9ab91bd4ca8812272a6293
2015-04-12 19:38:38 +02:00
Lynix a1280a6af3 (World) Renamed internal method Mark(All)AsDirty
To Invalidate


Former-commit-id: 62e62d82258227d652711c3933a816845a076e53
2015-04-07 15:50:43 +02:00
Lynix ebc651dec8 (World) Added GetEntities() method
Former-commit-id: 14095df977d566b3a3c306542bd4d83bd11392d1
2015-04-07 15:38:08 +02:00
Lynix 6d1ac4fe18 Re-remade component and system ids
Former-commit-id: 98b76695cca904c55c7333801c3cdf693da15086
2015-03-30 04:18:44 +02:00
Lynix be8f6edeb4 Improved interface
EntityHandle are no longer required to pass Entity as arguments
World::CreateEntity() now returns a const EntityHandle&

Former-commit-id: 6fc53ce5759a2a508094bdc61b4471f13f0844ec
2015-03-18 00:49:44 +01:00
Lynix e91313b62d Added systems
It's now officially an ECS, yay!


Former-commit-id: e2aacaa5c9fd362921cf3d064e346d11f942bd59
2015-03-17 19:55:39 +01:00
Lynix bc40fbb02f Remade component ids
No longer based on incrementing counter


Former-commit-id: b875e17781d8bcda48ea9ada523adf0823b22a8b
2015-03-17 19:53:59 +01:00
Lynix 3694857d30 (World) Optimized entities handling a lot
Former-commit-id: f05f3bb7bf321d30fd51f504ace95aa0ea9f7f8d
2015-03-16 22:14:18 +01:00
Lynix 40727cc0ca (World) Fixed EntityHandle passed by value
Former-commit-id: c4b4b5cbb4d84110416a4493fc09e7b95e137bc6
2015-03-14 13:21:29 +01:00
Lynix 6201183572 (World) Replaced pointers to Entity by EntityHandle
Former-commit-id: b29aaaa7362c0c816dc270e15ba5f8253717c457
2015-02-19 23:51:17 +01:00
Lynix 86fbb310c3 Fixed some files encoding (wasn't UTF-8)
Former-commit-id: cabceea2588d390da5d52a06517754ba97721efc
2015-02-19 23:24:56 +01:00
Lynix 3a18035989 Remade Entities
Former-commit-id: 25f7bc84279fdf58b44cf78e2d94b4cbb78a8410
2015-02-19 22:06:57 +01:00
Lynix 1d79efeb7f (World) Optimized CreateEntities method
Former-commit-id: 99b89aad500ebaa18fb733ad04a94010728e8370
2015-02-08 22:26:28 +01:00
Lynix 32951deed8 (World) Inlined some methods
Former-commit-id: eab086bdde8b11cc261faf2cb5d161bbfcebdc73
2015-02-08 17:47:41 +01:00