Commit Graph

569 Commits

Author SHA1 Message Date
Lynix 529673ebc1 Graphics/Light: Make shadow map format/size parametrable
Former-commit-id: 8151d71d58ab760584c0ace1e0686c44bab9d3b2
2015-06-30 20:48:46 +02:00
Lynix bdb6554bc8 Graphics/DepthRenderQueue: Make use of shadow casting parameter
Former-commit-id: cf15775c67a5d4245d344d001847b9fb1ffe7432
2015-06-30 20:47:08 +02:00
Lynix 34e8271d24 Fix warnings
Former-commit-id: 42f2d38f7bf5143d91da6a0fa7dc7d3b88ce56ea
2015-06-30 20:44:37 +02:00
Lynix d93229a9ac Fix compilation error
Former-commit-id: 5f264fc941898921da408b836c385d4073ebe3ae
2015-06-30 20:44:01 +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 318da0d960 Fixed some warnings
Former-commit-id: d7db2b471afac2d16f44a67e79842f8a7fc2100e
2015-06-28 13:48:22 +02:00
Lynix a4bd84a6e3 Graphics: Remove deprecated scene interface
Former-commit-id: 6b5d3c22827912d664c4f8c9c4051c824180bb51
2015-06-24 13:55:35 +02:00
Lynix 58f91d6e39 Graphics/ParticleSystem: Update interface
Former-commit-id: b58c3f194a32411eba2e321b00987d3c76e03cb0
2015-06-24 12:41:54 +02:00
Lynix c4783ac38f Graphics/ParticleSystem: Fix debug build
Former-commit-id: 52f1ea20af27d98a6e6c366f5a9f87e73bf529b0
2015-06-24 00:20:47 +02:00
Lynix eddac5c0b6 Graphics/SkyboxBackground: Fixes
Former-commit-id: ab45a2efa957e33015e4d8dd57ebc8a5d028798c
2015-06-24 00:18:38 +02:00
Lynix bfa2246ca2 Graphics: Fix missing initialisation of skyboxes
Former-commit-id: cf9989b52ca3d80fd1e789178dc77b67b98c2cdf
2015-06-24 00:10:54 +02:00
Lynix 6092b0692b Graphics/Backgrounds: Update backgrounds to new coding-style
Former-commit-id: 9f96b93706fd8417d6262392f0ce9ab9ca1985c3
2015-06-23 23:35:11 +02:00
Lynix 0ec0e02a5f Graphics/ParticleSystem: Turn it to Renderable interface
Former-commit-id: c083f32a4bf2baed93126c30a6d05cf8ed0ba493
2015-06-23 14:01:44 +02:00
Lynix 1593b7969f Graphics/Material: Fix shadow states initialize/copy/parameter
Former-commit-id: efe926baa3a5f00e04e7443b3463730e0d16edf7
2015-06-21 13:11:03 +02:00
Lynix ac8578c510 Graphics/Material: Add shadow support
The real fun will be in the shader


Former-commit-id: e29e98cbf3c35e4cf14c68852e03dc9da1df0ff1
2015-06-18 00:03:38 +02:00
Lynix 763701df7f Graphics/Material: Inline class
Former-commit-id: 7cd8b7a00c87adf087dae7d0fb8d955747cf82d1
2015-06-17 23:36:53 +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 ebbaaf7ff2 Graphics: Add depth render technique/queue
Former-commit-id: 711306ee5f84a9579068ce23240dc105cec15cde
2015-06-17 14:32:05 +02:00
Lynix 52972b0514 Merge remote-tracking branch 'origin/NDK' into NDK-ShadowMapping
Former-commit-id: d58c9f21d0de14e06321ed38b237b9fffcc0b2b8
2015-06-16 23:04:20 +02:00
Lynix 54b0339025 Graphics/TextSprite: Inlined some methods
Former-commit-id: 8c6633867e25b86b5b641662c804c446478fe56c
2015-06-16 22:54:29 +02:00
Lynix 8ade9fa65e Graphics/Sprite: Update to InstancedRenderable
Former-commit-id: 8153acbca05bf6afb4a4ed6cd0a323f641919b6d
2015-06-16 22:54:01 +02:00
Lynix 974df4288f First shadow mapping commit
Former-commit-id: 7465a7c3297626f8db8c1ff48a20c0e0d9feb765
2015-06-16 14:21:20 +02:00
Lynix 6d953d9e93 Graphics: Separate Renderable and make Light a Renderable (LightComponent)
Former-commit-id: 6177d473f27ef493ba77417fc14461cb08b6f9e1
2015-06-16 00:31:04 +02:00
Lynix f4c3ec51ed Final VS fixes
Former-commit-id: 6da44f94127f61de39710a52b8b3b73ce19c1269
2015-06-14 16:18:37 +02:00
Lynix 251e21f006 More VS fixes
Former-commit-id: 356effb816b9527ff9e89ee3b99074c468455b08
2015-06-13 19:42:07 +02:00
Lynix 1a92fe331c Rename and move loaders, expose parsers
Former-commit-id: 932ae2aab020f956d3fdb91107f6842ff292aa08
2015-06-13 17:13:55 +02:00
Lynix d9c31636b9 Graphics/RenderTechnique: Move viewer to SceneData
Former-commit-id: 6c8b5a00b65649c7a3877a186b51f7240361e801
2015-06-13 16:27:12 +02:00
Lynix 096b420d2c Graphics/TextSprite: Fix Update not invalidating instance data
Former-commit-id: 5081c4dfc534671e0a157c0f0d279940eec9b091
2015-06-12 14:02:15 +02:00
Lynix 8c345964ef Graphics/TextSprite: Add scale
Former-commit-id: 54bb42e83060730e8bd4784b1e24b479d21157f7
2015-06-12 00:45:52 +02:00
Lynix 2391d76332 Graphics/ForwardRenderTechnique: Fix light uniforms
Former-commit-id: b3f0ae5cab39ea5a698800985843a818280d18be
2015-06-12 00:23:46 +02:00
Lynix a38d988507 Graphics/TextSprite: Fix memory corruption
Former-commit-id: 2fc1fdcec29d58164b46ccd837bab56602418ce0
2015-06-12 00:18:35 +02:00
Lynix 3b5551ed7a Graphics/TextSprite: Update to Renderable
Still WIP as it appears to randomly crash


Former-commit-id: 2397ba7e556f7ed72b5fc8752704c3b212fa9fc1
2015-06-11 14:14:57 +02:00
Lynix 48a54dfa5c Graphics/Renderable: Add InstanceData
Former-commit-id: f30f011ae91a445d5b22f33150a88bbda218950c
2015-06-11 14:14:11 +02:00
Lynix 6f2f8d6390 Graphics: Make Background/RenderTechnique independent from Scene
Former-commit-id: d588a3bb74b08d79990a278ad2e399e9797755b4
2015-06-09 00:26:13 +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 65c4409f9c Graphics/DeferredRenderQueue: Replace listener by signals
Former-commit-id: b874409b523a1bfd6d9dd0d74c0f28189411bcca
2015-06-07 18:09:37 +02:00
Lynix c0c6179acc Graphics/ForwardRenderQueue: Replace listeners by signals
Former-commit-id: 3429e69cc4334ba602d8ccfb1fc725af85d42f7f
2015-06-07 17:59:09 +02:00
Lynix 4e5cdea454 Core/Signals: Remove Connect/Disconnect macros
And make interface easier to use


Former-commit-id: 5b789c9acb694839cb173ae96392650d80d383b7
2015-06-07 17:28:19 +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 b9ced78772 Graphics/RenderTechnique: Remove Clear method
Let's face it, this method was useless from the beginning.


Former-commit-id: c38f57785c900acf66560ad07aa29498312c6063
2015-06-05 13:38:22 +02:00
Lynix fc65b30f84 Improved code based on CppCheck results
None of this should change the engine's behavior, but the code is better
this way.


Former-commit-id: 0127769848fc1f7fc8006ee607985cfc0ead2965
2015-06-05 13:25:17 +02:00
Lynix 8c6806eacb Graphics: Update Light and Model to new interface
Former-commit-id: 5643f20261524f93a5d080404de5ab0b29151acb
2015-06-04 00:18:43 +02:00
Lynix 806955dac7 Graphics/Scene: Temporary fix compile
Former-commit-id: 604961adc2b1400966491d22d5d1eb2d05ee9a6a
2015-06-03 17:59:31 +02:00
Lynix 436f5002b2 Graphics/SkeletalModel: Fix crash
Former-commit-id: 75114644bb37796860854102fbd547aa1c50f51a
2015-05-31 22:19:30 +02:00
Lynix 0f7948ea4c Merge branch 'NDK' of https://github.com/DigitalPulseSoftware/NazaraEngine into NDK
Conflicts:
	include/Nazara/Graphics/SkeletalModel.hpp
	src/Nazara/Graphics/SkeletalModel.cpp

Former-commit-id: 7dba08bc594d501adbc5a81c4ec1a70021eaa5b6
2015-05-31 22:18:09 +02:00
Lynix 4a87481311 Graphics/ForwardShading: Remake light selection
Former-commit-id: f7e761411e88513d1772b55f09ac4bd3a1d065a7
2015-05-31 22:13:49 +02:00
Lynix 8f8eca1d70 Graphics/SkeletalModel: Update to new code
Former-commit-id: 74b17bf06b3c7c22477ee3a098301e70b093f890
2015-05-31 22:12:46 +02:00
Lynix d7e640fd1e Graphics/DeferredLighting: Fix target shader
Former-commit-id: 241cca9f659c67fed34c20fb022ff89889630556
2015-05-31 22:12:04 +02:00
Lynix 962c1f2362 Graphics/SkeletalModel: Begin update to Renderable
Former-commit-id: c05e8a85bf3f0227fe2e75480df12045c8384124
2015-05-28 14:37:40 +02:00
Lynix 122ae57968 Graphics/DeferredLighting: Update to new code
Former-commit-id: 6b16678bb477a8e2a95d799d144be09d688f2f16
2015-05-27 00:15:49 +02:00
Lynix 367ec18217 Graphics/Light: Change the way lights are queued
Former-commit-id: 18cf919c3b221425624a4db15c59699abfba6fc7
2015-05-27 00:15:12 +02:00
Lynix a92a58301a Graphics/Light: Add cache infos (cosines, tangent) + inline
Former-commit-id: 36e6fb9c2d09597480302da30d3097ec54582fe8
2015-05-26 23:45:40 +02:00
Lynix 68d6f62cd4 Graphics/AbstractRenderQueue: Made members public
Former-commit-id: 61f69dda42b5d091a94d65b9f7f04ff1ce1ce59e
2015-05-26 23:39:42 +02:00
Lynix 2bba1be938 Math: Add M_SQRT3 constant, fix sphere radius calculations
Former-commit-id: 71ac4d3522f427fda60a0e71d76eca7558539187
2015-05-26 23:39:01 +02:00
Lynix 6f06383ab0 Graphics/Light: Update to Renderable
Former-commit-id: 6766d036eb4c79fd0d5cdb718b06d6e4812ac660
2015-05-26 14:16:15 +02:00
Lynix e1a25a8885 Graphics/Model: Update to Renderable
(Note: this branch doesn't compile right now, this is normal)


Former-commit-id: 8c7e823122744394dda31db9acbfe2823c6f29e2
2015-05-26 14:16:05 +02:00
Lynix f181d0f2df Graphics/Renderable: Provide Cull default implementation
Former-commit-id: 7584b42b8737a426818af836628f8e7e1e34eb46
2015-05-26 14:13:57 +02:00
Lynix b075d05d82 Graphics/RenderQueue: Replace AddLight method by variations
Former-commit-id: 79ad49d60bd8d397aa606cded7c0dd2d20a078dc
2015-05-26 14:12:41 +02:00
Lynix 3ee981867e Graphics: Add Renderable class
WIP


Former-commit-id: b9ea2a443cf2e5f8b90360e1f47466b0c3ce69fa
2015-05-26 00:08:24 +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 1fff550c06 Graphics/ForwardShading: Fixed non-lit translucide rendering
Former-commit-id: dea27941badf51be183e9912c82be6f719015490
2015-05-06 23:31:42 +02:00
Lynix d7f48dfa7f Graphics/DeferredShading: Fixed phong lighting unifoms
Former-commit-id: 09adf80261d29cb2518adddfb90b3173ab34b068
2015-05-06 23:29:56 +02:00
Lynix fa2a269e5a Utility/Node: Added listeners
Former-commit-id: aeddcbc5c61b7b51333ed704065fe6a18f17b2dc
2015-05-06 13:48:42 +02:00
Lynix 3e16369d09 (Camera) Fixed SetTarget not invalidating viewport and stuff
Former-commit-id: ecce5389ffc3497828a9864a5ee46f597bdbfb76
2015-03-28 14:42:11 +01:00
Lynix 36b39ec868 Alphabetical commit
Former-commit-id: 4f1e73bd1228fefefd7f788adcd3ccb396d0b141
2015-03-19 18:17:52 +01:00
Lynix cbf3b2cf4e (View) Fixed missing implementation of GetSize
Former-commit-id: 0953fb5079448035fc395ad2fd38535d27f08fb6
2015-03-18 21:57:02 +01:00
Lynix e873d40ccc (View) Added Map[Pixel|World]To[World|Pixel] method
Former-commit-id: 39295c71d040d472117cb30c266169476f563e9d
2015-03-18 20:31:39 +01:00
Lynix fca8dc49e9 (TextSprite) Changed error message
Former-commit-id: f32804aca320bbfc3c6ecb5e0e3747b7b9d09369
2015-03-18 13:04:12 +01:00
Lynix d28154ab76 Added comments
Former-commit-id: e9297b7c0a4b85b2369abcba444d4cf89e04b95d
2015-03-18 13:03:53 +01:00
Lynix 122e4a013c (OBJLoader) Improved code
Former-commit-id: 78252bd96d1d8eeba596892a9599136f26312618
2015-02-24 20:00:40 +01:00
Lynix ee6ca790a5 Fixed missing includes and warnings under VS
Former-commit-id: c06756b62b616e7322aced01062966247bb7654f
2015-02-21 15:04:07 +01:00
Lynix 2b6dcb4e2b (Material) Set*Map methods now take an object reference...
...instead of a naked pointer.
Also renamed some parameters to make them more explicit.


Former-commit-id: 3b962ba178ffc94d630fb11e005e9992cf93005d
2015-02-18 21:03:17 +01:00
Lynix d3caf8bb1b Fixed potential crash (1500th commit, yay)
Also cleaned up one line of code.


Former-commit-id: 841dde3eb2ce8b1e3b4607931aa31d94fefedec2
2015-02-07 19:15:22 +01:00
Lynix fa7b72fd49 Fixed outdated comment
Former-commit-id: 8825493d82bfc66ac84090ac4f9f051c35b2d61c
2015-02-06 13:57:58 +01:00
Lynix 0a324d9323 Added some comments (as requested)
Former-commit-id: 4a6c7a025625ab49e59aaffa818cb50374e778d7
2015-02-01 21:39:47 +01:00
Lynix 622fce6f9c Regenerated global headers (and updated copyright year, again)
Former-commit-id: b5b24f4a3610e1dead2883afaded48bf3554669d
2015-01-30 22:33:41 +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 cabc4e40bc Fixed mesh centering in a better way
Former-commit-id: 859dfdad322da045fecf32ea7c551f7fb436f135
2015-01-25 23:57:28 +01:00
Lynix 1219a8053c Revert "Fixed mesh centering"
This reverts commit 504042119962c2ab55fe8ef9bb16bcc878fa1b38 [formerly fae2cf41a63c7ce599c227344478567b1f12f130].

Conflicts:
	src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp

Former-commit-id: 6bd25fd7216121cce6879d74c6c98fbba545f2cf
2015-01-25 23:55:36 +01:00
Lynix eed90cb683 (SceneNode) Added Remove() method
Former-commit-id: 191834826b1c6651dab62c77aabb072ba59a301b
2015-01-25 23:53:00 +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 9e96a2061f Fixed compile errors introducted in 228ecfe7e5f59d8c4091c3ebfee8190f66cf62ed [formerly 837c414856dbb7b5be20fd745359b3f1e7791c20]
Former-commit-id: efe88a0a209916b0aeea2813ec074182ab3a7adf
2015-01-25 17:19:35 +01:00
Lynix a185f03abc Merge remote-tracking branch 'origin/Scene-Update'
Former-commit-id: 4185e7a826476d3d5b4275b3900fe695bd791f3a
2015-01-25 16:35:18 +01:00
Lynix bc6dd44009 Made SceneNode name change reflect on the Scene
Former-commit-id: b924b0b9d103e4fce6ab2faf952b9153d49cce06
2015-01-25 16:34:19 +01:00
Lynix 6d8b266b4c (Scene) Added FindNode(As) and RemoveNode methods
Former-commit-id: 35b0d6a61e99383fffa8048b3c0f6a48b8f0f66c
2015-01-24 22:00:55 +01:00
Lynix 722622ded1 Fixed SkeletalModel registering itself for update multiple times
Former-commit-id: 9c7ff03a70b65c2ace3b7929b78f486621797dd4
2015-01-24 17:50:48 +01:00
Lynix 9ebd023848 (SkeletalModel) Added virtual constructor implementation
Former-commit-id: 4a7f356e14f629a728a77f94db7e26c6c4af3b72
2015-01-24 16:42:49 +01:00
Lynix 090263d847 Moved name attribute from Node to SceneNode
Former-commit-id: 6f920af67cd6c339d132a67b364742fdf172d5e9
2015-01-24 14:13:11 +01:00
Lynix 0a7711d85b (Scene) Added CreateNode and Clear methods
Former-commit-id: de92f4a4be45e5cbd1d2d83191300e0b46764f0e
2015-01-23 22:35:41 +01:00
Lynix cf12552358 (SceneNode) Added virtual constructor idiom
(Light) Added default constructor


Former-commit-id: 591e6a8435d2cea6238e70c0058d381b8d547f3e
2015-01-23 21:04:29 +01:00
Lynix 01a1badac7 Removed useless std::function from rendering code
Former-commit-id: eaba729d5047d326fb2e746cec0621bfcf2eb1c5
2015-01-23 20:21:00 +01:00
Lynix 1f043b61df (Scene) Removed useless Pimpl idiom
Former-commit-id: ffbca2a6b6e16792f58e77195a08911368f64f57
2015-01-23 14:35:26 +01:00
Lynix c5ec2af361 (Scene) Added RenderFrame method
Former-commit-id: ba02b2f0d65858fdabdedf5f0a9f7f9b1baa7268
2015-01-23 00:02:33 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix 8a3c410d60 Made bounding volume handing part of SceneNodes
Former-commit-id: d09d06ac4515ce09aa16fd92dd045c2a06730a99
2015-01-20 20:35:16 +01:00
Lynix bce3cadfd5 (ParticleEmitter) Added lag compensation
Former-commit-id: 914a976ba52b2629190ded068cc23e1cf7dee4d4
2015-01-20 17:48:11 +01:00
Lynix bbfbec1aa3 (ParticleSystem) Moved controllers update to a function
Former-commit-id: 47586e675c202d871e3ea3561dc19781bdb264f3
2015-01-20 16:59:50 +01:00
Lynix ac25c4a041 (TextSprite) Renamed SetText method to Update
Former-commit-id: 798baecaaf919c20d43f036f361d10d459270d0b
2015-01-20 15:12:41 +01:00
Lynix b7307c462a Removed old unused code
Former-commit-id: 40985382a9f79620c4459f6997f1ce12b000a74f
2015-01-20 01:20:48 +01:00
Lynix f714a58993 Added TODO
Former-commit-id: 7695c390112ebaa2340779e32f417ae302905b09
2015-01-20 01:20:33 +01:00
Lynix c9d636c929 Fixed particle generation terrible performances
Former-commit-id: 484ab2a95a2848aecef0089dea458791c2b86735
2015-01-20 00:12:50 +01:00
Lynix 47fa5dc731 Moved resources includes to the top of the implementations
Former-commit-id: 788a62f66aa47fe76e32ef0b76e9e962b1c5f2e6
2015-01-19 20:34:09 +01:00
Lynix e2d4ba030c Alphabetical commit
Former-commit-id: bacf8ab447d3022b48aac5f5ca2d337bc1283f8c
2015-01-19 11:57:19 +01:00
Lynix 5d16d7ab7e (Material) Fixed depth sorting not being copied
Former-commit-id: ecd4e3c8e44c6027c0e662f7d9d235a69ca9dc3d
2015-01-19 11:56:27 +01:00
Lynix 75ffa09792 Fixed errors from last merge
Former-commit-id: 850eadf5e233d0d6efad039b6bd943f05384df7d
2015-01-19 02:32:48 +01:00
Lynix 304b46b17d Merge remote-tracking branch 'origin/Particle-Update'
Former-commit-id: 272203af1d740dc32e9714e00e4f889db6b13350
2015-01-19 02:23:07 +01:00
Lynix ead44173ba Merge remote-tracking branch 'origin/Particle-Update'
Conflicts:
	include/Nazara/Graphics/Enums.hpp
	include/Nazara/Graphics/ForwardRenderQueue.hpp
	include/Nazara/Graphics/ForwardRenderTechnique.hpp
	include/Nazara/Graphics/Sprite.hpp
	src/Nazara/Graphics/DeferredRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderTechnique.cpp
	src/Nazara/Graphics/Material.cpp
	src/Nazara/Graphics/Resources/Shaders/Basic/core.frag.h
	src/Nazara/Graphics/Resources/Shaders/Basic/core.vert
	src/Nazara/Graphics/Resources/Shaders/Basic/core.vert.h
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.frag
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.frag.h
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.vert
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.vert.h
	src/Nazara/Graphics/Sprite.cpp

Former-commit-id: 73139ce47d7721635d87c74b2ca1183c2f67c090
2015-01-19 02:20:28 +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 c2ac3281bf Fixed text bounds
Former-commit-id: 9339ed907125ecf5186a86e8c943bf3197e11571
2015-01-18 12:12:32 +01:00
Lynix e30c447bd5 Added default font
Former-commit-id: 84fc15f2c6d46bcfb55236863611f2fb96961a6d
2015-01-18 10:38:50 +01:00
Lynix f9345dc5fe (TextSprite) Added atlas storage check
Former-commit-id: f9d222e196a0ef1aebcfd2baf8b425f55f852a9a
2015-01-17 23:00:56 +01:00
Lynix 9662f4167d Fixed crash on Utility uninitialisation
Former-commit-id: ef9f53674fe21c4d7780e68c62f7981554663a85
2015-01-17 22:55:50 +01:00
Lynix cfe1bcf107 Fixed Font::[Get|Set]Atlas interface
Former-commit-id: 7670317dc2684fc0f9240a1f188e4ba92592a263
2015-01-17 22:48:27 +01:00
Lynix 722fba5d0c Fixed compilation error
Former-commit-id: a88d418a78a1fed1606064898f4f191a3ac9ca53
2015-01-17 22:47:03 +01:00
Lynix c688b3f363 Fixed missing include
Former-commit-id: 9bc1621e951ff5d9cb4bd15bffff3fd477104fd4
2015-01-17 22:45:36 +01:00
Lynix 7fee649b49 (Font) Added default atlas
Former-commit-id: 876f42110d4053b09abf86c6158b3ba79fdea201
2015-01-17 22:42:33 +01:00
Lynix 829e82fdd9 Removed outdated comment
Former-commit-id: b2667fe3877022b61b5fbd6ae1ececc403fe5c1f
2015-01-17 21:42:35 +01:00
Lynix 2fed71cc3a Fixed mesh centering
Former-commit-id: d27dc7f0734d6a5bf0ecd6d36ede2f11cbff7c9c
2015-01-17 00:37:47 +01:00
Lynix 22791ecaf4 Fixed some comments
Former-commit-id: cbf931edb8cd9d8ba41b4d1f082d0bff7a3b02ba
2015-01-17 00:37:05 +01:00
Lynix 18367d26da Added View::SetSize(width, height)
Former-commit-id: 9afd04b62e99702720cb10feae2462eaad33a90b
2015-01-17 00:34:59 +01:00
Lynix 3ed18e70da Added default material to sprites
Former-commit-id: 8a68d3d9b251ff93a793d4e001aed721558a8eef
2015-01-17 00:34:09 +01:00
Lynix 71c1d5f527 Fixed reordered warning
Former-commit-id: e825c3f282e1b1c3f65d32be8512210c92a3a1d9
2015-01-17 00:29:26 +01:00
Lynix a0054def7b Added TextSprites
Former-commit-id: 85bef5ec14336710b2fdc782d3d0d77787ab65dd
2015-01-17 00:16:52 +01:00
Lynix fdb722ef14 Made SceneNodes non-movable
Fixed SceneNodes copy constructor not parenting the right object


Former-commit-id: 21a08e3bb0931af426d97399dab86dda9acdf172
2015-01-17 00:15:01 +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 ff7cfa226e Improved Atlas class
It now handles layer resize failure and will notify listeners of a
pointer change


Former-commit-id: df5e2a129897128a4e41e0b3205f6a1dbeb2069c
2015-01-16 16:26:15 +01:00
Lynix 5eec0d2abe Improved (Fixed ?) Material Copy/Move
Former-commit-id: 8eb9b716e2b028c6d2e249f9706ad6f5567c95dc
2015-01-16 14:03:06 +01:00
Lynix 3139e80902 Fixed do-while
Former-commit-id: 08f2520ddee6e6f006f04d60df4a3da52b2ec356
2015-01-16 12:46:42 +01:00
Lynix fbcdd6bb2b Fixed potential crash
Former-commit-id: df8cde180c157f08031cd04d37bb735aa266ee53
2015-01-16 12:46:27 +01:00
Lynix 703ea6e9c8 Removed useless call
Former-commit-id: 1c3d84596b5c6b61c6bb64e9067653b8d2279955
2015-01-08 14:20:00 +01:00
Lynix b6c5668232 Separated atlases from Font class
First use of shared_ptr, yay!


Former-commit-id: 4c22341fba5674746d5299cf0e8dbf6dc31d5362
2015-01-07 23:46:26 +01:00
Lynix 9293022e71 Added sprite overlay rendering
Former-commit-id: 1e25a7d85f06f4a4bc3ed0ead76df01db440671d
2015-01-07 19:27:15 +01:00
Lynix fc1e75d379 Fixed compilation error (from 683866baee26a12cf63b20914fff338cc872a4c8 [formerly a885b69881c30dcad29f87c3ffee41808761b6c9])
Former-commit-id: 8d96d5dee5666bbce41f406bcbabe269e101fafb
2015-01-05 15:12:59 +01:00
Lynix b3d72ec094 Renamed BufferStorage enum to DataStorage
Former-commit-id: 97eede03eb6bb85e506c640d40c9d6e7acb2e099
2015-01-04 18:16:31 +01:00
Lynix 4de17fdffb Remade sprite rendering
Added VertexColor shader flag
Added color sprite attribute
Added VertexStruct_XY_Color(_UV) struct & declaration


Former-commit-id: b664f4520aa55f4502f85f9dedab9b92040a8c16
2015-01-04 13:19:07 +01:00
Lynix ed1cc7a092 Added viewer-relative directions
Former-commit-id: 9d80744bd227689426b76df7e3c273de13424041
2015-01-03 22:39:51 +01:00
Lynix e55c521e96 Added support for skeletal models (WIP)
Former-commit-id: 6a6c2d9f2c68267df79dc48fa56450d2a563e323
2014-12-17 13:56:33 +01:00
Lynix a51cbc1e49 Added Sprite::SetSize(float, float) overload
Former-commit-id: 672a2e4f5c2a2d40b4af42c7ee4b7b37d3774117
2014-12-07 03:05:27 +01:00
Lynix aa37c632cb Fixed possible warning
Former-commit-id: 4d14bf2cee4756db0720fda0d904d5bc7b2bafd9
2014-12-07 03:00:35 +01:00
Lynix 605bcc7038 Fixed possible warning
Former-commit-id: fac12a042d206976109ffde42865c561b021ed93
2014-12-07 03:00:19 +01:00
Lynix 27e9996e7b Improved error message
Former-commit-id: 0315fe27119a0da88334ee67575e144c488d655c
2014-12-07 03:00:10 +01:00
Lynix bb95e6862a Fixed sprites being rendered upside-down in 2D
This is still waiting for a fix because it will be upside-down in 3D


Former-commit-id: ca4bef616f3496db22349eb907ec32a0b6c3deb8
2014-12-07 02:59:56 +01:00
Lynix df6fdf6784 Added a Size parameter to View class
Allowing independent from rendertarget size


Former-commit-id: c131b6dd95692c72a969bf0cc6edd997911bbe58
2014-12-07 02:57:30 +01:00
Lynix b79a4c503c Fixed VBO being freed after OpenGL exit
Former-commit-id: ddd5fb16baa4371ceb917415bc138590cdc16e26
2014-09-14 19:35:12 +02:00
Lynix a008439cde Added depth sorting attribute to Material class
Only works for billboards for now


Former-commit-id: 50a46d3266a2e7fc6d75629103ad8b7193b13bf3
2014-09-11 00:10:24 +02:00
Lynix 04be41082c Added A LOT of oveloads to AbstractRenderQueue::AddBillboards
Former-commit-id: 51b73a110e61cee7ad8fca42b10afd59363de809
2014-09-06 11:59:57 +02:00
Lynix c86de3ed7e Merge pull request #31 from Gawaboumga/master
Some changes

Former-commit-id: f4ef15537da8edef3881def68dce39f6455f9b94
2014-09-03 13:47:39 +02:00
Lynix 023e41512f Merge remote-tracking branch 'origin/master' into Particle-Update
Former-commit-id: 8b2a22ff4546805cdbae394df3cdcdf4228198e5
2014-09-03 13:37:39 +02:00
Lynix bf2d39541c Fixed cubemaps rendering (Skyboxes)
Former-commit-id: a8d065cbdf8bdbde55547739e53b4daa6ce2969d
2014-09-03 13:29:40 +02:00
Lynix 659eb31757 Added support for billboads
Improved ForwardRenderTechnique code


Former-commit-id: 2386de85c26839565f087885ffcb098ef263bdfa
2014-09-03 13:16:56 +02:00
Lynix aeec8ee0f4 Enabled new shader flags
Former-commit-id: df06f4faf4c7275c702338eee1ed14a2445662a1
2014-09-01 16:00:54 +02:00
Lynix 67ecefd380 Added sprite color attribute
Former-commit-id: 1db061b862315495cb40ff308348a0ac8d41e304
2014-09-01 15:42:51 +02:00
Lynix 2753e3c4f1 Updated shaders
Added support for billboards (rendertechniques support is coming) -
Doesn't support lighting well for now
Added support for vertex coloring
Added AUTO_TEXCOORDS parameter support to PhongLighting UberShader
Removed unused flag FLAG_FLIP_UVS

More to come ...


Former-commit-id: b408c80e8805a8bfebe9fcdf3a3f954116fbfe96
2014-09-01 14:10:48 +02:00
Lynix ea43edbaf3 Separated ParticleEmitter
Renamed ParticleEmitter to ParticleSystem
Added class ParticleEmitter

(First implementation, this will probably change)


Former-commit-id: a1f80db340983da5e85cedc974dd6b24a98e25b0
2014-08-31 14:09:43 +02:00
Gawaboumga fc4d84f206 Littles fixes
-Light Manager: I prefer iterators
-OpenGL: The UV problem is solved, but you forget to change the cubemaps
-Texture: GetSize() could return a int instead a NzVector2ui
-Algorithm: Simplification
-Utility: Couldn't compile

Former-commit-id: db890711b451d03427871fb997549a1b13c7d80a
2014-08-27 14:34:35 +02:00
Lynix 54382afc37 Merge remote-tracking branch 'origin/master' into Particle-Update
Former-commit-id: 7ec9fba80c2b47a1fb811c7912df67262986c9f0
2014-08-25 23:09:36 +02:00
Lynix 98aa804de5 Flipped texture coordinates
Nazara now use a top-left corner origin for UVs (DirectX-like)


Former-commit-id: 550dd76cf15bc731d1e23060d1af15c3cd5cb4fd
2014-08-25 22:37:36 +02:00
Lynix f3baf9f9df Merge branch 'master' into Particle-Update
Former-commit-id: a015cefb77bfb41617e94368ac58f5cfe12266fe
2014-08-18 19:11:43 +02:00
Lynix b3351037c7 Changed some error messages
Former-commit-id: e578d813dd7a8691506af080b79bc1ec99b65e3c
2014-08-18 18:15:19 +02:00
Lynix f395cb7579 Added ParticleEmitter::GetFixedStepSize()
Fixed missing implementation of ParticleEmitter::SetFixedStepSize


Former-commit-id: 255fcca4afe40cccf38a561f09f29a0a4ceccd71
2014-08-09 00:30:24 +02:00
Lynix 0976607eb9 Added fixed step update
Switched back to defaulted operator=(ParticleEmitter&&) since it can't
throw exception anyway


Former-commit-id: 178b040a735ef01dcda21b45a317b6c534b5782e
2014-08-08 21:21:04 +02:00
Lynix 202f675301 Changed particle callbacks arguments (offset, count) => (startId, endId)
Former-commit-id: 24550dad44e55aa9dfabaf916cbfb8e25df0451a
2014-08-08 20:59:49 +02:00
Lynix e9267d7f43 Added particles first implementation
Former-commit-id: 2b98ce2f007927690bdecd4092e211013bf568cb
2014-08-08 17:17:58 +02:00
Lynix 4d06ca3906 Fixed OBJ Loader sometimes creating empty mesh
Former-commit-id: 6b5624db279f3818edb6b4544ad0114b7c5e1e27
2014-08-02 21:30:19 +02:00
Lynix 60d5c09c18 Renamed Basic.hpp to Algorithm.hpp
Former-commit-id: ba2858d26fb55069313fafc3e4464dc2e9224b7d
2014-07-28 15:18:39 +02:00
Lynix bd0f38092e Updated PhongLighting shader
I can't remember why I commented these lines.


Former-commit-id: 3da37915073f94c9c44adfd84c968cb2d70982cf
2014-07-24 09:45:42 +02:00
Lynix fba2e5ae01 Moved MD5[Anim|Mesh]Parser loading code to Loader
Similary to OBJParser


Former-commit-id: 243b05f2fbc3899089ef05a29672979d3bbca695
2014-07-17 20:15:29 +02:00
Lynix 9e04e8a0e4 Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
2014-07-15 00:59:02 +02:00
Lynix 8ecae371ee Improved error messages and moved safety check
Former-commit-id: 010051ae56a1d2c1ebfe8dca3ceae3488a4cef18
2014-07-13 17:08:13 +02:00
Lynix 73ba06ac1c Merge pull request #28 from Gawaboumga/master
Consistency update

Former-commit-id: 1c31be9c967cf2e7d9d5d89d46444bfaed11a142
2014-07-13 16:53:59 +02:00
Gawaboumga 4c63c53c44 Indentation
Former-commit-id: 17c357f50ffec9787e6c50dd638c85388fb344ca
2014-07-13 16:09:21 +02:00
Gawaboumga e9554ad498 Coherence update
Audio: GetListenerDirection was using ALfloat and GetListenerRotation
not.
ByteArray: Two return *this, hazh is perturbing, is it intended ?
String: Same ?
Camera: Adds of security (don't think it's usefull)
Parser: size() = 0 -> empty()
Utility: update 13 to 14 was forgotten
VertexDeclaration: same

Former-commit-id: f6db5cd15e5a4dc5ac2af12366b18d1f6922b0e0
2014-07-13 16:03:15 +02:00
Lynix 3714371403 Fixed error messages
Fixed Quaternion type not handled by VertexDeclaration::IsTypeSupported


Former-commit-id: 4668810c2acbee3127ba52aed9782255ef92013e
2014-07-13 09:42:21 +02:00
Lynix a0c2d81114 Replaced struct by lambda
Former-commit-id: 4bb344e15c5f83480c30cb89fc3c213b33c2bbd4
2014-07-08 11:55:40 +02:00
Lynix f19b89f947 Updated Skinning code
Former-commit-id: ae608042061847b2f710abce8101eb008ef2a661
2014-07-08 11:31:14 +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 b70f693b8c Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: 85e5af81ed3381af19e87c6ca0ee14e79955e563
2014-06-24 12:56:10 +02:00
Lynix 6c1852299d Added SkinningManager
Former-commit-id: ca3648dc16f5b1654cb8e3f5480d04f7fd22a3bc
2014-06-21 16:23:38 +02:00
Lynix f5833aa2d4 Improved rendertechnique fallback (will no longer loop)
Former-commit-id: 1aeb737432de1d2a8f205e547404b3f140967a16
2014-06-21 15:38:24 +02:00
Lynix a31ced1d76 Modified SceneNode::FrustumCull
Now provides an implementation which will test the bounding volume
against the frustum (Basic frustum culling)
Is now const
Disabled face culling on sprites


Former-commit-id: 5cb7a94b38ef8b0ffa5a78f16f5ef65a59ab375d
2014-06-05 21:28:17 +02:00
Lynix bc9c8c6bdb Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: db5a6503e43615a47e3be4aaaa033899639392b7
2014-05-29 19:59:09 +02:00
Lynix df803fd5f7 Fixed Graphics module build
Former-commit-id: 1dc70a30cd4ca68d2d7869d51eb01f81770b0e3b
2014-05-28 01:15:12 +02:00
Lynix c8ae34f20b Updated mesh loader
Former-commit-id: 04c174544912a8c3c48e3fde7934cdc4edc19e07
2014-05-28 01:08:08 +02:00
Lynix fa5b1ab000 Model can no longer be animated (SkeletalModel will)
Former-commit-id: e203a3dddf74bb171d8abe961e8a2f28df13bcad
2014-05-28 01:03:59 +02:00
Lynix c901b5808e Added new abstract renderqueue rendering
Former-commit-id: 35e66174ccc3de3b43571f12a149e6d3c59cc2c9
2014-05-28 01:00:18 +02:00
Lynix 012c120bf1 Added Scene::EnableBackground
Former-commit-id: 57a3c3e41799703bb72b4980433d7faadc3b1b86
2014-05-28 00:35:28 +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 9b74459ea8 Updated comments
Former-commit-id: 77b83bdf6f52325efdc3e3b9a1d2743124426531
2014-04-20 22:34:10 +02:00
Lynix c7156494f3 Improved DeferredRenderTechnique initialization error messages
Former-commit-id: 99b1174257ae4e99600ad763ba2444d553957d18
2014-04-12 14:28:02 +02:00
Lynix f88c6cf0d7 Fixed debug shader not compiling on some configurations
Former-commit-id: 7e31eec475dc5e40491f480e9f45476acab5fdb6
2014-04-04 14:56:45 +02:00
Lynix 044a00669d Improved Scene implementation
Will provide a default background/technique when necessary


Former-commit-id: 547cca512aed4f90c53fff33e8c69245913d3a09
2014-03-18 19:54:35 +01:00
Lynix 90ebf4940c Fixed potential overflow in OBJ Loader
Former-commit-id: 8356daec0fc094c8316d9f0cfabfb6f4ccb8a1e7
2014-03-18 19:53:24 +01:00
Lynix 37197a3840 Fixed sprite rendering in Deferred Shading
Temporary fix: In the future Deferred Shading shall work with some
sprites


Former-commit-id: 4c39ddf1b09511ee411713943d97cf807ee8f52d
2014-03-18 19:53:00 +01:00
Lynix 268d3ae86d RenderQueues now use std::map::insert only if necessary
It looks like my std::map::insert implementation allocates something,
even if the element is present (It's not a leak, just some useless
allocation)


Former-commit-id: 9490bfb7994c23f893a74d5710381ba5919bb38c
2014-03-14 23:55:14 +01:00
Lynix 0ca2c9ccb2 Removed [*]RenderQueue::AddModel
Former-commit-id: 74b3e2b59b7a2ced16edca8dd7027dd8ae1db861
2014-03-14 23:48:10 +01:00
Lynix 9a129ec733 Disabled face culling on default material
Former-commit-id: 112868ff6fe6b4fdd820bbe0839127c5c6b27824
2014-03-06 09:59:27 +01:00
Lynix cec6f29e1e Fixed UberShader leak
Former-commit-id: 2d84fadee8ed55f068d30a28510500fe64df6365
2014-03-06 09:58:26 +01:00
Lynix 24be314b86 Fixed spaces
Former-commit-id: 570c1fb8c0ffa6d140112a9cdaa14c05c752d916
2014-03-05 00:47:26 +01:00
Lynix 5e9201cb22 Optimized Scenes configuration
The scene class no longer create a default background/default
rendertechnique at construction, instead it waits for Scene::Cull method
and create them if they are invalid


Former-commit-id: b5d031abc5d7df4be5ad4edd6036ad7d60cacbb4
2014-03-04 20:21:33 +01:00
Lynix 2990843f31 Added warning
Former-commit-id: b6956df1ded62a23140f4c44f0fd8b677c63c981
2014-03-04 19:35:51 +01:00
Lynix 0f2cab56ff Forward RenderTechnique now handles non-lighting shaders
Former-commit-id: f243ba8aea76ada91510f6b36c292ae0e18e2add
2014-03-04 19:35:40 +01:00
Lynix 05e7e11356 Made default material wireframe
Former-commit-id: c65d5b74dd430ecd5dd71a1b3167dc4afdf6dbf9
2014-03-04 19:34:07 +01:00
Lynix edaac1ded4 Fixed last commit
Thanks to Raakz for his patience


Former-commit-id: 4b423f3d271fcbdc3e33937e8170843681a3b096
2014-03-01 12:55:43 +01:00
Lynix 4cd0ece11e ModelParameters no longer contains shaderName field
Instead it will now set the shaderName field of the material field to
PhongLighting


Former-commit-id: 55b7f5500c7dc2c147f32a7c214a8e75ea434ff1
2014-03-01 12:25:11 +01:00
Lynix 02275293ee Fixed Texture loader not setting shader
Former-commit-id: 9a2e54c28f42a9390ab51d0909c92b7454aba476
2014-03-01 12:20:52 +01:00
Lynix 0e4b1a8ffa Fixed unused variable warning
Former-commit-id: 7a3752dfc8b68620162ef13fe40ac60c97611af9
2014-02-28 13:40:41 +01:00
Lynix 4fb70f8b9f Removed useless include and added TODO comment
Former-commit-id: 99c33e1725fac1a5e08038b7bb013a7d72bc61c2
2014-02-21 19:45:21 +01: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 fd958fd9ac Updated the way module are initialized
It's safer and prevent a bug when initialisation fails


Former-commit-id: a04f18e18f2d9db11ec595a9b8096c2792b39641
2014-02-21 11:13:14 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix 9533f16e46 Fixed forward shading point lights for real
Thanks to Raakz


Former-commit-id: a6c2b282a18d2dfa94732afb401811c8dd5d4b93
2014-01-18 09:08:42 +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 b9dca8966d Improved Deferred Shading performances
Former-commit-id: 7251e9f552230c31409f7780929fcc30f2b85bed
2014-01-11 19:16:36 +01:00
Lynix cbce6e6e64 Reunited Deferred Point Shader and Spot Shader
Former-commit-id: 0a77f57d8af98387690748102f6cdcea5d5514ed
2014-01-11 10:21:33 +01:00
Lynix 16578e728f Renamed RenderClearFlags to RendererBufferFlags
Former-commit-id: 7821709bc7310820e877db9bb26d1fb50d7ba217
2014-01-11 10:12:06 +01:00
Lynix 351618f93b Fixed instancing not enabling in some conditions
Former-commit-id: a6a29acd1896f44a7f82dd64fd53740b9021b422
2014-01-08 11:27:29 +01:00
Lynix 3625713914 Fixed bloom pass
Former-commit-id: 114db3f6b8857f2ef95da88a118d90eb203806c3
2014-01-05 15:29:34 +01:00
Lynix a332579c80 Deferred Shading update
-Deferred Shading now use a dynamics pass system
-Forward Shading is now capable of rendering more than three lights
(Multipass)


Former-commit-id: 74ed0b998d72aa9eb3bd2aab938a75985ebb2bf6
2013-12-28 10:22:03 +01:00
Lynix efd3491b43 Fixed Bloom shader not compiling everywhere
Former-commit-id: ff47c90aefa7c54349dfe162c6d5b3e34957460a
2013-12-20 20:08:05 +01:00
Lynix ac7f5008ca Improved FXAA
Former-commit-id: aa3b64de5be93b05fab0ad45039e5aac74c4d197
2013-12-20 20:06:00 +01:00
Lynix f2bb457850 Updated Shaders for Deferred Shading
Former-commit-id: ab97c6e7b74bffad32d334a2d0e5bd4607047c03
2013-12-20 20:05:51 +01:00
Lynix 69479de643 Added center mesh parameter
Former-commit-id: e010a81e3f00ca6091e438d405e3e6ca14938b8f
2013-12-20 20:03:18 +01:00
Lynix d87dc7bf50 Added Model::InvalidateBoundingVolume
Former-commit-id: 8298726f5170f1d0318e86173e7feba6d4e60e6c
2013-12-20 19:41:13 +01:00
Lynix 19d5b62009 Fixed crash on ForwardRenderTechnique
Former-commit-id: 80181ffddf69a52af96814db54aa18a7809fa5d5
2013-12-16 17:22:23 +01:00
Lynix 16bf4bbcf2 Fixed SceneNode::operator=
Former-commit-id: 9c48148eeaeeadbea708dae3d8d30c594cf5a39f
2013-12-13 22:07:42 +01:00
Lynix 054cde1c8b Fixed SpotLight bounding volume computation
Former-commit-id: 72c87aa9cdb8f0e98ff2e82522d85643896884df
2013-12-09 14:45:21 +01:00
Lynix 0e99205046 Fixed rendering
Resource encoder now store unsigned char instead of signed char


Former-commit-id: 648dd1d55facd40bc37075291782a54cbbc4811f
2013-11-26 15:25:43 +01:00
Lynix a8a0bcf005 Made SSAO load its noise texture from memory
Former-commit-id: 69d5cd81c728e49be846c2be89d65ca2cd3e1e9b
2013-11-07 00:00:15 +01:00
Lynix 05f8b88b4d Disabled SSAO
Results were just terrible


Former-commit-id: 294b8729f876fe1b7af79520a4616b3f79c2ed3c
2013-11-06 23:59:10 +01:00
Lynix b7b65d7119 Added Deferred Shading
Former-commit-id: 926022d6306144e2f87cd293291928bda44c7a87
2013-10-22 12:54:05 +02:00
Lynix d97d4b62e4 Fixed missing files
Former-commit-id: e1f774f034503628ae7fbaa292142f5b6d1082ab
2013-10-09 10:55:37 +02:00
Lynix 3cbcc527cd Added Sprite::SetTexture
Former-commit-id: 275e689110fe7b86159b895a3016a64f1103effb
2013-10-09 10:14:17 +02:00
Lynix 0f382fd1ad Added new RenderTechnique system
Former-commit-id: 6d65a4537232bc705333c696f2478d47f16e074a
2013-10-09 10:14:17 +02:00
Lynix 672cbaed1d Optimized OBJ loader
No longer loading same material twice


Former-commit-id: 21e1842600722f4ba3c02816fbfc016a6e5175c5
2013-10-09 10:14:08 +02:00
Lynix dbbc931df1 Fixed MTL keyword "tr"
Former-commit-id: e5e4ff0a9f7adcc7ba01f9e1586794a9357f3218
2013-10-09 10:14:07 +02:00
Lynix 1a561e42ff Added Light::SetLightType
Former-commit-id: 8f55cd7b3941496e97795ca920c7a657e555eeab
2013-09-23 09:49:03 +02:00
Lynix 96974a9d2b Fixed Light copy constructor/assignment operator
Former-commit-id: dadf40b2e3a58ed32d9f38b8fea8d60d2297b767
2013-09-23 09:44:43 +02:00
Lynix 06cda62c9a Fixed Model "Mesh" loader not using mesh parameters
Former-commit-id: 5fd20c30c3d9afa2651ddd17ca74dabf025ec826
2013-09-23 00:24:31 +02:00
Lynix aa4d5f5ab8 Fixed typo
Former-commit-id: 291aec9c9969efdadd90017ea6cb81466c2d06e2
2013-09-23 00:22:46 +02:00
Lynix 3167531b39 Fixed some VS warnings
Thanks to Fraggy again !


Former-commit-id: bd0eea66714701b065892d8b69d576e7b3615dd2
2013-09-21 00:10:10 +02:00
Lynix ffb993c864 Fixed [Color|Texture]Background not rendering
Former-commit-id: a3bb4bd62176fea7ba88993b445b55e72c2c1835
2013-09-07 22:06:50 +02:00
Lynix 7d2981d9a2 Fixed Skybox not rendering
Former-commit-id: e2b40de7b096853edca855df6824f4c832d78bcc
2013-09-06 23:29:48 +02:00
Lynix b2dd572cfd Fixed warnings
Former-commit-id: ad7f020dde35087ed4c4fa81b531d5b9e74fc134
2013-09-06 18:38:13 +02:00
Lynix c1dc2884b0 Forced Backgrounds fragments depth to maximum (1)
Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
2013-09-06 18:31:04 +02:00
Lynix cbd7b1c36e Fixed crash
Former-commit-id: c4c873820026dfb348da515fa7bb0d4e6f97aba9
2013-09-06 17:17:20 +02:00
Lynix ae7c54a9fc Fixed LightManager crash
Former-commit-id: c9be4c0ee3343818c8b50b6fef29f64c198795e0
2013-09-04 00:19:33 +02:00
Lynix b1cd99a08b No more useless shaders will be generated
Former-commit-id: 9bc30fc69aac0c3c531b9fc56dd204ee70bfdf3f
2013-08-28 03:06:25 +02:00
Lynix f69d2f13e5 Changed light model
Former-commit-id: bdf192bd83dbb5ae3ce8c46d6414e5b4fbc0047a
2013-08-28 02:52:09 +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 7d9eac7660 Refactored code
Former-commit-id: 95c723425cc2ac626b5ddd6d77f69e0a4b0a630a
2013-08-26 13:36:41 +02:00
Lynix aafcd6bd03 Fixed crash
Plus fixed transparency comparison
Plus optimized material comparison


Former-commit-id: d812adc54e8ae529cd1a1fd29202f6aaae97544a
2013-08-26 01:01:26 +02:00
Lynix 881d6eb3e2 Fixed Camera/View not activating RenderTarget
Former-commit-id: 69b332f3e0b7e4ddb296fa5c32804b84af557e0c
2013-08-25 01:35:01 +02:00
Lynix 24e56790cc Fixed transparent model rendering
Former-commit-id: da363be3b19951ae49996fe9d05998420e80911f
2013-08-24 16:22:55 +02:00
Lynix 1493da0466 Increased user-friendlyness
Former-commit-id: 9611bb08f0be314d65453b88d84c36299d9a22af
2013-08-23 22:05:17 +02:00
Lynix 57df82a82f Made skyboxes not using Depth Buffer
Former-commit-id: 1370ab047a750f5f52bc905d26f4fc9892fbb69c
2013-08-23 13:17:12 +02:00
Lynix 7fa8f3dafd Moved Model::EnableDraw to SceneNode::EnableDrawing
Same goes for Model::IsDrawEnabled() => SceneNode::IsDrawingEnabled()
Is Drawable is now a pure virtual method from SceneNode


Former-commit-id: 217c6a21a98206ee0b283aaa216d419696a70faf
2013-08-23 13:16:42 +02:00
Lynix 198d13be20 Enabled Frustum culling for Sprites
Former-commit-id: 5c5bf7da97f10b43c204bb336c2e979899f506d0
2013-08-21 21:17:39 +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 241e8fe9d9 Optimized ForwardRenderTechnique
Former-commit-id: a4e035c860ed2fcaeedadd5a41fb9f6251649000
2013-08-10 22:59:02 +02:00
Lynix 13b505f91f SceneNode::VisiblityTest now use Camera instead of Frustum
Former-commit-id: 71199e3e80c5fbd6116d5fedb13276480f4e4731
2013-08-09 19:04:29 +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 d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix 28eff9af30 Instancing will no longer be used under X instances
*Experimental* optimization


Former-commit-id: 4dee4905d59739b3ec062ef283d4b7561160e21d
2013-08-09 00:33:18 +02:00
Lynix e246d390a7 Little optimisation
Former-commit-id: a2ddce1e87634a31cf6cb5617013f14e157df80d
2013-08-07 10:44:08 +02:00
Lynix 69d150272f Remade instancing
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix 98246d0eee Added some missings warnings
Former-commit-id: e1e754d3c48b156f82450829fa2c8eb9af9ab96f
2013-08-07 01:11:06 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix 4b783f6f6f Renamed Shader to ShaderProgram
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
2013-08-02 18:39:20 +02:00
Lynix c276a4a623 Moved OpenGL header include
Former-commit-id: 655be533b7c01ae8817530fe434807ca5be62968
2013-08-01 23:21:08 +02:00
Lynix 8dba8599d2 Optimized closest lights handling
Former-commit-id: 9db6300cb2a48907e4d558e721a5f63d0c9e967c
2013-07-31 14:19:20 +02:00
Lynix 4352083c4b Added ShaderManager (Experimental)
Former-commit-id: 327e373f2b932e31184e88c5f29bd5bd8fa3ba46
2013-07-15 00:23:04 +02:00
Lynix 380b65814a Fixed compilation errors and bugs
Former-commit-id: f09f4135cafa7601b217b11b0ebda74789629b6e
2013-07-09 23:54:30 +02:00
Lynix 18cc3b16df Fixed leaks
Former-commit-id: 61b219e69fb048eef08ce03dca3a9cb2741760b4
2013-07-09 01:13:14 +02:00
Lynix 87a4da40bc Fixed compilation error
Former-commit-id: d7354d3ab3de1627e7a6985f4377607c4f87607a
2013-07-09 01:07:26 +02:00
Lynix 588077396c Defaulted [Point|Spot]Light radius to 5 meters
Former-commit-id: 7faefa121b90dcd31c83ea6c5baaae264f1c0960
2013-07-09 00:55:18 +02:00
Lynix b035852576 Optimisations
Former-commit-id: 81d277a49b57f061a6339678bd953054e434c613
2013-07-03 01:17:22 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix 9d8ce1ce4b Fixed OBJ loader not correctly loading alpha
Former-commit-id: f90feace73669f4a54e1791dae23b16867bb1d8b
2013-06-27 18:57:14 +02:00
Lynix 984ade783a Added Renderer::DrawFullscreenQuad
Made [Color|Texture]Background use a new shader-based algorithm


Former-commit-id: cfd319b33712c270726eb697e258d61db2ca6835
2013-06-27 12:54:20 +02:00
Lynix 1a6e55881b Renamed Background to AbstractBackground
Former-commit-id: c99ed2e48c4d82fb1100f412a85468c698142815
2013-06-27 12:53:04 +02:00
Lynix 245d6e105e Experimental new algorithm to sort transparents objets
Former-commit-id: ad8704584598e1edcd3699d234abaa132d88e581
2013-06-26 15:20:07 +02:00
Lynix 0ece160382 Fixed error messages
Former-commit-id: 401e78d1e3903210916abf9b7d70a858df805fe2
2013-06-26 15:19:01 +02:00
Lynix 844c6d7d3d Potential optimization
Former-commit-id: 85a2f1836e459a66a29cad5f417f6839390b461b
2013-06-26 15:18:54 +02:00
Lynix d7a66d08b6 OBJLoader now support transparency
Mesh::AddSubMesh no longer return bool

Former-commit-id: 71217618d179c5853683f4615901565cb7cd3ab8
2013-06-26 15:17:53 +02:00
Lynix f3603a0b31 Fixed model using last mesh materials for new mesh
Former-commit-id: 91bd231b45b701b18d6e86eab74afbd141a51ded
2013-06-25 14:50:38 +02:00
Lynix 3609f31708 Added std::hash for String, made use of unordered_map
Former-commit-id: 20f3d12bc3222873706949f0a7d0a131e237a247
2013-06-23 16:53:37 +02:00
Lynix b0c46b2384 Revised String class
Renamed String::Substr to SubString


Former-commit-id: 6aa925799e71af6916f7808368a3faa26efbe1bc
2013-06-19 02:25:19 +02:00
Lynix 433c36f176 Fixed bounding volume not being updated
Former-commit-id: 809faf0ed66916b1598cca11f749b31961f2e184
2013-06-18 16:38:30 +02:00
Lynix 6c659410cd Made use of RenderState
Former-commit-id: 500aba0d0dd60e7371dea6c219d6a5ccfdcbadf8
2013-06-18 00:38:18 +02:00
Lynix 88d3ec1ad1 Refactored Material interface
Former-commit-id: 9a00be1b73b2c879fc77c9fdddc0192baa241fda
2013-06-18 00:37:40 +02:00
Lynix 783e609c8e Fixed warnings and optimized noise module
Former-commit-id: 62840540e2938d08436a22d4e19d801466f1d6ba
2013-06-17 23:58:06 +02:00