Commit Graph

897 Commits

Author SHA1 Message Date
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 a3f877daf1 Added MemoryManager::GetAllocationCount()
Former-commit-id: 32f4f0780fdd32ac72a7e94732958bdd688844c6
2014-04-24 21:20:14 +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 77fc34ee7d Added some CPU vendors
Former-commit-id: 0eb96633fe6bdd3f6f8649f766620f4e89bc2224
2014-04-21 11:02:17 +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 082015fe5a PluginManager::AddDirectory no longer returns bool
Former-commit-id: a5994918636765a52ca1fc79617d12eefec2c914
2014-04-20 23:52:54 +02:00
Lynix 361e2a31ee Improved submodules
PluginManager is now a submodule


Former-commit-id: 2e147317ab07447e134d15790386bd6d3494b9d1
2014-04-20 23:50:55 +02:00
Lynix c45e22ff7d Updated comments
Former-commit-id: 66e035deb3f7f549257f5b04c327396b88c94363
2014-04-20 22:30:55 +02:00
Lynix ae316394f9 Fixed instancing rendering
(Finally fixed that bug)
Lowered required instance count to ten


Former-commit-id: 6aeb69eb8ca08727a029e07080aed558e1d1f089
2014-04-20 21:27:53 +02:00
Lynix 1ba07cf69c Removed Matrix4 "identity optimization"
Returned Matrix4 to a POD type


Former-commit-id: 658f7d41b5d5f7d70b9d6531456ae2e498c469d2
2014-04-20 14:29:55 +02:00
Lynix ff2bf98623 Made use of std::function
Former-commit-id: 17e7ebe528071c6399383089ac1c0d089faccc34
2014-04-20 14:06:29 +02:00
Lynix 20df395928 Fixed LuaClass code
Former-commit-id: 2e6a36cc3864520c7d3504c64afb2375ec728c1b
2014-04-20 14:05:16 +02:00
Lynix fc970c503a Added File::Open(path, mode)
Former-commit-id: 7bd80f04e5f902e9752b1f5091ac55cdf2bc432a
2014-04-20 13:13:49 +02:00
Lynix d8507b5d10 Updated CallOnExit
Made it non copyable
Made usage of std::function (thus allowing lambda to be used as
functions)


Former-commit-id: b56cb410bf94bdb3b73d73d7599059d613e41a68
2014-04-20 12:55:05 +02:00
Lynix 4026e310bc Optimized OpenGL samplers binding
Former-commit-id: 6afb2ed4d9851e09ff1006cf7c81df0cac0bed7d
2014-04-16 09:02:32 +02:00
Lynix 7ccac02bfd Improved LuaClass setter error
Former-commit-id: 20de9e0a08fa249a8bd8f8241fb36e0668fe198a
2014-04-12 14:06:27 +02:00
Lynix 945c6514a9 Added Resource modification notification
Former-commit-id: b2fafa22ddf125ef2f1cbc0cd473ae06eb99bcd3
2014-04-08 10:21:50 +02:00
Lynix 7196d8399f Made use of constexpr keyword
Former-commit-id: 79bc50ffaa21947dacd18578a34f6be65285821b
2014-04-02 01:02:47 +02:00
Lynix 752cfdd8db Removed useless keyword
Former-commit-id: f5932abe5443e25d4f1fbf3e97f4eb50627fac55
2014-03-30 19:17:32 +02:00
Lynix 11c2f82835 Added LuaInstance::DumpStack
Former-commit-id: 89c3cca3debae881007df83106bb86886a6c26de
2014-03-26 21:24:06 +01:00
Lynix b07812d310 Fixed LuaClass not cleaning the Lua stack
Former-commit-id: 32cc2a2d442b5c833cfcb913bc497a318a96d8e5
2014-03-26 21:23:21 +01:00
Lynix 07858c97f3 Updated comments
Former-commit-id: 16db9cf516ffc0a51a69d7eea42867905b0d1f1f
2014-03-20 23:23:34 +01:00
Lynix b212f7c890 Added parameters to Clock class
It is now possible to build a Clock object in a paused state, or to give
it an "already elapsed time" value


Former-commit-id: 20e9c55de8a12a9220f81dc7759a4113a794648f
2014-03-20 23:06:22 +01:00
Lynix 8228d1799c Added LuaInstance::CheckBoolean
Former-commit-id: 2468e458001641cfc6741e271f848afeaad4ea2a
2014-03-20 20:33:26 +01:00
Lynix 0ca2c9ccb2 Removed [*]RenderQueue::AddModel
Former-commit-id: 74b3e2b59b7a2ced16edca8dd7027dd8ae1db861
2014-03-14 23:48:10 +01:00
Lynix 42c10268d2 Fixed thread-safety
Fixed huge mistake in Clock code (Allocating a mutex everytime instead
of locking it)
HashDigest and StringStream class are no longer thread-safe (That was
stupid anyway)


Former-commit-id: d07a6859df27eac2c5171e75720b3963b6a5fbbb
2014-03-06 09:49:39 +01:00
Lynix ef9592a0fd Added repetition constructors
Former-commit-id: ee33ef8aa01ec14a89f47b3581f86cfe499299b8
2014-03-06 09:24:38 +01:00
Lynix 80c4ef6b5a Removed constructor and destructor from static classes Keyboard and Mouse
Former-commit-id: 9c9054723b33535ec444bda4621dd678284d6983
2014-03-04 19:11:03 +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 7ecc5a7c4c Fixed compilation error
Former-commit-id: 4306f34777af3b0700583927e161a81eb92ec717
2014-03-01 12:20:37 +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 3f4b3aeef5 Fixed DynLib class not exported
Former-commit-id: 65f2607ae8625475a93efb472beaa88a69673abf
2014-02-18 08:34:35 +01:00
Lynix c42eff2db0 Added CallOnExit class
Former-commit-id: d4b6bb17a8183f46e4631d727fc8056eb2fcb254
2014-02-18 01:01:30 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix 908e79df65 ParameterList destructor is no longer virtual
Why should it be ?


Former-commit-id: ea3393f6d5418cfa16b396104e872c7a03227238
2014-01-20 09:35:03 +01:00
Lynix d05cc9ce0c Improved ParameterList interface
Made it easier to handle errors and use default value


Former-commit-id: 1891efa0b0196b2c6602e52631e5e6cefb529137
2014-01-19 12:02:59 +01:00
Lynix 47959eaaeb Added ParameterList class
Former-commit-id: c592d0a09c33aa23b5efe635734c52b726364085
2014-01-19 10:56:45 +01:00
Lynix a441a30beb StringToNumber no longer throw an error on failure
Former-commit-id: 8d191884c4ba757179e0c374a8ee2db756d1064b
2014-01-19 10:54:59 +01:00
Lynix 151a34b35b Added String::Set method
Also improved performances in some cases


Former-commit-id: f88dbd0685b8779715e316e9d85ec005ab72e1fb
2014-01-15 14:40:15 +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 9389e1ea05 Changed DynLib internal
Fixes the "Assimp32.dll not found" bug


Former-commit-id: 662adba33c5d9cfbd23c8b0af0670626070baaa9
2014-01-12 10:33:03 +01:00
Lynix 9bf66e7e16 Added RenderTexture::Blit
Added RenderTexture::GetSize


Former-commit-id: f385ccc39a2051765db9befa3b77f75b17529447
2014-01-11 19:10:19 +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 d902eea49e Added "force mono" option to Music and SoundBuffer
Former-commit-id: 1f46d1461a8289a590a71e368f282a955d7d8234
2014-01-10 20:09:13 +01:00
Lynix 601346a566 Fixed possible bug in NzMusic
Caused by sending a non-updated buffer to OpenAL


Former-commit-id: 4441bcc9cd8cee874ba8bc5f66f1234cfffd3621
2014-01-09 21:04:58 +01:00
Lynix 0702e2e7bd Merge remote-tracking branch 'origin/Audio-update'
Conflicts:
	include/Nazara/Core/ResourceLoader.hpp
	include/Nazara/Core/ResourceLoader.inl
	src/Nazara/Audio/Loaders/sndfile/Loader.cpp
	src/Nazara/Audio/Sound.cpp
	src/Nazara/Utility/Loaders/MD2/Loader.cpp
	src/Nazara/Utility/Loaders/MD5Anim/Loader.cpp
	src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp
	src/Nazara/Utility/Loaders/PCX/Loader.cpp
	src/Nazara/Utility/Loaders/STB/Loader.cpp

Former-commit-id: e0706cc0feafb1ad182b8cc51e2b18f8f3664b97
2014-01-08 12:03:52 +01:00
Lynix 26a6158f8f Audio update
OpenAL is now loaded dynamically
Added (back) Audio::[Get|Set]ListenerRotation


Former-commit-id: d99ba9f15ec250f3963cd50d6a4a892209235c4a
2014-01-08 11:06:40 +01:00
Lynix 9ac4df3c6c Added move constructor/operator to DynLib
Former-commit-id: af6c6b2ad7803a9ae6d7106188a0b69e341835c0
2014-01-08 10:48:23 +01:00
Lynix 3dd8b8fce1 Modified DynLib/PluginManager interface
Former-commit-id: 2dae56cad852a46c9bac828cc7775a4da42c96cf
2014-01-05 15:30:27 +01:00
Lynix f3f16144ab Modified comments
Former-commit-id: d66e58a05e212983a6522989ece76a7bdf0292c6
2014-01-05 15:28:57 +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 6568cc7995 Fixed Color::operator[+|*](=)
Former-commit-id: b49f7e60af324d28862948f066faa55bbe5f4c87
2013-12-26 11:39:39 +01:00
Lynix 3e0561830f Added Renderer::GetDepthFunc
Former-commit-id: 222cefb90f7fd4771bd5b9f9eab9f9adf02b72d9
2013-12-26 11:33:01 +01:00
Lynix 69479de643 Added center mesh parameter
Former-commit-id: e010a81e3f00ca6091e438d405e3e6ca14938b8f
2013-12-20 20:03:18 +01:00
Lynix a560a16ef3 Lerp no longer fail when interpolation is not in range [0..1]
Former-commit-id: b9d4179cbd82f709695719dbc47f9d0f9d98841e
2013-12-20 19:59:28 +01:00
Lynix b7a0bf22f6 Added forgot file
Former-commit-id: 8eaad96d1672d9030abb7f2b55ab49f854c595f6
2013-12-20 19:46:27 +01:00
Lynix 4f671db265 Added Sound::Is[Playable|Playing]
Former-commit-id: 526edb3f87884f45c6b677f44329a90457d3444b
2013-12-20 19:36:36 +01:00
Lynix 3c96d8a1a1 Added Keyboard::Decimal key (Numpad .)
Former-commit-id: ae01476de199e22d080508e88f2625c2f0332002
2013-12-13 22:07:03 +01:00
Lynix c2579bcf10 Fixed ResourceLoading not recognizing uppercase extensions
Former-commit-id: decf98cfc6681a416c39c45c4c5acd880aa870ce
2013-12-09 14:17:16 +01:00
Lynix 0d8572a60c Added DebugDrawer::DrawCone
Former-commit-id: 8c02ac50f3ca6a7fba1494f8f2a42eebfe949f7b
2013-12-09 14:16:48 +01:00
Lynix a9af5523ee Added cone primitive generation
Lacks normal/tangents/uv


Former-commit-id: 682bb7ea926361bfb10807f6addf98f8fd4e7d75
2013-12-09 14:15:34 +01:00
Lynix b05f813e70 Added NzMultiplyAdd
Use hardware FMA (or at least faster FMA) when possible


Former-commit-id: fd5134d2aebe924fb8c9148224101dd7d340bb5f
2013-12-09 14:13:37 +01:00
Lynix 23da4ce420 Disabled multithreaded skinning (one more time)
Looks like there's a bug when accessing multiples joints matrices


Former-commit-id: 04a52d4d0c8dda6bb98228fa4aa43b5858d08f91
2013-12-09 14:12:45 +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 43df67d47b Fixed NzNumberEquals not working with integers
Former-commit-id: 9ce3889c1e4364f7e8f90a1d81c3a8921c5cd0b6
2013-12-07 23:46:46 +01:00
Lynix 2b4e110c5a Moved headers
Former-commit-id: 346169a661009fc5cef54e35c1e29c0bef3b81f3
2013-12-05 10:20:34 +01:00
Lynix 55aed0ec68 Rewrote Task Scheduler
Better and faster implementation


Former-commit-id: d765415ca0576cd843480292e30c2d7bafa7f66a
2013-11-30 13:48:01 +01:00
Lynix 0fa18c3924 Fixed PluginManager not being exported
Former-commit-id: 86f49a1ea6aff817bf0357ce57b9ef1177663a36
2013-11-06 23:54:18 +01:00
Lynix 7f7e8d8567 Fixed ErrorFlag not being exported
Former-commit-id: 0b24f1beb68333806bb6b29786e1ea05a0802638
2013-11-06 23:53:55 +01:00
Lynix b7b65d7119 Added Deferred Shading
Former-commit-id: 926022d6306144e2f87cd293291928bda44c7a87
2013-10-22 12:54:05 +02:00
Lynix d363e29e15 Added NAZARA_EXPORT and NAZARA_IMPORT macros
Former-commit-id: 002a5f3b0d5c4f63348262ab26f614a8de61dd78
2013-10-22 12:52:27 +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 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 a410e8856a Improved Error system
Former-commit-id: ddd08841d30575713f4a28ac02566f92791e5539
2013-10-09 10:14:09 +02:00
Lynix 0520de7ab0 Fixed Vector3::operator[==|<=]
Thanks to OveRdrivR

Former-commit-id: fa93eb7124e3b322407d1488c8530312c2019792
2013-09-30 23:19:38 +02:00
Lynix 1a561e42ff Added Light::SetLightType
Former-commit-id: 8f55cd7b3941496e97795ca920c7a657e555eeab
2013-09-23 09:49:03 +02:00
Lynix aa4d5f5ab8 Fixed typo
Former-commit-id: 291aec9c9969efdadd90017ea6cb81466c2d06e2
2013-09-23 00:22:46 +02:00
Lynix ffbff9e707 Fixed compilation errors
Former-commit-id: 1ba7f27b5e56aee1ffc34459ab64d56bfe359dfe
2013-09-23 00:22:18 +02:00
Lynix 2fd86dc406 Added texture rect parameter to primitive generator
Former-commit-id: 5efc0fd1bcc2aad9cd4b75ff9fb8b29d84bfd363
2013-09-21 09:05:37 +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 6440d38c5c Fixed some warnings about types
Thanks to Fraggy


Former-commit-id: e3b3a8421b4c49884e5757814f51cfcecc14a878
2013-09-20 23:25:04 +02:00
Lynix 0546019da1 Improved error message
Former-commit-id: d47c8651acc368bb7091785e156d99c849c19dc3
2013-09-20 21:46:58 +02:00
Lynix db2b33eda1 Fixed Vector2::Normalize
Former-commit-id: c781e64262c0fbce2782f635c2db13478f18a9d5
2013-09-20 21:31:07 +02:00
Lynix 693aec36c3 Fixed bounding box AABB
Former-commit-id: ef8ec52e7bffca69b1e41462f0971e00a1b73029
2013-09-16 01:03:06 +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 f0eac2bc0d Fixed compilation error
Former-commit-id: 13b96b7bba638a1843a00264068e1c4858e6d301
2013-09-16 00:36:50 +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 f9363ca764 Fixed global header
Former-commit-id: a6b45d3b7d94a42df22b08e4f97acb0f80439e4d
2013-09-06 18:25:43 +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 0fd535a9e8 Added a lot more texture formats
Former-commit-id: b3a553ea39a174d84c5cd6fcca853ee83c1e6670
2013-09-06 12:07:38 +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 df8449c13e Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
2013-08-28 03:05:46 +02:00
Lynix 866ff64548 Added Texture::GetSize()
Former-commit-id: da4b31cf95f605f83da17f63bc9a6dbd1d8b35c6
2013-08-28 02:52:47 +02:00
Lynix f69d2f13e5 Changed light model
Former-commit-id: bdf192bd83dbb5ae3ce8c46d6414e5b4fbc0047a
2013-08-28 02:52:09 +02:00
Lynix 83dc00dc60 Added forgotten file
Former-commit-id: c5fd96568c3d6d5ab889a718afc45f955310db34
2013-08-26 13:40:56 +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 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 bf4b762a5d Renamed CORE_DUPLICATE_TO_COUT to CORE_DUPLICATE_LOG_TO_COUT
Former-commit-id: fc877ab4467261e052f167e39471bc8b3b0b6c5e
2013-08-24 21:59:21 +02:00
Lynix 24e56790cc Fixed transparent model rendering
Former-commit-id: da363be3b19951ae49996fe9d05998420e80911f
2013-08-24 16:22:55 +02:00
Lynix 8611f629cc Removed useless line
Former-commit-id: 3daf9f4b30a614b196d4f68711cfc5782c6e0d86
2013-08-24 15:31:08 +02:00
Lynix 1493da0466 Increased user-friendlyness
Former-commit-id: 9611bb08f0be314d65453b88d84c36299d9a22af
2013-08-23 22:05:17 +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 fe6816b089 Fixed buffer corruption bugs ! (Yeah !)
Former-commit-id: 3e2c82a786810a160d324f8ccf284f8e505613a0
2013-08-23 12:52:52 +02:00
Lynix 74d396a376 Added warning when clip matrix is not invertible
Former-commit-id: 4707faab0259062ad619a5e5c72fcbbfaf853e3c
2013-08-22 10:50:53 +02:00
Lynix 5d0ed4f27c Removed warning when Matrix4 is not invertible
Former-commit-id: d16c6153dfafadc628cb9af9e4ed707045833616
2013-08-22 10:50:39 +02:00
Lynix 198d13be20 Enabled Frustum culling for Sprites
Former-commit-id: 5c5bf7da97f10b43c204bb336c2e979899f506d0
2013-08-21 21:17:39 +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 26f120cc66 Fixed Matrix4::[Make]Ortho parameters name
Former-commit-id: ad6a90025e6502ceff9add2c5ecd6c7b83483f38
2013-08-21 19:39:04 +02:00
Lynix a6f26ff336 Added Window::OnWindowResized event
Former-commit-id: 61262182892d2dae3defb239e751cd4b996a5ad6
2013-08-21 18:48:15 +02:00
Lynix b9b572c60c Fixed warning
Former-commit-id: d6ac174b7ad2a365158ccda0300e62aed5bd8a7b
2013-08-19 23:37:23 +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 e31a670041 Minor changes
Former-commit-id: 5954ff863d8f51d7ed47a1b84ae9ff0a5348ecce
2013-08-16 00:27:42 +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 3ff401e413 Removed useless forward-declaration
Former-commit-id: 5c9196995f51d3f3ad2a94f12411ce36d362c4df
2013-08-16 00:23:20 +02:00
Lynix 35bd693216 Fixed Matrix4::(Make)Ortho
Former-commit-id: fb65916496b8c28c21dcaf6c623ab1427a6e7767
2013-08-16 00:23:03 +02:00
Lynix 241e8fe9d9 Optimized ForwardRenderTechnique
Former-commit-id: a4e035c860ed2fcaeedadd5a41fb9f6251649000
2013-08-10 22:59:02 +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 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 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 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 69d150272f Remade instancing
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix c6f89757b6 Fixed missing noexcept
Former-commit-id: 58276c2ba77d0242fade3b29034f28871b48a987
2013-08-07 01:10:52 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix 901b917d37 Fixed Color::operator+ and operator*
Thanks to Overdrivr


Former-commit-id: 696e2a35f4e0243577a56feeb16e2268f25290d3
2013-08-06 23:15:22 +02:00
Lynix 19e02a900b Added Directory::Exists
Former-commit-id: 51e6b909b323074401b0200747db35f2e4b1c42a
2013-08-03 20:20:30 +02:00
Lynix f47ecfe414 Added unsigned int constructor to ByteArray/String classes
Former-commit-id: 2b52c0dabcd6fbf4ad33b31ef3cb84e668edcd54
2013-08-03 20:18:12 +02:00
Lynix ce028e497a Made current file relative to engine directory
Former-commit-id: 7a664df265a1d1b7f9b3594e34418163cc023eda
2013-08-03 17:35:08 +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
Lynix ae53b01ca1 Added File::Write(ByteArray)
Former-commit-id: 7f064cc17d940b5d2e3229264598cb0f1c778c80
2013-08-03 17:13:34 +02:00
Lynix ccb3adfc1c Cleaned ByteArray class
Former-commit-id: a155b789634cb1e7d875be2f4d1ba6cc896b4212
2013-08-03 17:13:16 +02:00
Lynix c358e5ab6d Added option to disable menu keys under Windows
Former-commit-id: a596eb7ab2a24a7246d0bf08eeb00a3d746639d8
2013-08-03 00:20:48 +02:00
Lynix 4b783f6f6f Renamed Shader to ShaderProgram
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
2013-08-02 18:39:20 +02:00
Lynix d751718a16 Added methods to retrieve shader binary
Added support for GL_ARB_get_program_binary


Former-commit-id: 3c23cfd237680f7832d15279af9e4248f9fa4678
2013-08-01 23:22:48 +02:00
Lynix 29ee943871 Made non-filling version of ByteArray::Resize
Former-commit-id: 0fec6b5749a786fc1999b9fc718a481d47c52895
2013-08-01 23:14:49 +02:00
Lynix efd6185f56 Added Box::GetSquaredBoundingSphere
Former-commit-id: 12ecb5d84f44e39ddacb96b83a897f618337c2e1
2013-07-31 14:18:47 +02:00
Lynix 84ebd6043c Sphere::Distance now returns distance between center and point
No more negative distances


Former-commit-id: 1688b82e88621e20312b6b28090ed63941b3e02a
2013-07-31 14:18:27 +02:00
Lynix 48e5af6373 Added NazaraDebug macro
Former-commit-id: 5a8cec09bd4a7283f86d030ac2d867cda23736cd
2013-07-30 21:31:28 +02:00
Lynix 4352083c4b Added ShaderManager (Experimental)
Former-commit-id: 327e373f2b932e31184e88c5f29bd5bd8fa3ba46
2013-07-15 00:23:04 +02:00
Lynix 68d5f9a8e6 Added default subdivision value for planes
Former-commit-id: 3884f79e74e52b4d78140f3cf96c02768d7ba440
2013-07-14 00:47:23 +02:00
Lynix 405e14d9ae Added OpenGL::GetGLSLVersion and ImageLoadStore shader extension
Former-commit-id: 97afadc93465132e6a698c5bf88e4ec070aff3db
2013-07-13 17:07:16 +02:00
Lynix afbd002234 Minor changes
Former-commit-id: c66ee9a05270965921c48ab7b9faf3033a59ce20
2013-07-10 21:10:53 +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 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +02:00
Lynix b31771471a Added automatic uniforms: (Inv)TargetSize
Former-commit-id: 382351590abe98dc9ef8f6ab4ecb30c8b42806a4
2013-07-09 00:54:17 +02:00
Lynix b035852576 Optimisations
Former-commit-id: 81d277a49b57f061a6339678bd953054e434c613
2013-07-03 01:17:22 +02:00
Lynix 9197f05fdf Fixed typo
Former-commit-id: baf322c10dc625ca2f66e31525f1420a6a16fa7d
2013-07-01 16:31:00 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix 35d9a2fef7 Fixed Vector2 division operators
Former-commit-id: cceddfe0bdb1ac94355ad3d04e4c9dab51d2edce
2013-07-01 16:04:50 +02:00
Lynix 7172ceaa6b Reworked (fixed and optimized) matrix handling
Former-commit-id: 6148748da07e228a746f51950231126b036b05eb
2013-06-27 19:04:22 +02:00
Lynix 30cb518c74 Added Alpha Test
Former-commit-id: 59dc6ef8f1dbff49bb13cf452bf75326ad7a6257
2013-06-27 19:02:31 +02:00
Lynix f4ef89bb32 Made Matrix4::ConcatenateAffine more robust
Former-commit-id: 7d6f74959b29a597fa9b08d8d3c58fbaf9e2555e
2013-06-27 18:56:05 +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 abe56631dd Changed default material
Former-commit-id: 60fe21986d8cdd22e89ea4ccfbb9c5b33ba8eed6
2013-06-26 19:59:34 +02:00
Lynix 245d6e105e Experimental new algorithm to sort transparents objets
Former-commit-id: ad8704584598e1edcd3699d234abaa132d88e581
2013-06-26 15:20:07 +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 b7c4d607ce Improved interface of Primitive
Former-commit-id: bcd4f2eb247c8f7fb59d864884e6ecda5f60afb1
2013-06-25 14:06:04 +02:00
Lynix 0bd70f8df1 Readded DebugDrawer::Draw[Binormals|Normals|Tangent]
Former-commit-id: 7e5f98670914da0618d40b2e5fcf49b66f0627a1
2013-06-25 00:31:31 +02:00
Lynix 0e3a4fa90b Updated physics module (Still experimental)
Former-commit-id: 4852b7cf6eca5ba3177397586877fe3d3c39dbd9
2013-06-24 13:33:54 +02:00
Lynix 44fdb48384 OpenGL's VAOs are now used the right way
Former-commit-id: 04a944b55d7406bc6028a2d90a5550b0d5e888f0
2013-06-24 00:24:22 +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 00c2e824d1 The OpenGL wrapper now handles context change
Fixed some bugs
Thanks to Raakz


Former-commit-id: f156ba7aa3307cccd83c9c02987dadad02cd8185
2013-06-21 01:28:11 +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 c1e57c829c Added experimental implementation of ByteArrays
Former-commit-id: c95729bb45059c199344471a61042d98090034c8
2013-06-18 21:07:53 +02:00
Lynix ebf402f138 Added GetNearestPowerOfTwo
Former-commit-id: 609d470e8478c659b816ad7d34fb9d56ad551b07
2013-06-18 21:06:41 +02:00
Lynix 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +02:00
Lynix 3e8ed9b1e4 Fixed conflict between VAO and OpenGL::BindBuffer
Former-commit-id: b1182e3b0327a73431a8e81106df9109e9a80cc2
2013-06-18 02:29:31 +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 7a45ff4884 Added RenderStates
Former-commit-id: c742cf2fc1cac807b9e2bcbd88c2b3d77327c106
2013-06-17 23:58:45 +02:00
Lynix 84cb7cb731 Cleaned LuaClass code
Former-commit-id: bba27b339435b22773255f9f69c55968505454ba
2013-06-17 23:58:17 +02:00
Lynix 54bc1d77fd Removed useless config defines
Former-commit-id: 37daf78c04fe1e810ab4e0ca6880c857797f7020
2013-06-15 16:11:19 +02:00
Lynix bb99d044bb Nazara now use meters as units
Added scale mesh parameter
Added smooth camera to FirstScene demo


Former-commit-id: b3985e10d84512e3b32f2569ac034ba63ace589a
2013-06-13 19:29:59 +02:00
Lynix 3294f18608 Added Node::Get*Direction*
Former-commit-id: e9c4f04da7b92965dc1236313ddebf66d0eaad8d
2013-06-13 17:05:21 +02:00
Lynix 28175f3170 Camera not longer use a LookAt view matrix
Former-commit-id: c07e1db9f939bcfe9ef09a1fdab88176f79b61e8
2013-06-10 16:42:17 +02:00
Lynix 7f9455b947 Added Matrix4::(Make)ViewMatrix
Former-commit-id: 4a21da456f90c5d0c53c291885b3a214be893b5e
2013-06-10 16:41:25 +02:00
Lynix f3d0618ae6 Added Mesh::Transform
Former-commit-id: c0680b23ff81a10a580934fc24d1ae4a13780595
2013-06-09 22:05:33 +02:00
Lynix 6b2af70f1d Cleaned interface
Former-commit-id: cdd284de8396d5988853c84d5db17bfa6fa0ba51
2013-06-09 22:05:05 +02:00
Lynix ca5fb44ecf Really fixed AABBs
Former-commit-id: 003979537f2ea5362849df8a65611739aea6d298
2013-06-09 22:03:42 +02:00
Lynix 40bf1723f5 Added Node::SetTransformMatrix
Former-commit-id: ca5c457f48b12b5603ee6a7629159a74388a9b42
2013-06-09 16:16:42 +02:00
Lynix e689f6f09f Added Mesh::Recenter()
Former-commit-id: 07ef8b3296b835e207bfa904af29546f724e6dc3
2013-06-09 16:15:13 +02:00
Lynix 542ce665c2 Added ComputeVerticesAABB algorithm
Made TransformVertices template
Removed TransformVertex


Former-commit-id: 68c7bdae2bd21adbed3fc7c54361c439ea0e5d37
2013-06-09 16:10:12 +02:00
Lynix a478926570 Fixed (I hope) Matrix4::GetRotation()
Former-commit-id: 9480437dde664034d7e44c81a3931922c215b646
2013-06-09 16:00:44 +02:00
Lynix 273391d8cb Added optionnal parameter to NumberEquals(a, b)
Former-commit-id: 30e69529d7e15857046327edd6cbe587a3951fa3
2013-06-09 15:53:49 +02:00
Lynix 7a7cfc3092 Added [Box|Rect]::Translate
Former-commit-id: 72b4cd351a7233df89709366fbe7ce59e4ba94e7
2013-06-09 15:50:56 +02:00
Lynix bb31a1666f Added [Box|Rect]::Get[Maximum|Minimum]()
Former-commit-id: 5226f2dfd2beaec2bc9075543f555cc48a457e3a
2013-06-09 15:41:57 +02:00
Lynix c940abdb75 Renamed [Box|Rect]::GetSize() to GetLengths()
Former-commit-id: 3c122057634a6472034b284bfe7091acbb41d004
2013-06-09 15:34:36 +02:00
Lynix c76c419867 Cleaned interface
And fixed some VS warnings


Former-commit-id: 8c89fa1d4dc92a362053e4cdeabe20537fcec2a6
2013-06-09 11:25:17 +02:00
Lynix 8460a96744 Regenerated global headers
Former-commit-id: 36bc6f9b3f71af890c98c2d9f2e716382bcfda7b
2013-06-09 11:24:13 +02:00
Lynix f74f9e964e Replaced Mesh::Build by BuildSubMesh(es)
Former-commit-id: c5b034aa764cdda0ea0c48182f2562968a10c226
2013-06-07 12:22:43 +02:00
Lynix f233db0b4e Changed default recursion level of icospheres
When used with PrimitiveList


Former-commit-id: b0010d2eb22535c7a2574f76546dc5d42ab4da5a
2013-06-05 19:49:56 +02:00
Lynix 928c0aaaf7 Added IndexBuffer optimization to Mesh parameters
Former-commit-id: 073b37fa9ede92f88861110fb4fb0b84d54e26ae
2013-06-05 19:40:54 +02:00
Lynix ccb6f5b729 Added indices optimisation algorithm
Former-commit-id: 89086e814ca11a048949fe0fc6e20648824bbb36
2013-06-05 19:39:48 +02:00
Lynix 910a79fc84 Cleaned interface
Former-commit-id: b5f1871c164dd72098e389b76edf0994fb1fb124
2013-06-05 15:56:51 +02:00
Lynix 146ca80a63 Added index iterators
Former-commit-id: de3ed77ba9e3c48aa68020e23ded679066b9878f
2013-06-05 15:33:43 +02:00
Lynix fbc0d7404e Improved code
Former-commit-id: 33082b8f9d55c7a3b9550c788eb27fc613c08032
2013-06-05 13:24:33 +02:00
Lynix 573b4ebf79 Fixed forgotten file in last commit
Former-commit-id: ac75cc7dacda565f0a12ac0afa58cf939b2b2e5d
2013-06-04 14:52:12 +02:00
Lynix 9239ff8881 Box primitives now uses vec3 lengths parameter
Instead of a Box parameter


Former-commit-id: 6c433e883252c6db8eba3b791d1e9364ce5d3b1e
2013-06-03 17:14:09 +02:00
Lynix fb839de33e Renamed (Oriented)Cube to (Oriented)Box
Also renamed BoundingBox to BoundingVolume


Former-commit-id: 795c70c265ba17f6b96fc30799e89f140c52852b
2013-06-03 14:18:31 +02:00
Lynix a3f1417abd Added Matrix4::Apply[Rotation|Translation]
Former-commit-id: 1c59aa48f057d4bdc4b4413e349d2b4290dec055
2013-06-03 12:57:20 +02:00
Lynix f712ed1c73 Merge remote-tracking branch 'origin/Physics-module'
Former-commit-id: d4e2c3b0633ac7916b646e6fe33c75ed94e68bf1
2013-06-01 12:06:09 +02:00
Lynix 714e3e01bc Added mesh generator functions
Added Mesh::Build


Former-commit-id: dcfc6587b67ab4ec350ab7ca04ae7f45475f6b1b
2013-05-30 13:25:45 +02:00
Lynix 65c08442ce Added Primitive(List)
Former-commit-id: 3080a1846616fb2dac25e6d341c8a9220f406de4
2013-05-30 13:22:10 +02:00
Lynix ac9e200e83 Merge remote-tracking branch 'origin/Graphics-update'
Former-commit-id: 6050b694c2c97ec65e7573d729985e5b7aacec84
2013-05-30 13:17:23 +02:00
Lynix c99ab36ebe Made Cube/Rect more user-friendly
Former-commit-id: 13ac0b9f6428059596c98f636caf61afd2a436b7
2013-05-30 03:02:43 +02:00
Lynix e0229ab390 Cleaned Thread class code
Former-commit-id: d8c918c7a3c50ed3ed2f225303540d3860863d4e
2013-05-30 02:59:08 +02:00
Lynix 465a7c246d Added Identity Matrix optimization
Former-commit-id: c426c3098659f9cf74fd7da33cadabe38a158358
2013-05-30 02:58:20 +02:00
Lynix b3f60e90fd Fixed Quaternion::(Make)RotationBetween
Could not handle parallel vectors


Former-commit-id: 3fed3a46d443b208dc95a5bcd29dd43fb7960114
2013-05-30 02:56:58 +02:00
Lynix 355d52324a Fixed licence text
Former-commit-id: c4f7c3c0fffc0449ebf0a405632877d902c3da62
2013-05-29 01:35:21 +02:00
Lynix 5f36817209 Rewritted rendersystem
Former-commit-id: 9cbc601413e057047b94b8b872ee2316a86638c4
2013-05-25 10:07:36 +02:00
Lynix cf6e2be0b0 Renamed PrimitiveType to PrimitiveMode
Also renamed RENDERER_INSTANCING_MAX to RENDERER_MAX_INSTANCES
Added RENDERER_SHADER_MAX_LIGHTCOUNT


Former-commit-id: bc26e087dd1b55c424836e6e2fa6e1dc0f17effa
2013-05-24 20:12:40 +02:00
Lynix 8014f67eb8 Added Physics module
Former-commit-id: acc3ffe119ebfae9c0199eb878a621325c28844a
2013-05-23 23:16:36 +02:00
Lynix c934d8ed6b Added NazaraStringify(Macro)
Former-commit-id: 1b4b3165153013e9d2ff5e78c54c4a214deb7ac4
2013-05-23 02:12:22 +02:00
Lynix 0717823b0e Renamed depth test to depth buffer
Because disabling depth test also disable depth write


Former-commit-id: 0e0b3353c309fb1d702d030accc4349f1f0c6d96
2013-05-21 16:16:36 +02:00
Lynix 3ff5761703 Fixed missing headers
Former-commit-id: 85c27f12d393c087a455433b2bf7298a25f13b44
2013-05-21 14:00:23 +02:00
Lynix 3b8072c921 Regenerated Core and Utility global header
Following d46df4f changes


Former-commit-id: e1475d9f72469e0c4a3541265f23d292f6947fc0
2013-05-21 13:59:51 +02:00
Lynix 864fcc639c Fixed missing include
Former-commit-id: fac04e2c5524993a0499cb65d44a79d926d22452
2013-05-21 13:54:29 +02:00
Lynix 8f09eea340 Renamed XImpl to AbstractX (More consistent)
Where * is Buffer, Hash and Shader


Former-commit-id: a99681ab1d515c9b39e6ba5f447c9000ef1092b8
2013-05-21 13:54:10 +02:00
Lynix 4b68ff0118 Added alpha-mapping support
Former-commit-id: ba4598e9e5efc47e04e72dc709d64d214d77e9a1
2013-05-16 22:48:16 +02:00
Lynix c05c22c97a Fixed Frustum::GetPlane not compiling in debug
Former-commit-id: efe801b21f50803368aea4c5442a43c1621545f6
2013-05-16 22:21:33 +02:00
Lynix 6d2a1118bc Implemented Matrix4::GetRotation
Former-commit-id: 90e0b6942497c1337ac3873d3990515284df4aa6
2013-05-16 22:21:16 +02:00
Lynix 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52:56 +02:00
Lynix 6c743a89b9 Added Quaternion::(Make)RotationBetween
Former-commit-id: e28517580bd17970e77a38f54e7c114cdaf402d5
2013-05-13 12:52:39 +02:00
Lynix 16004fd41c Added IntegralPow function
Former-commit-id: c04d3bf6365f3ced475405a85285b3956a066c47
2013-05-13 12:52:12 +02:00
Lynix c484bd38c9 Added OpenGL::BindTexture(unit, type, id)
+ Fixed OpenGL::DeleteTexture


Former-commit-id: 124ac3316f604e436378aed8d663f0d2b5889cd3
2013-05-11 14:04:41 +02:00
Lynix 28f46a5c90 Added ShaderUniform (Faster GetUniformLocation)
Former-commit-id: c8a01eccde07fc3b2aac46c5b974f8406ad949f0
2013-05-11 14:03:22 +02:00
Lynix 991d841d57 Made String(char) explicit
Former-commit-id: 02f5ead8fe60b825464f956d9fc6ea4689bda44b
2013-05-11 13:51:56 +02:00
Lynix 459c7a4d07 Made use of atomic variables
In order to replace mutex-protected integer values (Performance
improvement)


Former-commit-id: d40ed2444111f00dab372f2371fe91cfd9cd2472
2013-05-03 23:12:58 +02:00
Lynix 4f3060a40d Greatly improved Renderer
Separated Viewport from Scissor rect
Improved performances
Removed Lock/Unlock system from Shader/Texture class


Former-commit-id: f54bca6de58fe9d495d9192dc0d761f92594ee86
2013-05-03 02:58:35 +02:00
Lynix 780bcf122c Nazara now use thread_local (GCC 4.8 is required)
Former-commit-id: 09c0c24ede4a6860acfc71b9532f286bd1381dda
2013-05-03 02:55:26 +02:00
Lynix a8066a58af Added Matrix4::(Make)Transform(T, R)
Former-commit-id: 556554c8cc589dfe64b3a8be903f62af894011c4
2013-05-03 02:50:38 +02:00
Lynix 90603e1f42 Improved LuaClass
Still no inherance though


Former-commit-id: 14c48e5238cc666f4054a0a484d7ac1ec8b7f22b
2013-05-01 02:01:09 +02:00
Lynix 2097d3476d Minor changes
Former-commit-id: 03920c74e2dc63a700d8167318d1bb14b4b68c8d
2013-05-01 01:37:18 +02:00
Lynix ce358b119f Removed useless platform detection macro
Former-commit-id: 2d8dc32c34da903a6ab236d3427be68ec06732a5
2013-05-01 01:36:39 +02:00
Lynix 7908839785 Added Window::GetStyle()
Useful with external windows


Former-commit-id: 62974c8cdfb6919bc1e85507cc8adc8101daba1a
2013-05-01 01:36:13 +02:00
Lynix 961c658ae1 Changed Matrix4::(Make)Transform argument pos
To reflect "TRS" transformation
Also removed an useless line


Former-commit-id: b60a70d04797f40f3490b26706740b375fe38421
2013-05-01 01:35:17 +02:00
Lynix 6699ce328f ResourceLoader SteamChecker now return a ternary
Former-commit-id: 2ee274ebb2b61f39e93f6ff2306b5a326b158594
2013-04-27 11:51:42 +02:00
Lynix 1e256bdf35 Added Lua module
Former-commit-id: 3f96b9aef8afffb5e8daf460480df2f3b8c37da7
2013-04-24 11:51:06 +02:00
Lynix fdf0c8a71f Added Node::To[Global|Local]*
Fixed Node::Interpolate when used in global coord sys


Former-commit-id: 1963a6c6d3df8b2bc8a3f7a2a7a7102611ca6493
2013-04-19 13:59:57 +02:00
Lynix 86cd0ddbe1 Initializer now uninitialize in the inverse order
Former-commit-id: f6edf57dbad8e131bec0b1ed02e96d41aa40c3aa
2013-04-16 11:58:51 +02:00
Lynix 9870a2249b Added Lua extern library
Former-commit-id: 597a37211727803de7c8816a23154d71b8446cea
2013-04-12 16:51:04 +02:00
Lynix b7468d3b8f Nazara now prevent building with a C compiler
Former-commit-id: 04c247acbe590d1c3a615875759833a9fbf550bf
2013-04-12 12:45:05 +02:00
Lynix 36f8631028 Added user-friendly method for accessing materials
Former-commit-id: 6f254ea6e324b3467a811ba5282f67b6ea078d51
2013-04-09 14:26:14 +02:00
Lynix f8e942af65 Improved error message
Former-commit-id: e7193cb36ffba475c6b1c37822676da31042bf15
2013-04-09 11:33:18 +02:00
Lynix 38a28c26d2 Added user-friendly method for loading maps
Former-commit-id: 4990988256a37c55c6d07b273fd48430221235ae
2013-04-09 11:33:03 +02:00
Lynix b871688c87 Updated global headers
Former-commit-id: 81a83ba49a3fe2cd6b121b82879b58fd59ed2114
2013-04-07 02:10:24 +02:00
Lynix 4afe078e9d Added cubemap helpers for Image/Texture
Former-commit-id: 3c0dfb9e9b78369b8a552a55f2c70b978e626ce9
2013-04-07 02:08:08 +02:00
Lynix 8d8a47da4c Infallible Image methods no longer return a bool
Former-commit-id: 10af51caf639d010b36829bdb82afbcfc908582c
2013-04-06 17:32:55 +02:00
Lynix c3c3d07be0 Added Skyboxes
Former-commit-id: f4153c047d658afb3e42302a34b0263fbac78d88
2013-04-06 17:04:56 +02:00
Lynix 578523b4bf Added emissive mapping support
Former-commit-id: f469b1bcada16f0f2350cc10e9dc25fcf3c24abe
2013-04-06 15:07:29 +02:00
Lynix aa6d4c5b52 Reworked Image/Texture
Improved performances
Fixed some bugs
It is now possible to use non-contiguous buffer


Former-commit-id: 0fa7d13a740f62dae511a1549b267e2f2011d5a6
2013-04-06 13:53:45 +02:00
Lynix 67e409ff53 Fixed Background not having virtual destructor
Former-commit-id: 3d08b8f44cd661bea7f0e36dda74e7bad90f1f2a
2013-04-06 00:14:25 +02:00
Lynix 8c77d6e990 Fixed leaks
Former-commit-id: 2f0a73b3bb5df04c13200d71dc198e2fe9ec30e1
2013-04-06 00:13:56 +02:00
Lynix 91a272482e Initializer will initialize several class at once
Former-commit-id: b64c87006e5fd237399b623fca32ec03d0d3d50c
2013-04-03 16:42:54 +02:00
Lynix 8694f71c2a X::Initialize no longer takes arguments
Former-commit-id: a8233235e89112630f2d31c637723443bd0829a4
2013-04-03 16:41:57 +02:00
Lynix d8c5f4a0fd Renamed TupleUnpack to ImplTuplUnpack
Former-commit-id: 34c987536e7835e411f51a5a87eb2cb1eaf29ea2
2013-04-03 14:55:32 +02:00
Lynix 98e70f21a1 Made Background::Draw receive const scene pointer
Former-commit-id: 2b84f8ea924714d81046f3dd29990939586e7622
2013-04-03 01:47:43 +02:00
Lynix 2c7744af41 Fixed last commit
Yep, forgot to test it :D

It should be okay now


Former-commit-id: 3392523240affb4151f5121decb0e458500878a3
2013-04-03 01:25:57 +02:00
Lynix 34dbd19385 Merged 2D and 3D modules into Graphics module
Former-commit-id: 33bf0fbe727e50e864bc52680c95a106ada508e9
2013-04-03 01:14:55 +02:00
Lynix d989069336 Fixed music looping
Former-commit-id: 2484c81da5e2f0c0ef72cfbad26e53df129662e7
2013-04-02 01:40:19 +02:00
Lynix b4c7818200 CherryPicked commit "Reworked ResourceLoader"
Conflicts:
	src/Nazara/Utility/Loaders/MD2/Loader.cpp

Former-commit-id: 708c34c80f78cca224012149cf1d8faf37922463
2013-04-01 23:18:28 +02:00
Lynix 2f72939ad0 Added [Sub]Mesh::GetTriangleCount()
Former-commit-id: e365bd3aa57d487186a0be5cde1d5b0ba78d740c
2013-04-01 14:33:10 +02:00
Lynix e111e6b907 Fixed incorrect comment
Former-commit-id: d3abeb65dd314f563d6cacaf45f09e06626c72f8
2013-04-01 02:52:03 +02:00
Lynix ad978dc85a Moved normal/tangents generation to submeshes
Former-commit-id: d043284a1a5810b429cc76d8bc071010985a523b
2013-03-29 14:48:23 +01:00
Lynix b86332a51b Refactored TriangleIterator/VertexMapper
Former-commit-id: b8d4fc79142b36519ebe1879276415fe30970d3e
2013-03-29 14:42:55 +01:00
Lynix 5048705702 Added deferred mapping to BufferMapper
Former-commit-id: f02e5c999560fbd00894fcda9c6a6f80a6fc9e13
2013-03-29 14:41:27 +01:00
Lynix e617783999 Improved resource loader error message
Former-commit-id: 3a8c565551b38a2ec3311db3d134e641d46527f8
2013-03-26 01:01:59 +01:00
Lynix ddc900185d Added String::Append(str, length);
Former-commit-id: a1c16d5966221cffe1f28b20f099922078360818
2013-03-26 01:00:29 +01:00
Lynix 56feddb100 Added Scene::GetActiveCamera()
Also fixed a warning when instancing is used without lighting


Former-commit-id: 5326e95f99a58ffcc91d7942ec2991482d7e58bd
2013-03-25 13:27:18 +01:00
Lynix 5dd2d0d6a7 Changed Resource::SetPersistent default argument
Former-commit-id: 803534a0216d85f96e6f6f7810e5e76ebcc8bb44
2013-03-24 01:07:01 +01:00
Lynix b5d73ce389 Added ModelLoader
Changed Model::SetMesh behavior


Former-commit-id: b1c937b22bcebeef8b8fc42ff061dbf8ece8d2f1
2013-03-24 01:03:21 +01:00
Lynix 9c88cbfa84 Fixed ResourceRef not removing references
Former-commit-id: 4f3578aeb60ea6cba6f18ba7d5f0f0e9a06a05c9
2013-03-24 00:59:16 +01:00
Lynix 7ddff94a30 Added (move) assignement operator to Model
Former-commit-id: eee1b92633656e47454218583f8e8bdabcddc157
2013-03-23 22:49:24 +01:00
Lynix 8f21a75c43 Reworked ResourceLoader
Former-commit-id: 9809e7fcd3657dfe90a0795986d0918f4ae1823c
2013-03-23 22:49:06 +01:00
Lynix ea2cc97169 Added Texture backgrounds
Former-commit-id: 8aa98a9b8bee5fbf1b5eefa958a7b9095b784cf5
2013-03-22 11:15:17 +01:00
Lynix 5390bd49f0 Fixed pixel flipping (ex:horizontal was vertical)
Former-commit-id: 8fb8e6949ae1d2c3d53e42b979f1716e25d3bba9
2013-03-22 11:14:11 +01:00
Lynix ccea00b12e Added backgrounds
Former-commit-id: e3959b04a124978c473bd6330047b5fd6ac27b19
2013-03-21 23:02:11 +01:00
Lynix ea75b8ece5 Added some comments
Former-commit-id: 4710c355d4106191419441b4fb49370dc9f04ec2
2013-03-21 22:55:34 +01:00
Lynix ce63985b0e Fixed Drawable destructor
Former-commit-id: 01ff3c3c86dc0bd3f25b51384b0751d3767aa9ba
2013-03-21 22:55:16 +01:00
Lynix 23b760139e Completed Vector3 vectors
Former-commit-id: 73c16102c22fe1d01b9b9411aa3e1bf82949542c
2013-03-21 22:52:19 +01:00
Lynix c7fdf25432 Added Matrix4::GetDeterminantAffine
Former-commit-id: 404098cc552509039c38e7449b167dbab0385008
2013-03-21 18:29:50 +01:00
Lynix 5ac36d99ef Fixed scene visible updatables
Former-commit-id: 9633d7049bbe9d5f6b304ab8e9702fae93540018
2013-03-20 17:07:07 +01:00
Lynix 929c0db82d Added glDrawTexture (NVidia extension)
Former-commit-id: 51d43d7423adeef0f0f0c0de5c633ee3d3b6ce2a
2013-03-20 15:41:06 +01:00
Lynix 6a7eb137d7 [Index|Vertex]Buffer::Fill now takes discard arg
Former-commit-id: 384ffdb12d82c1e960249abcaf407ccbfe0939cf
2013-03-20 15:40:37 +01:00
Lynix 086408f95f Renamed FillInstancingData to SetInstancingData
Former-commit-id: 081209d333fc8884a453e9052acfaac653d3133b
2013-03-16 01:08:28 +01:00
Lynix 200f46b442 Reworked texture samplers internal
Former-commit-id: d26f8f12ccc1730519c6fa7d4bec725a0396d9f1
2013-03-16 01:07:00 +01:00
Lynix b82cbc074b Optimized ResourceRef assignation
Former-commit-id: 9dfdadb8e34f17c93caabef12f097504c89ee51b
2013-03-16 01:01:16 +01:00
Lynix 63fae2f9ca Removed useless comments
Former-commit-id: a80cc9caf7a113fd37e322c0f7fbf26fb2747cba
2013-03-15 03:14:27 +01:00
Lynix 6c2fb1eb89 Added ResourceRef (Automatic resource reference)
Former-commit-id: 97a0b2732f4dc443b8e1676e68b33b1b53ddf4fb
2013-03-15 03:09:58 +01:00
Lynix 6b2690ef30 Fixed files encoding not being UTF-8
Also updated copyright texts for some files forgotten in the last commit


Former-commit-id: 79f158a7943c32f76a9a1e80fba109f15a3b7346
2013-03-14 00:14:16 +01:00
Lynix 32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix 9ee273f550 Added ignoreEvent boolean to Mouse::SetPosition
Former-commit-id: 6dcb701a51c7bc58b105dd42f7ad44371fd0c92b
2013-03-13 22:41:47 +01:00
Lynix 593fec134d Added lights bounding box
Former-commit-id: 9ab45181c8b0586e9d4040d48d756683e88dd8fe
2013-03-13 17:10:58 +01:00
Lynix 1e57c00fa1 Simplified Cube::GetCenter impl
Former-commit-id: 59f3fcb694b5758e726c9fd5884307d80d6d3408
2013-03-13 17:09:54 +01:00
Lynix efd0f5eaf6 Fixed FBO extension not loading on old hardware
Former-commit-id: 5353ce64e5c2508f7cbc624139e4c823c86bf0fc
2013-03-13 00:31:59 +01:00
Lynix d695bb02e8 Changed parameter name (nothing relevant)
Former-commit-id: 3b0355d998300b57ab83562f9b107925e4be6c29
2013-03-12 23:35:37 +01:00
Lynix 79ac20f48a Removed useless comments
Former-commit-id: e780ddc3dd648e45f596b3e6a00ff68481d84e42
2013-03-12 23:31:48 +01:00
Lynix bf3ebde2cd Fixed BoundingBox::operator*=
Former-commit-id: ff998c1f7aa93a7b582b689f6b628663d1e921be
2013-03-12 23:31:36 +01:00
Lynix 39e54474dd Added Window::Close (soft way to close window)
Former-commit-id: 9d47ed3ed38d62928f3cb6356fed07501b5e92d5
2013-03-08 01:20:26 +01:00
Lynix 9f780ef2bd Optimized Buffer locking/filling
Former-commit-id: 41cb66257f3eeef375086bf51f26230a06ca9eb8
2013-03-06 22:40:15 +01:00
Lynix aa67a52e9c Added glInvalidateBufferData loading
Former-commit-id: faf3a0848548107302ab64f15808212da71d3e64
2013-03-06 22:39:39 +01:00
Lynix a8e1a00158 Fixed spaces (Yes, one more time)
Former-commit-id: 0f1af03c886d76ed1e79db91f47fd9902dc7813a
2013-03-06 22:39:02 +01:00
Lynix 50b1055e78 Fixed spaces
Former-commit-id: c0b17c175a2d0da81d28fd5287b72e8546ce210b
2013-03-06 13:41:58 +01:00
Lynix 2fe693f24d Made scene propagation works with Node class
Former-commit-id: b587ea907f70dc08cd741f64e4e6f3201cd1783e
2013-03-06 13:34:22 +01:00
Lynix f0446d1548 Fixed space
Former-commit-id: e7926f2523e96d5495c8425f7e57b2b599f129e4
2013-03-06 00:32:48 +01:00
Lynix f4a5ddc26b Added reference of Camera::SetTarget
Former-commit-id: 5a3d1f28de326325093d358e32991ce2c404ec84
2013-03-05 15:08:46 +01:00
Lynix 0e49132cd9 Added visibility state to SceneNode
Former-commit-id: 5325e268a4276d6e2e3e72648641ca03225ab4da
2013-03-05 12:09:51 +01:00
Lynix e26728c424 Removed Keyframe animation type
Former-commit-id: 807c81e9b738dbb443c3101026f7b5bdff32a931
2013-03-05 10:54:58 +01:00
Lynix a97da928a2 Merged MeshParameters into ModelParameters
Former-commit-id: 187541bd30255f64758d96b80e6280842699124d
2013-03-05 10:42:18 +01:00
Lynix cdda9706c3 Added target parameter to Camera
Former-commit-id: a0f27d4a37aba8cfc9a2feba23866e95e7e90ea1
2013-03-02 19:09:46 +01:00
Lynix cd48d70844 Made Context/RenderTarget usage constant
Former-commit-id: 07a2655ea642664bc49ca335cf5147ebf9fb9f26
2013-03-02 19:09:13 +01:00
Lynix 636b9d3f50 (Node) Added name getter/setter
Former-commit-id: 56ec0721abfba836a12c8a2de7f7c909f58a6c37
2013-03-02 01:33:58 +01:00
Lynix 2686fe86a0 Regenerated global headers
Former-commit-id: cc09fa7dea265d096fa280a54b4c1f10fc4c37d9
2013-03-02 01:33:24 +01:00
Lynix ab1fc99fcd Big 3D update (WIP)
Former-commit-id: 9f55dae0521bded91640a7ea2d223a49a378c97c
2013-03-02 01:29:44 +01:00
Lynix a20818d66b Added interfaces
Former-commit-id: dfe596f28917dd5358e0bb87269fcfd4efa74f1c
2013-03-02 01:03:20 +01:00
Lynix eda1f5ebab Added 2D module
Former-commit-id: 4e1ad41928e04e9de4b4288b973f37b6eb0755db
2013-03-02 00:28:22 +01:00
Lynix eca2ec3115 Stabilized TaskScheduler (Still buggy)
Former-commit-id: a604c6616065342b21d2c11c27974ec11935a852
2013-03-02 00:26:48 +01:00
Lynix b1da998d24 Updated Utility
Former-commit-id: 6da80ae53e6965e1fb8a74e656434f514aac8c62
2013-03-02 00:24:34 +01:00
Lynix 7540fbf09c Improved Node interface
Former-commit-id: fdeb313d5e59e5b2f92f347370ee6b08572069b9
2013-03-02 00:23:49 +01:00
Lynix b4d7e16749 Updated Renderer
Former-commit-id: 74ad349814a5624cdf1c61bfb9e0123b82be06f2
2013-03-02 00:22:49 +01:00
Lynix 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +01:00
Lynix 347b267d43 Added shader flags
Renamed ShaderBuilder enum to ShaderFlags


Former-commit-id: b3440bac5491f0a0a90cbd7f9ed8e396c16c0864
2013-03-01 21:54:41 +01:00
Lynix b75c04b16a Fixed Matrix4::MakeOrtho
Former-commit-id: 04b75d7c82e34cce4e27b761861747a6375241b3
2013-03-01 18:37:29 +01:00