Commit Graph

366 Commits

Author SHA1 Message Date
Lynix 8d06c57d0d Renderer: Add support for hardware buffers 2016-10-29 00:52:25 +02:00
Lynix 71aa4d53a3 Renderer: Allow to pass custom parameters 2016-10-28 22:31:04 +02:00
Lynix 7a0a8543c3 Renderer/Texture: Add override specifier 2016-10-21 00:35:44 +02:00
Lynix a7d2d8cddd Utility/AbstractImage: Inherit RefCounted 2016-10-20 23:53:22 +02:00
Lynix cf7465f7db Merge remote-tracking branch 'refs/remotes/origin/master' into vulkan 2016-10-11 17:24:03 +02:00
Lynix f709ca4997 VulkanRenderer: Add RenderWindow wrapper
Former-commit-id: 8046b7ecb5a71ba64bb5d51faaa2d2946318e6f1 [formerly adbc30c0ed533b63c445125f013384412f9272bd] [formerly eaa0c2a91e13440ee9b869d5fd2faad08d682879 [formerly 67381c6dbe3b960b1ab23bbe18c0a6193286f330]]
Former-commit-id: f4716a44444383d107f44265b5720490e141e4d0 [formerly 49d667d30dda623e6192853573efe05aa589035c]
Former-commit-id: fd3718fac5bb6d896d7cfd350807bbc1c0af309f
2016-09-15 00:44:22 +02:00
Lynix bdedd05032 Add new Renderer architecture (far from complete)
Former-commit-id: 52226793d7a087dfe0523315d3303934daffee49 [formerly 9de1c04df6b371f861a2eee8bba38902ee5041cd] [formerly ecd3099df5498722f6390447f40bd3907b8e40c4 [formerly 3076df585565fc9759ab3e718270f2e5ef620840]]
Former-commit-id: 92d52f967d0b088d1271afef26069e08cacd6b0f [formerly 5fe27e2ead104278951c772c2121a7b677f88d4d]
Former-commit-id: fb6c2456d8edd3ec022d5d953f79fecdd4f2b8f4
2016-08-23 12:52:34 +02:00
Lynix 032ae7821b Ditto
Former-commit-id: de116d9f995865b3bf3687b0ec58dc06a2ed7f0a [formerly 20da754cca992573ffc4f34bc54f6df1c8197147] [formerly 6ad83121710e258d999671bdcc88eab49a026f6c [formerly 6e3f8edf77443a6b11c45562fb05c09369d19026]]
Former-commit-id: 30f51b03ded349aa9c1d4f17671ce9a061e113d4 [formerly 2c25e268591713c7eb898e6cffdaf1921189c087]
Former-commit-id: 29caff3ced232e9dc014427545158502ef623185
2016-08-10 23:17:25 +02:00
Lynix 0aa9658dd4 Ditto
Former-commit-id: 5cb29c2fb4f8784b32ee827747d6a6c9817610cd [formerly b829d211af88b307682c2da13f1c90c809b3f7cb] [formerly f06859f02d279137edb3372b2b31932b702e380d [formerly 5395decad1eb27038bbecbd31569e91625f09123]]
Former-commit-id: 6c3355cf30e066eb3a76b9faf418f3f97efbaada [formerly 54aee068e98e897122f2b23a5bff7f4bb879db93]
Former-commit-id: 17b48986c81e954b632650594cfadbde5d64d23e
2016-08-10 23:17:25 +02:00
Lynix e6fc3edeca Renderer/RenderStates: Fix compilation with GCC/Clang
Former-commit-id: 802d2d15fc5c1d7f5a350ce18e1c105cdb001b5f [formerly 76d7c26fba7510d64aadbac3b142a699afdfad16] [formerly a1ec278f7404f5bd1ecad4e0c3c511bdf638e67e [formerly 0f98c7716944aad42b0c5ac58af360526757dc2f]]
Former-commit-id: 118f5cf639bb5f7fc0330519a9e8e464203859b5 [formerly 96bcd9ce1d3e4f43dc4ffc0389de27e6bd66ca71]
Former-commit-id: 94a2d27a97be7040287bedee2c8c3695a021115e
2016-08-10 23:12:22 +02:00
Lynix a87e5fb823 Renderer/RenderStates: Fix compilation with GCC/Clang
Former-commit-id: 94415ad48c519f7e243932d63213bc2769126773 [formerly 226fbf0a755fe6897361b25816fb819d1f6e761a] [formerly df91cbb488e40b5edc59408e860ec325ec01e746 [formerly b6284bcf325ae1b2d64ee1f225c41993ec3b8cd3]]
Former-commit-id: b938d3c4b782c95a9f024f23856e3207b1ae5813 [formerly 31544309ddd428a189898b6a72c169958519224a]
Former-commit-id: 36ad48f83668aacdbd60a5c830aa7b82a216ce9d
2016-08-10 23:12:22 +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 5fa5186480 Revert "Core/RefCounted: Remove persistent boolean"
This reverts commit db2ef3e90c3871290d114a9e6437b412e96c65aa [formerly a3f6ff88a25e63374eb6ce5b18269da2ba743b06] [formerly cfa12604fbb0da76fc27288b210ee1254a8b3a38 [formerly dee6ce858398e2de38ef1af00c1c630fd0126e09]] [formerly 1a23f0fddcd80ac33030061b7a00a3cfd43cb7fe [formerly d3cb17069c71449ae3f1cba6de55ea70f509e7a4] [formerly b2f8f82e9f3427310204f2e8a61d7bdfd96202d2 [formerly 5d117720d08d6d6243b3428d4b3f8aea1abef845]]].


Former-commit-id: 13a54266823fed88610753b1a90f4ef2c6fe932d [formerly 508d1a01cceee4a577063c684244fcf598ff6cb5] [formerly 2c99faae4d65dc222d05d2f98913a380b38d58ef [formerly 0117f7aec15e3db31cacdd0ef874064907c41ba8]]
Former-commit-id: 140d69126443b821a232a1a8b012712fc2e74b0f [formerly 501a63bd435f64d9da932279c90400ed95d0c1be]
Former-commit-id: d2d74a42d070eae9c1f158a59238c5f1ac40edb3
2016-08-02 13:20:34 +02:00
Lynix 6f265a1cb3 Revert "Core/RefCounted: Remove persistent boolean"
This reverts commit db2ef3e90c3871290d114a9e6437b412e96c65aa [formerly a3f6ff88a25e63374eb6ce5b18269da2ba743b06] [formerly cfa12604fbb0da76fc27288b210ee1254a8b3a38 [formerly dee6ce858398e2de38ef1af00c1c630fd0126e09]] [formerly 1a23f0fddcd80ac33030061b7a00a3cfd43cb7fe [formerly d3cb17069c71449ae3f1cba6de55ea70f509e7a4] [formerly b2f8f82e9f3427310204f2e8a61d7bdfd96202d2 [formerly 5d117720d08d6d6243b3428d4b3f8aea1abef845]]].


Former-commit-id: a7af09faec974d268de6680f2c0c16d531048935 [formerly 37761044d13cf2e2041c9eed9ff113a41efd87f8] [formerly ae05b7afb5f43daf90cd8182bf24c98067be4d16 [formerly 6633982a51ba117a749f08efda338455eabe59b3]]
Former-commit-id: a4c99f7c8c26a0c1276eb5262871a1964d470bfb [formerly 741d46a0838a64e92aaa46fe563493da10d62c98]
Former-commit-id: fe30e63aeb19e56fa64447bdd884766f84f305dd
2016-08-02 13:20:34 +02:00
Lynix 755bf0b04b Core/RefCounted: Remove persistent boolean
Former-commit-id: 6661b29e0e5e1dee8f4588688dc42865ce76e9ba [formerly 55e47c5ec3851e55243fb0e8e85d7fcc22f6cc1b]
Former-commit-id: 5442ab91a3a4b7da93c10bd06889785ac1faf034
2016-08-02 12:52:49 +02:00
Lynix 07725ceb03 Core/RefCounted: Remove persistent boolean
Former-commit-id: 99602e0fa1e54b6fc8e0087ef89d0e2c74bcfc15 [formerly 83374368c28b83e4916958e7a58d54ec663a9842]
Former-commit-id: 603d0c81eada7d1f25058163bbf97672cd96d08c
2016-08-02 12:52:49 +02:00
Lynix ceaac9be13 Renderer/RenderStates: Update RenderStates structure (preparing for renderer update)
Former-commit-id: 8839ceda70dfa0384e8da43205a208c89f1eb7bf [formerly f5434c9c44a52e02fdc6970e443cd7d3e9e99e6b]
Former-commit-id: 6a4846a2e2c8b60160598812ebd02da17a2f6947
2016-07-21 23:00:09 +02:00
Lynix 56443c91e4 Renderer/RenderStates: Update RenderStates structure (preparing for renderer update)
Former-commit-id: 392c7c33ff64d19e0fe3c7bdc8b22fe17c150887 [formerly d12a3c5f664fccebe0ee40a73bb0310e2d02287e]
Former-commit-id: 22743f015567a8471f97cb90a06175f600ef0f8f
2016-07-21 23:00:09 +02:00
Lynix 77cf413f6a Renderer/RenderWindow: Fix visibility of OnWindow*() events
Former-commit-id: 9e756e4a50d8f14bbf9cded7b580bd6787515332 [formerly d8a7f7a52aec51b3480ddfe0e71ffb6568f35440]
Former-commit-id: 61e0ee78490dc00e64c8efd72953cfe5ceee195f
2016-06-20 13:12:09 +02:00
Lynix bd2b73bba7 Renderer/RenderWindow: Fix visibility of OnWindow*() events
Former-commit-id: 221602aecc845cf0b8c385d7ffd7bbf94fcc716f [formerly 43f42f18548e618a5af37d8b4a2e195694d925b8]
Former-commit-id: 30084dc77a88fc721f06b28755a44b7ffa32e2a3
2016-06-20 13:12:09 +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
Lynix a1644edf45 Merge branch 'NDK-ShadowMapping'
Former-commit-id: e77949168073f06d52d10785afb41bad2f7f86c0
2016-05-13 13:06:23 +02:00
Lynix 6c8d2ed03a Merge branch 'NDK-ShadowMapping'
Former-commit-id: 0fcd92b113069d2ee1edc74cf9be471cd6d97267
2016-05-13 13:06:23 +02:00
Lynix 9e3b99bb5a Make mesh able to carry material informations
- Move OBJ Loader to Utility module, where it belongs
- Change Mesh material informations from a path to a parameterlist
- Improve Mesh code


Former-commit-id: 3c18901133fa5ac8281269822f6e2650ddcefd2d
2016-04-30 18:44:33 +02:00
Lynix 3b5d6e9cde Make mesh able to carry material informations
- Move OBJ Loader to Utility module, where it belongs
- Change Mesh material informations from a path to a parameterlist
- Improve Mesh code


Former-commit-id: f16f48f8b6399188a09797cec3707ab6726bdbca
2016-04-30 18:44:33 +02:00
Lynix d6112c99f4 Renderer/OpenGL: Add loading of glCompressedTexSubImage*D
Former-commit-id: 34f19a2c8f640edace81a0f7cd211b06063fe8a3
2016-04-21 13:21:06 +02:00
Lynix 37aa00b2e7 Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: e2be28b65207dfbb81efe58f31ca31548afecee7
2016-04-17 19:57:15 +02:00
Gawaboumga 265e1c0fbd Fix compilation for gcc/clang + tests for serialization
Former-commit-id: db9c93a1db3c57f268fc17e411402e071fc8675a
2016-04-04 10:17:05 +02:00
Lynix d6ff7d065e Utility/Image: Add saver (allowing to save images)
Former-commit-id: df78d657256f8a6b7dad5ab11877aae7402608b3
2016-03-08 13:11:09 +01:00
Gawaboumga 7f4a7c1012 Add override where missing
Former-commit-id: 2a876a280bc29f45ba81cedff5a3efeb5b70efab
2015-12-30 15:15:20 +01:00
Lynix 9cf5e4b68c Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: 83435ab51753299b30a102871fbcd5558d2ac4f1
2015-12-09 00:59:07 +01:00
Lynix ed961f5ba8 Core: Merge InputStream and OutputStream to Stream
Remove serialization support from Stream


Former-commit-id: 7a761e4fcd07cab561f13e4709c4492ed18da88a
2015-11-20 13:52:49 +01:00
Lynix 7db9be3cfb Disable memory manager for every module
Former-commit-id: 4c6e0a87de57bf55780cc9dfee280cc198d06704
2015-09-28 00:41:24 +02: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 fe2e47478e Commit forgotten files
Former-commit-id: dd296ce0e7c4128c35b41cbe753ffb572858ba6c
2015-09-25 23:17:44 +02:00
Lynix eaf1bb3601 Merge branch 'NDK-Refactor' into NDK
Conflicts:
	examples/HardwareInfo/main.cpp
	include/Nazara/Renderer/Enums.hpp
	include/Nazara/Renderer/GpuQuery.hpp
	include/Nazara/Renderer/OpenGL.hpp
	include/Nazara/Renderer/RenderBuffer.hpp
	include/Nazara/Renderer/RenderTexture.hpp
	include/Nazara/Renderer/Texture.hpp
	src/Nazara/Graphics/AbstractRenderTechnique.cpp
	src/Nazara/Graphics/DeferredRenderTechnique.cpp
	src/Nazara/Graphics/Material.cpp
	src/Nazara/Graphics/SkyboxBackground.cpp
	src/Nazara/Renderer/GpuQuery.cpp
	src/Nazara/Renderer/OpenGL.cpp
	src/Nazara/Renderer/RenderBuffer.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp
	src/Nazara/Renderer/Shader.cpp
	src/Nazara/Renderer/ShaderStage.cpp
	src/Nazara/Renderer/Texture.cpp

Former-commit-id: 2f1c7e9f9766f59ab83d9405856a1898ac4ab48f
2015-09-25 23:16:58 +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 70ea6912e1 Merge branch 'OpenGL3-upgrade' into NDK
Conflicts:
	src/Nazara/Graphics/SkyboxBackground.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp

Former-commit-id: e8914d4e32a689b7df365dca15a438f10722530c
2015-09-24 21:35:43 +02:00
Lynix c214251ecf Update copy/move constructors/operators
Former-commit-id: b1faeeae9211a6c0ca29261d46929dc8c66ea0c4
2015-09-24 12:51:52 +02:00
Lynix dea3fb4e39 Convert spaces to tabs
Former-commit-id: b459cfe0c83f651cc660d42f7d3014c3b146f345
2015-09-24 00:55:57 +02:00
Lynix 2fd3872099 Core: Remove NonCopyable
Former-commit-id: f8c6d10ad0b1abb4a32e3c867b7f24fd4bde68a4
2015-09-24 00:37:21 +02:00
Lynix 1ffd2b724f Merge branch 'NDK' into NDK-ShadowMapping
Former-commit-id: 150a4149d50af6971fd5798c080f0c55e009a55b
2015-09-20 23:42:12 +02:00
Lynix b16abf0d09 Merge branch 'master' into NDK
Conflicts:
	build/scripts/module/renderer.lua
	build/scripts/module/utility.lua
	include/Nazara/Renderer/OpenGL.hpp
	src/Nazara/Core/String.cpp

Former-commit-id: 0a8054be56f01b12c604c88b829cb10b490a9d6f
2015-09-20 23:41:21 +02:00
Youri Hubaut 829b356ae2 First GLX implementation
Former-commit-id: 0f41eb0bd949899fce740879604f14a44f532d8a
2015-09-19 17:22:25 +02:00
Lynix 025d873228 Merge branch 'NDK' into NDK-ShadowMapping
Conflicts:
	SDK/include/NDK/Systems/RenderSystem.hpp
	SDK/src/NDK/Systems/RenderSystem.cpp

Former-commit-id: 2772ff703c9d68d536667c469aca85084be4b861
2015-09-19 14:47:02 +02:00
Lynix 03ee0a12ed Make signals arguments clearer
Former-commit-id: c329f1fc5b8d8ffcf8e38ec4e4804454b31f685f
2015-09-14 22:40:38 +02:00
Lynix aa303f9028 Merge branch 'NDK' into NDK-ShadowMapping
Conflicts:
	include/Nazara/Math/Matrix4.inl

Former-commit-id: e4b7d178a7acba17c03de2b585af86324b8d75a6
2015-09-13 12:10:30 +02:00
Lynix 505f1dbb03 Merge branch 'master' into NDK
Conflicts:
	include/Nazara/Core/Algorithm.inl
	include/Nazara/Core/ByteArray.hpp
	include/Nazara/Math/Algorithm.inl
	src/Nazara/Graphics/SkyboxBackground.cpp

Former-commit-id: 42f52f71989fa805f69527fd07edb8405df06566
2015-08-21 18:55:58 +02:00
Gawaboumga 8716daf73c Debug axes
Former-commit-id: e7d93df67679d1e29014120aef5cc0c3421fd9c2
2015-08-21 12:14:35 +02:00
Lynix 6870148314 Renderer: Add shader validation
Former-commit-id: fa9225b87e6ec2217c3838535531075dfcaaf433
2015-07-05 23:26:09 +02:00
Lynix 9318d269e2 Renderer/RenderTexture: Fix and inline
Former-commit-id: 4bf8ad8acd3b978c4665df9547328333b9f9ad42
2015-06-21 13:18:37 +02:00
Lynix 1fc17c8b53 Separate NAZARA_API into multiple defines (one per module)
To fix inter-module dependency


Former-commit-id: 64704f020e0af22e529d38527323ba977187d4d0
2015-06-13 22:31:29 +02:00
Lynix 251e21f006 More VS fixes
Former-commit-id: 356effb816b9527ff9e89ee3b99074c468455b08
2015-06-13 19:42:07 +02:00
Lynix a069b105e6 Fully replace listener system by signals
Former-commit-id: 032dfddd12cc3a792c71426148c758ffac3621f9
2015-06-07 20:42:41 +02:00
Lynix 0f4cf3c910 Graphics/RenderTechnique: Add uniform invalidation
Former-commit-id: 8f03073408a03854533d9911eb1a0605ebbb8767
2015-06-07 18:25:35 +02:00
Lynix c0c6179acc Graphics/ForwardRenderQueue: Replace listeners by signals
Former-commit-id: 3429e69cc4334ba602d8ccfb1fc725af85d42f7f
2015-06-07 17:59:09 +02:00
Lynix 004b53c590 Renderer/Renderer: Replace listeners by signals
Former-commit-id: c1293f7f7cc31c4122ba866fc44d93188917ad93
2015-06-07 16:52:19 +02:00
Lynix fe25249136 Replace Listenable system by signals
Former-commit-id: 16fb0b3e703ca4b41ceb97fab938cebb05f677d4
2015-06-07 15:16:11 +02:00
Lynix 446f537e3f Merge branch 'master' into NDK
Conflicts:
	src/Nazara/Physics/Geom.cpp

Former-commit-id: 8fd71e34dbe105890042acc55e30b64e7c457ed4
2015-05-06 23:45:41 +02:00
Lynix 44ff678002 Core: Added Listenable class (Made class Listener system generic)
Former-commit-id: 3baed32d6720c6455f50af51f262292ece9943fa
2015-05-06 18:17:18 +02:00
Lynix 40321cf9b1 (RenderTexture) Fixed size computation
Former-commit-id: 67f6408f0fe88af5066f9eb2c29f2426673db7cd
2015-03-28 14:54:52 +01:00
Lynix 5ecddb20c6 Remade RenderWindow::CopyToImage
Former-commit-id: a903cc8ea67d13ff7cf231d075235c3c17593a60
2015-03-18 22:24:07 +01:00
Lynix 4c659a6442 Fixed potential name conflict with user's code
Former-commit-id: ca4e2ec3973d45832fc6a6535750b2639f65fe23
2015-02-04 21:59:45 +01:00
Lynix 2462a6f4bf Removed conditional support of PBOs
Altough the Renderer doesn't support them yet


Former-commit-id: 8417f465c913bea1226fa7d742fe1dc614ecf72b
2015-01-30 15:44:34 +01:00
Lynix db4a499151 Removed support for OpenGL 2
Former-commit-id: e796c333d6c2ef0550ff4427d36dcfbaf00ef924
2015-01-30 15:39:25 +01:00
Lynix 7a73314ef5 Added resource managers
Former-commit-id: 9c071230c1e325ec672c9dfe30ee7e498baa1d08
2015-01-28 20:53:40 +01:00
Lynix 53162c1722 Added a Library to most reference-counted classes
Former-commit-id: 3ed409a71dcd5ce4eec7672ac26f8fff00e3b136
2015-01-28 18:06:05 +01:00
Lynix e18e490c59 Replaced (Uber)ShaderLibrary by template class ObjectLibrary
Former-commit-id: d488cfd4e5e3ff31112fffebce2b7cdb86cc2e55
2015-01-28 15:49:04 +01:00
Lynix ab538e0e2d Fixed comment
Former-commit-id: e15fa14a9f6c14d0660a5ec702ca6b8a2288dc83
2015-01-26 16:14:03 +01:00
Lynix 0db92e671d Added a static New method to RefCounted-derived classes
Former-commit-id: efd9e68e050fb6cc7e0df7a7c222ca759c502dc5
2015-01-25 23:41:09 +01:00
Lynix 5f5be93992 Merge remote-tracking branch 'origin/master' into Resource-Update
Conflicts:
	include/Nazara/Audio/Music.hpp
	include/Nazara/Audio/SoundBuffer.hpp
	include/Nazara/Core/Resource.hpp
	include/Nazara/Core/ResourceListener.hpp
	include/Nazara/Graphics/Material.hpp
	include/Nazara/Renderer/Context.hpp
	include/Nazara/Renderer/RenderBuffer.hpp
	include/Nazara/Renderer/Shader.hpp
	include/Nazara/Renderer/Texture.hpp
	include/Nazara/Renderer/UberShader.hpp
	include/Nazara/Utility/Animation.hpp
	include/Nazara/Utility/Buffer.hpp
	include/Nazara/Utility/Image.hpp
	include/Nazara/Utility/IndexBuffer.hpp
	include/Nazara/Utility/Mesh.hpp
	include/Nazara/Utility/SkeletalMesh.hpp
	include/Nazara/Utility/Skeleton.hpp
	include/Nazara/Utility/StaticMesh.hpp
	include/Nazara/Utility/SubMesh.hpp
	include/Nazara/Utility/VertexBuffer.hpp
	include/Nazara/Utility/VertexDeclaration.hpp
	src/Nazara/Core/Resource.cpp
	src/Nazara/Core/ResourceListener.cpp
	src/Nazara/Graphics/DeferredRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderQueue.cpp
	src/Nazara/Graphics/SkinningManager.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp
	src/Nazara/Utility/Mesh.cpp

Former-commit-id: 99b5ad26a19fe9c9f8118da7b5920bffe89f60f8
2015-01-25 19:29:55 +01:00
Lynix 01a1badac7 Removed useless std::function from rendering code
Former-commit-id: eaba729d5047d326fb2e746cec0621bfcf2eb1c5
2015-01-23 20:21:00 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix c18fc4cb14 Removed ShaderUniform_[EyePosition|SceneAmbient]
Former-commit-id: 89dedaf78d86def598531f472a1a6ecd56fe8371
2015-01-19 00:15:01 +01:00
Lynix 8f9ea9db17 Added ResourceListenerWrapper
This class wraps the call to
Resource::AddResourceListener/RemoveResourceListener using RAII and help
a lot with some of the dependencies.
Thanks to this, the render queues now handle their resources listening
properly.

Former-commit-id: 7f215ffa4ccadcc4f44f777656970e92ce01087a
2015-01-18 23:59:01 +01:00
Lynix 0b1f10bf72 Alphabetical commit
Former-commit-id: a62b1812e59371e4ca7f1d77bf438859514e0ac7
2015-01-18 12:20:32 +01:00
Lynix 81e38d1431 Fixed comment
Former-commit-id: 02e09bb9eac10da9693c07db00c837784a6edf4e
2015-01-18 12:19:05 +01:00
Lynix a244029e11 Fixed RenderTarget destructor not being virtual
Even though it's pretty useless


Former-commit-id: 9140fc3bc8aeabf041c5cf90ea3efcabc4ed4940
2015-01-17 00:35:20 +01:00
Lynix cd5399459d Made Resource copying/moving impossible
It is still possible to copy some Resource-based classes though


Former-commit-id: bbb6066f736c210015ff9fdfded7d95eb9695359
2015-01-16 16:28:38 +01:00
Lynix 904319ee90 Improved/Fixed Texture class
Allowed move constructor/operator
Fixed Texture::Download/Texture::Update
Made InvalidateMipmaps public


Former-commit-id: b8b6a54bc5d6250f640fed6582dc694df6405f73
2015-01-07 21:03:29 +01:00
Lynix 9293022e71 Added sprite overlay rendering
Former-commit-id: 1e25a7d85f06f4a4bc3ed0ead76df01db440671d
2015-01-07 19:27:15 +01:00
Lynix 72a24c4d7c Aded Renderer::GetMaxTextureSize()
+ minor changes


Former-commit-id: 6b80280d018c323ceb393c58aab96d68a15f3ff2
2015-01-06 19:03:39 +01:00
Lynix e3f7644831 Added class AbstractImage, inherited by Image and Texture
Former-commit-id: 16e5db4937a145ac244d6c70e4c74662622f86d9
2015-01-05 15:08:29 +01:00
Lynix 304b4d13cc Removed Texture::UpdateFace
Texture::Update is now able to update cubemaps faces (one at a time)

Former-commit-id: 7468761d1f08fc9477af8da5a38722508c044917
2015-01-05 14:32:34 +01:00
Lynix d13ab1a050 (Texture) Reflected Image interface (size getters)
Former-commit-id: 4d979671c7b49191fb44b5fae7e9bfb266cd1417
2015-01-05 13:51:46 +01:00
Lynix 97ff9bc4ac Improved texture creation
Fixed possible wasted space on NVidia hardware


Former-commit-id: 42a26c88d8bd03b1ac845c62984cf8c355f1902a
2015-01-04 12:50:56 +01:00
Lynix 596f407a79 Added DebugDrawer::Draw(position, size)
Draws a "size"-sized box centered on "position"


Former-commit-id: 9385762a4118fe76364faa5819fd9a94efceefbf
2015-01-03 22:32:56 +01:00
Lynix 528969d0fa Merge remote-tracking branch 'origin/master' into Font-Update
Former-commit-id: ae0244334123a3442c7675df80b1a501a6837257
2014-12-17 14:00:20 +01:00
Lynix 7316cbb694 Added OpenGL support for pixel formats A8/L8/LA8
Former-commit-id: b17942f7bf22daf90ddf5d8093da6c26b64a67ce
2014-12-10 19:01:03 +01:00
Lynix 42b28e732c Removed whitespace
Former-commit-id: e7bfe92a625f6102abc4fe3b11b498c43b371ee9
2014-12-07 03:04:24 +01:00
Lynix 00a35cd565 Removed useless enum
Former-commit-id: b342be41eda3271320954a0279cf0a2afdfcd8e2
2014-09-03 13:29:54 +02:00
Lynix 0d69267992 Added Image::LoadArrayFrom* (convert an atlas to an array)
Also added Texture::LoadArrayFrom* shortcuts


Former-commit-id: f3cde12d5b634c75de8745fa800c30749e0fe662
2014-08-18 18:13:30 +02:00
Lynix b413727a21 Added required flags to UberShaderPreprocessor
Former-commit-id: 1118fb08d1c0a7f6ebd18042f9a2044738bc4169
2014-08-05 09:43:19 +02:00
Lynix 9e04e8a0e4 Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
2014-07-15 00:59:02 +02:00
Lynix b54be6e25f Renamed AttributeUsage and AttributeType
... to VertexComponent and ComponentType.

-Renderer:
Renamed IsVertexAttributeSupported static method to
IsComponentTypeSupported

-VertexDeclaration:
Added IsTypeSupported static method
Renamed [Disable|Enable|Get]Attribute to [Disable|Enable|Get]Component
Removed GetAttributeSize static method

-VertexMapper:
Renamed GetAttributePtr method to GetComponentPtr

Former-commit-id: 7115856e1d389610c35b26f63af5d93a5ad5c690
2014-07-10 18:31:56 +02:00
Lynix ebb13d3bf2 Added DebugDrawer::DrawLine and DebugDrawer::DrawPoints
Former-commit-id: e1b2278a7c11ebfc8050bad23aef7a9a4cbf3c25
2014-07-10 10:12:25 +02:00
Lynix c4b10dddda Big config/debug update
Added config checkers
Macro no longer use suffixes
Moved MemoryManager to upper directory
Renamed *_MEMORYMANAGER to *_MANAGE_MEMORY
Renamed AUDIO_STREAMEDBUFFERCOUNT to AUDIO_STREAMED_BUFFER_COUNT
Renamed CORE_REAL_PRECISION to CORE_DECIMAL_DIGITS
Renamed DEBUG_MEMORYMANAGER_DISABLE_REDEFINITION to
DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
Renamed GRAPHICS_MAX_LIGHTPERPASS to GRAPHICS_MAX_LIGHT_PER_PASS
Renamed UTILITY_FORCE_DECLARATION_STRIDE_MULTIPLE_OF_32 to
UTILITY_VERTEX_DECLARATION_FORCE_STRIDE_MULTIPLE_OF_32


Former-commit-id: 81ef836ac9f092ac471f60e544bb7c7c6370593c
2014-07-08 10:56:37 +02:00
Lynix df803fd5f7 Fixed Graphics module build
Former-commit-id: 1dc70a30cd4ca68d2d7869d51eb01f81770b0e3b
2014-05-28 01:15:12 +02:00
Lynix b16f2bf763 Added OpenGL function loading
glVertexAttrib[I|L]Pointer
Also removed useless test (since unsigned can't be under zero..)


Former-commit-id: 628172ca764956349db5498b6ac7fec6400febfa
2014-04-25 20:17:00 +02:00
Lynix fe8ff688e8 Improved OpenGL context implementation
Former-commit-id: 20988bd4a0fa85b7c073a189e71dab25571be617
2014-04-25 14:03:01 +02:00
Lynix 7ac3fee3a5 Added OpenGL::Delete[FrameBuffer|VertexArray]
Also renamed OpenGL::OnContextChange to OnContextChanged (since it
happens after the context change)
Also improved RenderTexture implementation


Former-commit-id: d845b1405294dd3aa134d392585069bbb28a77a3
2014-04-25 12:38:53 +02:00
Lynix c606599e19 Updated MemoryManager
Renamed MemoryLeakTracker[.hpp|.cpp] to MemoryManager[.hpp|.cpp]
Added MemoryManager::GetAllocatedBlockCount()
Added MemoryManager::GetAllocatedSize()
Optimized MemoryManager (no longer allocates a time buffer)


Former-commit-id: 0e9c720cbb48fbed7006db3bd1000ebbc22c9583
2014-04-21 22:13:31 +02:00
Lynix 7d99550925 Made Initialize/Uninitialize static methods from non-submodules private
Former-commit-id: 78dac32c8650dc9eb4fd2c7f0bece030012497cf
2014-04-21 00:08:34 +02:00
Lynix 4026e310bc Optimized OpenGL samplers binding
Former-commit-id: 6afb2ed4d9851e09ff1006cf7c81df0cac0bed7d
2014-04-16 09:02:32 +02:00
Lynix 86bdab9055 Big UberShader update
-Added GRAPHICS_MAX_LIGHTPERPASS macro
-Added glGetActiveUniform OpenGL function
-Added (Uber)ShaderLibrary
-Added (Uber)ShaderName parameter to models
-Changed uniform system
-Fixed Node copying
-Moved Material class to Graphics module
-Optimized lights
-Remade Shader class
-Renamed Node::Invalidate to Node::InvalidateNode
-Renamed ShaderProgram to Shader


Former-commit-id: 15f0cad52969e91a2442e7d750ba2dc412f3549d
2014-02-21 19:27:39 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix c096756dab Happy thousandth commit Nazara
Updated copyright year (Yay, 515 file updated)
Regenerated global headers
Fixed some typo
Improved some shaders
-Blah blah blah-

Thank you all for supporting my project !
-Lynix


Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
2014-01-12 20:16:21 +01:00
Lynix 9bf66e7e16 Added RenderTexture::Blit
Added RenderTexture::GetSize


Former-commit-id: f385ccc39a2051765db9befa3b77f75b17529447
2014-01-11 19:10:19 +01:00
Lynix 16578e728f Renamed RenderClearFlags to RendererBufferFlags
Former-commit-id: 7821709bc7310820e877db9bb26d1fb50d7ba217
2014-01-11 10:12:06 +01:00
Lynix 3e0561830f Added Renderer::GetDepthFunc
Former-commit-id: 222cefb90f7fd4771bd5b9f9eab9f9adf02b72d9
2013-12-26 11:33:01 +01:00
Lynix 0d8572a60c Added DebugDrawer::DrawCone
Former-commit-id: 8c02ac50f3ca6a7fba1494f8f2a42eebfe949f7b
2013-12-09 14:16:48 +01:00
Lynix b0270b0497 Made RenderWindow::HasContext override
Former-commit-id: 09d0323c0c3c392f015955d6a25e0fee9331ed7e
2013-12-08 00:33:01 +01:00
Lynix 9357079e1d Added RenderBuffer class (Usables with RenderTexture)
Former-commit-id: f32a2d5e5018ce3b1d41db87aec6fa910c8183a3
2013-12-07 23:48:21 +01:00
Lynix 2b4e110c5a Moved headers
Former-commit-id: 346169a661009fc5cef54e35c1e29c0bef3b81f3
2013-12-05 10:20:34 +01:00
Lynix 6e20e7095b Fixed missing file
Former-commit-id: 1e0868cc05454a3c219676057af04921ffe03837
2013-10-09 10:14:16 +02:00
Lynix b01fad269e Improved Texture mipmap support
Former-commit-id: 0fc3e003a6524e5c026712a3dc695cf80817ea88
2013-10-09 10:14:10 +02:00
Lynix 8ce5f879a8 Improved RenderTexture class
Former-commit-id: 0126eeefce5512a504024e1c0ef2e5f1345003b3
2013-10-09 10:14:09 +02:00
Lynix 15fa8378c9 Added a lot of methods to send uniforms
including arrays and integers vectors


Former-commit-id: c365cccdbad7eab1a1212e78759d7fda857012f9
2013-09-16 01:01:59 +02:00
Lynix c1dc2884b0 Forced Backgrounds fragments depth to maximum (1)
Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
2013-09-06 18:31:04 +02:00
Lynix 6732761108 Texture are no longer associated with a RenderTexture
Former-commit-id: 4430c36afd081f20b89322ca1e0c2b8c4ef73ce5
2013-09-06 18:23:24 +02:00
Lynix d4abb8fc49 Made stencil per face side
Former-commit-id: 093f2125886d47ebc79f97aaecfad3a5216f399a
2013-09-06 18:17:58 +02:00
Lynix 1ed8ea8ad5 Fixed missing files from previous commit
Former-commit-id: 0a757b5cfda97dd6f88d5a17b8dc41329c139d32
2013-09-06 18:05:39 +02:00
Lynix e92f388c65 Renamed FaceCulling enum to FaceSide
Former-commit-id: 7847dcd64e0b23d261a9ec07f3bc1a3c162985e5
2013-09-06 17:59:48 +02:00
Lynix 0dd56560e2 Renamed StencilOperation_[Decrement|Increment]ToSaturation
Replaced incorrect "ToSaturation" part by "NoClamp"


Former-commit-id: a0bb122a332bdae291a8a7d46474980574ae168e
2013-09-06 17:43:34 +02:00
Lynix 9d4f7250aa Added RendererComparison_NotEqual
Can't figure out why it was missing


Former-commit-id: cf243f8a081208cc97924d802611d0e3376d8135
2013-09-06 17:41:14 +02:00
Lynix 10f7d185a6 Added conditional rendering
Former-commit-id: 30c062a469ad5f534b95a33c07c92c89036aacf7
2013-09-06 17:38:34 +02:00
Lynix e60b1c010e Added OpenGL functions
glBlendFuncSeparate
glStencilFuncSeparate
glStencilOpSeparate


Former-commit-id: 61d1a9fb2fe92232bee4421d8a4770a03f33d7ef
2013-09-06 17:23:32 +02:00
Lynix 66a64fb71c Fixed GpuQuery bug
Also added GpuQuery::GetOpenGLID()


Former-commit-id: 2a5d01a945ffeb576b5dce6756dbffcc511c237c
2013-09-06 17:17:47 +02:00
Lynix bed20692a6 Fixed OnResourceDestroy callback not called by the destructor
Former-commit-id: 8b961101f88343ddd3bb382d2c333052efb03164
2013-09-03 13:57:32 +02:00
Lynix 76abb5bf16 OcclusionQuery renamed to GpuQuery, and added query modes
Former-commit-id: b36a9b623653ac9b1eb422b09b3781ef46b81aca
2013-09-03 13:49:17 +02:00
Lynix 00fe872f27 Added matrices inverse to Renderer uniforms
Former-commit-id: 06333817aa0537e6dae80f8c72061f206023256a
2013-08-28 03:07:17 +02:00
Lynix 866ff64548 Added Texture::GetSize()
Former-commit-id: da4b31cf95f605f83da17f63bc9a6dbd1d8b35c6
2013-08-28 02:52:47 +02:00
Lynix f679f323c2 Made scissor rect/viewport Recti instead of Rectui
Also greatly optimized Renderer::Get[ScissorRect|Viewport]


Former-commit-id: 87945543144216715520a4c3ab30629636995afd
2013-08-26 13:37:33 +02:00
Lynix 72a57fbf4c Fixed crash when resources in use by the Renderer are released
Former-commit-id: 98eedb556f0387f0a5c1cafde2fc74645d1d0457
2013-08-26 00:40:45 +02:00
Lynix f1dc7b98e5 Separated Shaders from Manager
Former-commit-id: 7faddbd38bd729b2778f09be3f98105ef5219740
2013-08-25 19:55:03 +02:00
Lynix fe6816b089 Fixed buffer corruption bugs ! (Yeah !)
Former-commit-id: 3e2c82a786810a160d324f8ccf284f8e505613a0
2013-08-23 12:52:52 +02:00
Lynix 6556acfa32 Merge branch 'Graphics-Update'
Former-commit-id: 9855f235dd21d47d1cd9da8c3c0b4ede41e74472
2013-08-21 20:05:50 +02:00
Lynix c8414a39d8 Big Graphics update
Separated LightManager
Added Sprite class
Added View class
Camera is no longer a SceneNode
Fixed Material not invalidating programs
Renamed CameraPosition uniform to EyePosition
Renamed VisibilityTest to FrustumCull


Former-commit-id: ff7fbe4d9b31a3c269baab0b48c6faa347a12161
2013-08-21 20:05:33 +02:00
Lynix f73c99d502 Renderer::Clear now takes UInt32 instead of unsigned long
Former-commit-id: ea276bb13e4d5334422eb685ec1a9d908d6f9895
2013-08-18 21:00:04 +02:00
Lynix 42a1b9cbe6 It is now possible to initialize VertexBuffer without VertexDeclaration
Former-commit-id: 3f8e82925dea8644384b4ceb962a06101bccc1a3
2013-08-16 00:26:35 +02:00
Lynix 970cf1afc8 Fixed parameter name
Former-commit-id: 9197c406c3b1be915707a66eae04f5445453f8f5
2013-08-10 14:55:49 +02:00
Lynix 64ceeea544 Fixed linker error
Former-commit-id: 48d6cea8887c476916efbc44490857c566527ae5
2013-08-10 13:55:44 +02:00
Lynix d509fddc82 Added RenderTarget listeners
Moved Camera matrices assignation to RenderTechnique


Former-commit-id: c8a4ff4b35d40702f047fdfd3fdbc4e4fbbbb1a9
2013-08-09 18:25:30 +02:00
Lynix bee3652604 Added TODO
Former-commit-id: 7ddbe20041836fcb4a7b2b82d57a191298b0e95e
2013-08-09 16:33:24 +02:00
Lynix d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix 69d150272f Remade instancing
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix a8ab9e2c74 Added Material::HasCustomShaderProgram
Former-commit-id: bdd119b41d5312a65aec2d781a78283343ef4b4c
2013-08-03 17:14:30 +02:00
Lynix 059ea21b41 Added ShaderProgram::LoadFromBinary
Former-commit-id: fdc6b06173954bb9c382ed73e7cd9bb0c5fd01a5
2013-08-03 17:14:10 +02:00