Commit Graph

75 Commits

Author SHA1 Message Date
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix c144435d4a Graphics: Set default sprites size to the base color texture size, if any 2023-02-02 13:24:22 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix 9a553e5e9d Core: Make Color constexpr 2022-12-29 12:13:00 +01:00
SirLynix d4422c4102 Graphics: Add origin to all sprite-based renderables (and made it a factor) 2022-12-17 14:48:50 +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
Lynix ad8b46db38 Rename Diffuse to BaseColor 2022-07-19 20:02:01 +02:00
SirLynix 66ff6cfa81 Minor fixes 2022-04-04 08:17:03 +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 ed3ee34565 Graphics/Sprite: Allow to change origin 2021-12-23 17:32:18 +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 01cd4986cc Minor fixes 2021-11-28 20:19:37 +01:00
Jérôme Leclercq c9aba016a8 Graphics/Sprite: Add [Get|Set]TextureCoords & SetTextureRect 2021-11-24 22:00:29 +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 6bab824e4f Graphics: Use default white texture if material has empty texture slot 2021-10-26 20:26:13 +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 a66f6faed1 Add widgets (WIP) 2021-10-04 09:25:45 +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 abdcd63058 Graphics: Add support for draw call data (texture overlay) 2021-09-05 18:26:12 +02:00
Jérôme Leclercq 938d965e06 Graphics: Add SpriteChainRenderer 2021-09-05 15:50:17 +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 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01: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 cd0e9d97b8 Graphics/Sprite: Add SetMaterial and SetTexture overloads for searching a resource name 2016-11-17 18:24:36 +01:00
Lynix 7c3d9c563c Graphics/Sprite: Allows to set sprite corner color
Former-commit-id: 0b892e363a4fbb18c729d289f543403d897b03c0 [formerly 28fcd5a7269c63b1f8c4c8c80c82e5dce9e17d1b] [formerly f8022fe7d864a6c1773c4e19843d7fc46590d328 [formerly 33fbfb6cd1700a3e05bc82875546cd57cfe6f6aa]]
Former-commit-id: 3ef8f144f07c0cf7666b59cdcc135fc74348caf9 [formerly 8bae7631b9aaf2565ec52d68f9c0c1a7a81dc69f]
Former-commit-id: 6eba237772ab4773180e3a86e9fe4f9b6b8e348d
2016-09-07 13:04:58 +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 3755fc2487 Graphics/Sprite: Add Origin parameter
Allows you to change center of translation/rotation/scale


Former-commit-id: c5e8b3cf4b67e8a2765a4f0984d08bda3d1dc0ec [formerly 20f58bfa832c85f4837f325c3d74b0eef264b2bf] [formerly 830cae0d17c4cef7b538734d6cfe83539689dab3 [formerly 4dc889bfa34a04c59844969bb0d6b08599c1189a]]
Former-commit-id: 949b6b78762b7b804e357ee5b3afe35456fd7f2d [formerly 92beb7207e1271941f4053255091d32806a19e9b]
Former-commit-id: 5b1d9b37251f0bc3be87aef0ef0c3252ff82b4d0
2016-08-31 20:53:27 +02:00
Lynix 1f2719fd17 Revert "Core/HardwareInfo: Fix indentation (Windows)"
This reverts commit a4019076ff9afd3cb7e2d98a54c9788fd2df1457 [formerly 3a39cd2e8a3aa8bb46f9f1465923f2abb8fc19a1] [formerly a23f6beee25e408579609874672806b124bf5fc0 [formerly be4cec088d5683bc18e54fd5daa2805134a88bb9]] [formerly dd94bfecaf16a96cdc39de9abd3c0749f17bf824 [formerly 539605da0eb694cbad2fb52fdb49b9a79c3a0d04] [formerly 00917e0bb4766a6f19f303040241c81a92778185 [formerly 48c4b5219e3d1f74f04099f164712c2baddf1d4b]]].


Former-commit-id: 153fd6ac243aee3971fda0a4a2ec9bed51a4ecbf [formerly 83b196ee86d8689cd331b8ac1e9256fc4158f4bb] [formerly 76dceaeb34c1e3156537ebaa3ba0a73950b03805 [formerly 10f813a3f75ef706c37c3e312ccc58a556b5e1f5]]
Former-commit-id: 9e2e56623d1f2b95f013ee0f565a5ffdf0f450b9 [formerly 1e58bd22e6b1070954227f669d92794ce56581a6]
Former-commit-id: c5ccf208507c40c8939ce9a92c8f4def6e231b79
2016-08-31 19:16:03 +02:00
Lynix 85b2f41667 Core/HardwareInfo: Fix indentation (Windows)
Former-commit-id: 7ba2d1623489a77445c5f687b329fffd8f85bfc0 [formerly 670207d53279fa6ff6a63ee0c701ac5691b3073c] [formerly 214e08cdb6fa4abe6289c139b62211a806f7545b [formerly 1774090b940bb9046ed51fcb70e7fc89e490cc67]]
Former-commit-id: a6ebc85ef52dece75daf2dbd95b73cfad48e957c [formerly 00b7ddd2874d348d452ae8fd0bd668b90b7c4bcd]
Former-commit-id: e9dd53029407209f3210cd47b16e1e0070e1ccfd
2016-08-31 18:20:23 +02:00
Gawaboumga 24d7861380 Fix documentation
Former-commit-id: bdaff1e4efaaad685df60baa0d11af3e7951dc4d [formerly 409b51215b894006fbcae285c8dfd67c97c9ae11] [formerly 58a176f2944bc3d347ccba58360cbdee3bb1b8d3 [formerly e6bd6b34212946c04eeec6896954c3969d1baf5f]]
Former-commit-id: 944b2ddd24acdcb0b6a5db07cfc75c13f407737a [formerly 7ed2f044fe8e50bf99a1c432e6079f7a445af573]
Former-commit-id: a1bfe55ac944ea530578a0cc813dd253cc708b69
2016-08-21 13:49:24 +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
Gawaboumga 96b958d655 Documentation for module: Graphics
Former-commit-id: 5e3ee3c61779fbdd1a083117f537a45e1bad820b
2016-05-30 14:21:36 +02:00
Lynix c359c6925e Graphics/SpriteLibrary: Fix missing initialization/uninitialization (fixes crash at exit)
Former-commit-id: c7bbd781d163a8456f1fadd0f71451adc5a1bd1a
2016-01-19 12:14:07 +01:00
Lynix 0a0e6d00f7 Graphics: Add render order
Former-commit-id: 881ae69c214e024846dc0165f3476f76f5bcc0b5
2015-11-27 23:38:54 +01:00
Lynix df8da275c4 Switch from Nz prefix to namespace Nz
What a huge commit


Former-commit-id: 38ac5eebf70adc1180f571f6006192d28fb99897
2015-09-25 19:20:05 +02:00