Commit Graph

100 Commits

Author SHA1 Message Date
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 75d57b3c29 Merge remote-tracking branch 'refs/remotes/origin/master' into reflection-mapping 2017-05-11 20:52:04 +02:00
Lynix af41b240ad Graphics: Add support for depth-sorted sprites 2017-04-23 13:40:13 +02:00
Lynix 3e9ae9856a Forgot to save files.. 2017-04-22 17:14:56 +02:00
Lynix 52a4a590e1 Graphics/Material: Fix depth sorting flag handling for meshes 2017-04-22 17:13:51 +02:00
Lynix 06038a4d81 Cleanup pass 2017-04-22 15:08:05 +02:00
Lynix ead54e1c30 Merge branch 'master' into reflection-mapping 2017-02-18 15:07:17 +01:00
Lynix dc158d06a8 Fix warnings reported by Clang 2017-02-17 00:21:28 +01: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 adf5cd32b8 Graphics/ForwardRenderTechnique: Remove useless uniform sending 2016-12-19 18:45:42 +01:00
Lynix 37d36a89a6 Graphics: Add basic reflection mapping 2016-12-18 01:18:48 +01:00
Lynix 682dab32b3 Graphics/Shader: Make texture units statics
Provides better performances and prevents the sampler type bug to happen
2016-12-18 01:13:46 +01:00
Lynix d62720d610 Utility/Buffer: Refactor Buffer classes 2016-12-09 08:56:46 +01:00
Lynix 8d86306933 Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-11-23 14:07:52 +01:00
Lynix 7f445def13 Fix some warnings from MSVC 2016-11-10 16:44:29 +01:00
Lynix 725dc6cdbc Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-10-19 11:17:12 +02:00
Lynix 4c6f049e0d Fix another lot of warnings from Clang
Closes #90
Closes #91
Closes #92
Closes #93
2016-10-17 16:01:05 +02:00
Lynix 7e594a861f Graphics: Fix EnableInstancing(bool) having no impact 2016-10-17 14:47:15 +02:00
Lynix 5a07bbd001 Fix a lot of warnings from Clang/GCC 2016-10-17 14:46:53 +02:00
Lynix 4ba744c1bc Fix merge fails 2016-10-12 17:29:08 +02:00
Lynix 561c0cf51f Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-10-12 16:51:18 +02:00
Lynix 8ec377e72f Culling: Fix some issues
Former-commit-id: cc91c0e8a7f0651743439ce8ac19efacae1aed69 [formerly d7463103fce8210ea8e495a627e5d84e3e4d430b] [formerly 274c2b2c16df1784823027f3f50c6d7024640eee [formerly d5baf025e09e3ef48f5c1db64a07775c75594a8a]]
Former-commit-id: 15230bf754acd065e6db4ba8dd79d37f43ba8a02 [formerly 81b85f2234f378de5eed976d4924ce8ccb08296f]
Former-commit-id: 3cdd9b2416ada3c6ae9bc8bdc527da83c46e0459
2016-09-16 00:40:01 +02:00
Lynix 7781a27641 Graphics: Clear instances in Clear method
Former-commit-id: 66b0db92e353312b6cf3d68526417b5fb77c0bef [formerly 897579017072102b658dc637b91bc52d80a061cd] [formerly 7685fb2c3c18c030ce5a3ac6a29129bd39de88c8 [formerly 7ba2bc156951247f5f7ba7ebfb3d65bced1731e7]]
Former-commit-id: a1eb128bba2d28589a7988f6f98a860839c07cfe [formerly 1fed3d7b8cbc84c528ce27db61123ce8fc562e97]
Former-commit-id: cc56728a6e0a6b84c4969850287109c8e92281cd
2016-09-01 13:02:46 +02:00
Lynix 32aeb96378 Graphics: Clear instances in Clear method
Former-commit-id: 8f116c954577de1e231efe5d0c6c34458e7c195c [formerly 0b07a41900b0cad6305956370a045dd1539e5634] [formerly 4eb1b81cf3b3e2badcf61032988f61ffe511a001 [formerly f016c785f246cead41c81130d04ffb2dfe61e42d]]
Former-commit-id: 4f7fd53326b8b60c91d4e4edf53451561c7da7ad [formerly c80c94219ed09321ff35472cc9209e383f14cb59]
Former-commit-id: 8e2ec06ccf7bee67a47ad73dce1132c33cc91a5e
2016-09-01 13:02:46 +02:00
Lynix 465801836d Graphics: Fix build
Former-commit-id: f90f824361033d6accd56e6f11262c7f7bbc72d0 [formerly 7578444e26141f23e5f501d2f0deb1e60fc9e0fa] [formerly 94496fe3569ab91a47b46b9c5190f8e713df1bcd [formerly b5229f1ec2d406c8c6dee27b49664ce06784f649]]
Former-commit-id: 1b1a32242c7b6db509cf0a042974ccd8f60e6b46 [formerly 4bc3be4a64b03d166c685164a80ca332dc52ae56]
Former-commit-id: 1089d9778bd3060c453eb1b64c0c1259bb290ca8
2016-08-05 22:58:14 +02:00
Lynix dda41dbd8a Graphics: Fix build
Former-commit-id: f9ff831dc3b5f09e829a949ff213020998a4fd82 [formerly 64dd5b86643363bc6a07d36c666d7f8172e21535] [formerly 288bc4600c43227953960f0ad59633aaa01fa598 [formerly f6a908db55d46775566395b11f719a05a1e9e7e2]]
Former-commit-id: 6cf4ad619557497865bee10757bf41eeeddc73e0 [formerly 19c535c963d5240de50733b1593fb201171f0c93]
Former-commit-id: fb64e1f4f1dfdd34d6431ec99f7a78a2c33e53ed
2016-08-05 22:58:14 +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
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 37aa00b2e7 Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: e2be28b65207dfbb81efe58f31ca31548afecee7
2016-04-17 19:57:15 +02:00
Lynix c8dd28f75c Sdk/RenderSystem: Allow to change render technique
Former-commit-id: ec61a2ebff138300344e6068917f0863c3d11859
2016-04-16 18:40:58 +02:00
Lynix a31a969409 Replace useless reinterpret_cast by static_cast
Former-commit-id: f61d644d968d4fe9523a5cd122e11525a9c2765d
2016-04-07 04:20:18 +02:00
Lynix 9cf5e4b68c Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: 83435ab51753299b30a102871fbcd5558d2ac4f1
2015-12-09 00:59:07 +01:00
Lynix 0a0e6d00f7 Graphics: Add render order
Former-commit-id: 881ae69c214e024846dc0165f3476f76f5bcc0b5
2015-11-27 23:38:54 +01:00
Youri Hubaut 37586e7283 Switch from Nz prefix to namespace Nz for linux
Former-commit-id: 64eeaf3c633254b04910ebd4576fd9e910002be0
2015-09-27 15:58:49 +02: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
Lynix 2b48917176 Merge branch 'NDK' into NDK-ShadowMapping
Former-commit-id: b07de3853987ffc91946b307208c0ec26eda280a
2015-08-17 14:26:42 +02:00
Lynix 29ffd44683 Graphics/ForwardRenderTechnique: Fix crash when rendering billboards without instancing
Former-commit-id: af5595a2eb0ddf7c9bb53250af3a5e2d78ea2cda
2015-08-16 01:45:12 +02:00
Lynix 835da411c7 Graphics/Shadows: Add directional shadow mapping (WIP)
It still needs some debug


Former-commit-id: 029872debc1a784712a33802ddd70a2b61e55623
2015-08-13 13:54:34 +02:00
Lynix 75972fec36 Graphics: Add shadow mapping
Former-commit-id: ca404bee246991eab98df35396e3010ec5165c43
2015-07-05 23:57:54 +02:00
Lynix 0cb4726bf5 Merge remote-tracking branch 'origin/NDK' into NDK-ShadowMapping
Conflicts:
	SDK/include/NDK/Systems/RenderSystem.hpp
	SDK/src/NDK/Systems/RenderSystem.cpp

Former-commit-id: f62e9a27427d96893acd2381bb06ae928a1d3741
2015-06-29 21:05:09 +02:00
Lynix a4bd84a6e3 Graphics: Remove deprecated scene interface
Former-commit-id: 6b5d3c22827912d664c4f8c9c4051c824180bb51
2015-06-24 13:55:35 +02:00
Lynix 80208b0dc5 Core/OffsetOf: Remove constexpr (cannot be used because of reinterpret_cast)
Former-commit-id: 78142eb9033a1969f20055b2cecf1bc78152e896
2015-06-17 23:32:48 +02:00
Lynix e89b87044d Graphics: Fix some comments
Former-commit-id: df6d080b1ce251b7fe5707ddbb4e31773ba9035d
2015-06-17 14:32:32 +02:00
Lynix 251e21f006 More VS fixes
Former-commit-id: 356effb816b9527ff9e89ee3b99074c468455b08
2015-06-13 19:42:07 +02:00
Lynix d9c31636b9 Graphics/RenderTechnique: Move viewer to SceneData
Former-commit-id: 6c8b5a00b65649c7a3877a186b51f7240361e801
2015-06-13 16:27:12 +02:00