Commit Graph

680 Commits

Author SHA1 Message Date
Lynix dcca3d03d4 Fixed warning on some compilers
Former-commit-id: 588acff705e80008577f4b1f46580b70dc62615a
2014-06-27 21:09:31 +02:00
Gawaboumga f3ccd60b5f New class ray
Class ray who represents a ray in space and who can be used as a line.
Support of classical intersections.


Former-commit-id: 2ea5af0cf749dbefdd841f9b02bfab2af5058cdb
2014-06-27 19:39:51 +02:00
Gawaboumga ca595bca20 Add of some mathematical functions
Plane: Getters and classic planes
Sphere: Getter
Vector2: Angle between two vectors
Vector3: Same in 3D

Former-commit-id: 07e6421def813743e5fd8248fe2e9503cebbb8a8
2014-06-27 19:33:28 +02:00
Gawaboumga f84897e47a Merge remote-tracking branch 'upstream/master'
Former-commit-id: 578dd5a3b02eb5363a248c437b528a743be983ca
2014-06-27 19:21:44 +02:00
Gawaboumga 9f17722afd Little corrections
HashDigest: Simultaneous use of int and short
EulerAngles: Use of the macro
Geom: cone was missing

Former-commit-id: ecc3a586732a6711b57ce3e79c5450ef7327bb5b
2014-06-27 19:11:45 +02:00
Lynix b70f693b8c Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: 85e5af81ed3381af19e87c6ca0ee14e79955e563
2014-06-24 12:56:10 +02:00
Lynix 48eb59eba8 Commited missing file (from 7dfb82)
Former-commit-id: 90aba1cc976830fd78efdd3d03764345b92df24d
2014-06-22 15:12:54 +02:00
Lynix dc3f3eb344 Fixed some of the pull request code in order to merge it
Former-commit-id: d8a9734fc622cb57f98b3b6abd2579922d562aa0
2014-06-22 15:12:52 +02:00
Lynix 55c205a5e5 Improved MemoryPool class
It's size is now dynamic (defaulted to 1024)
Added MemoryPool::GetFreeBlocks()
Added MemoryPool::GetSize()
Tried to make it thread-safe
It supports dynamics allocations (in case where it can't allocate memory
from the pool for some reasons)


Former-commit-id: d42804a47eaafbbc1c0b151f8fcaeb5ddb086ff5
2014-06-22 15:12:51 +02:00
Lynix 6c1852299d Added SkinningManager
Former-commit-id: ca3648dc16f5b1654cb8e3f5480d04f7fd22a3bc
2014-06-21 16:23:38 +02:00
Lynix 774df28d87 Cached skinning matrix
Former-commit-id: c5aeb09778f5696906eb764f600c4a152ab7ba48
2014-06-21 16:22:34 +02:00
Lynix 5310c8b0d6 Moved skinning to algorithms
Former-commit-id: ab31467438f55e8381daa8f238c201c46ba96f52
2014-06-21 16:21:33 +02:00
Lynix a6d6213b9d Commited missing file (from 7dfb82)
Former-commit-id: 4961498d557dea7101960beb4f2eb6b0a3060368
2014-06-17 15:53:57 +02:00
Lynix eceabcd241 Fixed some of the pull request code in order to merge it
Former-commit-id: 76d71f15b335535e7dfcaf986440a00e85e45c1b
2014-06-15 01:55:07 +02:00
Lynix 62daced765 Merge branch 'master' of https://github.com/Gawaboumga/NazaraEngine into Gawaboumga-master
Former-commit-id: 56e40c1b251e01c435595ac73a696d2720fb1453
2014-06-15 01:20:46 +02:00
Lynix f55b151c8e Improved MemoryPool class
It's size is now dynamic (defaulted to 1024)
Added MemoryPool::GetFreeBlocks()
Added MemoryPool::GetSize()
Tried to make it thread-safe
It supports dynamics allocations (in case where it can't allocate memory
from the pool for some reasons)


Former-commit-id: 1cc6cb2bc118556363a5c8ba1d18b3b1ce734862
2014-06-15 01:17:57 +02:00
Gawaboumga 676ed6c9d8 Correction of mathematical functions.
BoundingVolume: Add of constructor and setter OrientedBox. Extend is now
up to date.
Box: Use of <T>. Return this
Frustrum: Use of <T>
Matrix: Use of <T>
OrientedBox: m_corners is up to date
Rect: Add of operators /= and /. Return this
Sphere: Add of Intersect and Contains with box. Little corrections.
Vector2: Return

TaskSchedulerImpl: Add of include header cstdlib to compile because of
std::div
HardwareInfo/main: use of accentAigu

Former-commit-id: a5a7f8e8c45448e5683eb13bff453d6f67478d03
2014-06-14 22:10:37 +02:00
Lynix b4c6dac441 Updated copyright years to 2014 for some missed files
Former-commit-id: 932e421ad0c8ddc8fb9f010f6e3015b7740f3d59
2014-06-05 21:46:22 +02:00
Lynix 31dba6f52c Added pointer value test to MemoryPool
Former-commit-id: 2051f2e5b8f45513d6050dbdb17287841e5394a5
2014-06-05 21:31:29 +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 e0b8cf68aa Commited forgotten file (from commit 11ebdd50c3df1e96d7d8cc5b885360675ca5c302 [formerly 39e74cabd80f85aadb4db40f558ffc699a580423])
Former-commit-id: c6d4f4aa4f43a602a47f7996721b695e6bd95566
2014-05-28 10:10:51 +02:00
Lynix c27187ae4b Added MemoryPool class
Former-commit-id: cc704583a686dd631bee54ed48cee913aeb2e369
2014-05-28 10:02:43 +02:00
Lynix df803fd5f7 Fixed Graphics module build
Former-commit-id: 1dc70a30cd4ca68d2d7869d51eb01f81770b0e3b
2014-05-28 01:15:12 +02:00
Lynix 42f5b501f5 Alphabetical commit
Former-commit-id: 4ee6e29bfc574b670ed583a95990aaa8954fc8cb
2014-05-28 01:12:14 +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 d09f6def2b Added MeshData struct
Former-commit-id: 98c7124043a57f9e0172c2db5e363cba598b7daa
2014-05-28 00:54:30 +02:00
Lynix 012c120bf1 Added Scene::EnableBackground
Former-commit-id: 57a3c3e41799703bb72b4980433d7faadc3b1b86
2014-05-28 00:35:28 +02:00
Lynix 8aaed03310 Added static methods/getter/setter to LuaClasses
Former-commit-id: 8b2c0cf5812863c93cb1064b24b9bf396e7af30f
2014-05-28 00:31:34 +02:00
Lynix 8f4b304df1 Renamed Directory::SetDirectory to Directory::SetPath
Added Directory::GetPath


Former-commit-id: 0d2918557962b05ea7c9a16c82e6afc961db32a8
2014-05-26 02:00:46 +02:00
Lynix ee55847220 Improved LuaInstance class
Better handling of panic (showing the actual error)
Secured arrays with static assert
Added ArgCheck
Added ArgError
Added reference handling
Improved DumpStack method (Now printing the address of functions,
tables, threads)


Former-commit-id: 5ae9a1aefca4b8c50aa57db99da3b778cb1ebff4
2014-05-26 01:57:10 +02:00
Lynix beb1879aca Added support for double and integer attribute (VertexDeclaration)
Improved Renderer error handling


Former-commit-id: 8cded7c0a7d1ba7c8583ef3e7b74b1d9604088e3
2014-04-25 21:11:14 +02:00
Lynix b16f2bf763 Added OpenGL function loading
glVertexAttrib[I|L]Pointer
Also removed useless test (since unsigned can't be under zero..)


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


Former-commit-id: d845b1405294dd3aa134d392585069bbb28a77a3
2014-04-25 12:38:53 +02:00
Lynix 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