Commit Graph

470 Commits

Author SHA1 Message Date
Lynix e76b57e120 Fixed Image level computation
Array depth will no longer be taked in consideration when computing
level count


Former-commit-id: 93bf114127b5e252c3f8a8cbf938fcd09534a9ca
2014-08-18 17:19:09 +02:00
Lynix f56e0504e6 Buffer, [Render]Window now always throw on error
Former-commit-id: a739cd4c7d96e7cf497338c525e9ab1b5d6a844a
2014-08-18 15:45:37 +02:00
Lynix 34af3c9bc9 [Index|Vertex]Buffer constructor now throw an exception on error
As it should do anyway


Former-commit-id: af4589424c0009dfc40ebf5ae57172fb5df77dc0
2014-08-18 15:40:54 +02:00
Lynix df44d799c8 Added [Index|Vertex]Buffer easy constructor
Former-commit-id: 4536af8c833c15b49876c773defd3475a561df4b
2014-08-18 15:39:44 +02:00
Lynix f936dac6ad Fixed a terrible mistake in [Index|Vertex]Buffer::Reset
Former-commit-id: 97daa00a60615e88fb8d015bd02281713c61807b
2014-08-18 15:14:29 +02:00
Lynix 7a2a10b390 Added VertexMapper constructor
Removed useless headers


Former-commit-id: e8925f48eec9c52dc4f2ad7bf6a61deb755bc0ee
2014-08-03 20:58:09 +02:00
Lynix 49b19cd6d1 Fixed missing error checking
Former-commit-id: 45c849fd91d2072a2dc0d87394ddeb56816af2f9
2014-08-02 21:30:39 +02:00
Lynix 60d5c09c18 Renamed Basic.hpp to Algorithm.hpp
Former-commit-id: ba2858d26fb55069313fafc3e4464dc2e9224b7d
2014-07-28 15:18:39 +02:00
Lynix 095a44e9b1 Improved MD5 loaders code
Fixed missing return


Former-commit-id: b5fb298ab8b147bbfda07ffb2090d248156b96c7
2014-07-28 12:25:59 +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 0af8bc4829 Fixed build error
Former-commit-id: ace4f8efc3416aef185a3b95bac405ba8bb5a993
2014-07-13 17:09:39 +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
Lynix b8ccbf4092 Fixed missing commit
Former-commit-id: a46cc95a9f70415f4ebfbb6e12b3a4bf6ba90eb9
2014-07-13 16:25:03 +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 27aea8ae2a Fixed VertexDeclaration copy constructor
Former-commit-id: 54bd378364c987c975ca2e83187b3559f4b9d92c
2014-07-11 10:23:55 +02:00
Lynix b54be6e25f Renamed AttributeUsage and AttributeType
... to VertexComponent and ComponentType.

-Renderer:
Renamed IsVertexAttributeSupported static method to
IsComponentTypeSupported

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

-VertexMapper:
Renamed GetAttributePtr method to GetComponentPtr

Former-commit-id: 7115856e1d389610c35b26f63af5d93a5ad5c690
2014-07-10 18:31:56 +02:00
Lynix 0e791ebb19 Removed useless line
Former-commit-id: 3cab7b4c8f170b8bd2d648610b05b3377817ab86
2014-07-10 10:01:11 +02:00
Lynix b3c0168e6a Fixed code
Former-commit-id: 7fbf14a6a976b5f560e3ce77d69c75d7661b414a
2014-07-08 16:15:24 +02:00
Lynix c79047bd16 Improved box generation speed
Former-commit-id: a76d97becdd8e41146a01c9970b358eaf6096623
2014-07-08 11:56:27 +02:00
Lynix f19b89f947 Updated Skinning code
Former-commit-id: ae608042061847b2f710abce8101eb008ef2a661
2014-07-08 11:31:14 +02:00
Lynix d3c3ad5bb8 Improved code
Former-commit-id: 31d737ae9d45a14a59b85118b9797565610866ff
2014-07-08 11:29:30 +02:00
Lynix 18849e7d21 Reworked SubMesh methods
Former-commit-id: daff498f907bb28fdc9c7997c0ba602d640964c3
2014-07-08 11:28:01 +02:00
Lynix 5c2ae93d0b Reworked TriangleIterator
Will now output vertex indices instead of vertex data (making it way
more useful)


Former-commit-id: c82d61ca0ac3f2908d57e167dade74af42282b06
2014-07-08 11:22:32 +02:00
Lynix 70e1327071 Reworked VertexMapper to make it way more generic
Will work with any attribute and vertex declaration


Former-commit-id: ca99734bd8a9c3e57c99b1cc338f03e79dda55f6
2014-07-08 11:21:41 +02:00
Lynix af1d2d9146 Reworked SkeletalMesh class
It now uses a VertexBuffer


Former-commit-id: 81d5db90d9eb8a097342a1ae613468edcae730a6
2014-07-08 11:18:09 +02:00
Lynix d636174c04 Added SkeletalMeshVertex struct
Alias of VertexStruct_XYZ_Normal_UV_Tangent_Skinning


Former-commit-id: 1bec60d399dd3293aebb7a7b84370ff33e8b85dd
2014-07-08 11:13:07 +02:00
Lynix 8ab69fa3ab Improved VertexDeclaration class
Added AttributeUsage_Unused
Improved code and error handling


Former-commit-id: bd0f3755867d38e0f03b282970031fbadc10213e
2014-07-08 11:11:11 +02:00
Lynix 9969d5f5f3 Removed UTILITY_MULTITHREADED_SKINNING config
Useless since SkinningManager is now handling this at runtime


Former-commit-id: 4a8b2d08de2f5c367821786d2cdff5dd45daadef
2014-07-08 10:58:58 +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 53e5944b56 Fixed build error in debug mode
Former-commit-id: 8992ced076980cf0101eb2c62923521e1c975763
2014-06-27 21:18:51 +02:00
Lynix 6e936b6120 Fixed Image::GetPixels returning wrong pointer when level is over 0
Former-commit-id: c54b77b3b7aee5ee9aeff9a022e94f33f4b45453
2014-06-27 21:18:22 +02:00
Lynix b70f693b8c Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: 85e5af81ed3381af19e87c6ca0ee14e79955e563
2014-06-24 12:56:10 +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 81672a5ff6 Clarified source code
Former-commit-id: 669b6c52c05d87ff8e84d9c1148bc649431cc724
2014-06-18 17:39:16 +02:00
Lynix d81268f204 Skeleton class now notify modifications
Former-commit-id: e796d1ea36e4214e31381a10e4bc79eaf1806d28
2014-05-28 00:27:43 +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 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 9b74459ea8 Updated comments
Former-commit-id: 77b83bdf6f52325efdc3e3b9a1d2743124426531
2014-04-20 22:34:10 +02:00
Lynix c45e22ff7d Updated comments
Former-commit-id: 66e035deb3f7f549257f5b04c327396b88c94363
2014-04-20 22:30:55 +02:00
Lynix 8c6c58c677 Improved MD2, MD5 and PCX loader code
Former-commit-id: ab715a3d52030f1e514c1b0d250b8e6cb3883ad5
2014-04-12 14:09:20 +02:00
Lynix 7196d8399f Made use of constexpr keyword
Former-commit-id: 79bc50ffaa21947dacd18578a34f6be65285821b
2014-04-02 01:02:47 +02:00
Lynix 5018787e3e Reworked InputImpl::IsMouseButtonPressed Windows code
Former-commit-id: 216192b459f4b0ce6dcceb06d954eb883ced2410
2014-03-01 12:23:17 +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 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 69479de643 Added center mesh parameter
Former-commit-id: e010a81e3f00ca6091e438d405e3e6ca14938b8f
2013-12-20 20:03:18 +01:00
Lynix 3c96d8a1a1 Added Keyboard::Decimal key (Numpad .)
Former-commit-id: ae01476de199e22d080508e88f2625c2f0332002
2013-12-13 22:07:03 +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 55aed0ec68 Rewrote Task Scheduler
Better and faster implementation


Former-commit-id: d765415ca0576cd843480292e30c2d7bafa7f66a
2013-11-30 13:48:01 +01:00
Lynix 5eeb409484 Updated comment
Former-commit-id: 09c999fca26df0d9656e1ae0edf369e10a6855e8
2013-11-30 13:00:16 +01:00
Lynix 14eda38cac Made static_assert useful
Former-commit-id: 135783fe3ee3f5304309dd6948f0a83a349e62b2
2013-10-09 10:14:14 +02:00
Lynix 282291ffad Fixed error message
Former-commit-id: e75016a246fdc912575cd82e3ac93b9e4e952e20
2013-10-09 10:14:13 +02:00
Lynix a410e8856a Improved Error system
Former-commit-id: ddd08841d30575713f4a28ac02566f92791e5539
2013-10-09 10:14:09 +02:00
Lynix 05712da240 Fixed MD2 translation
Former-commit-id: dfae1a1d0588c41fb647580623af7a69d367a01e
2013-09-23 00:25:11 +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 bed20692a6 Fixed OnResourceDestroy callback not called by the destructor
Former-commit-id: 8b961101f88343ddd3bb382d2c333052efb03164
2013-09-03 13:57:32 +02:00
Lynix 3bca9803ca Fixed order of rotation
Former-commit-id: 1b7b714192fdd4a4ad54fbd6e79f4570b0f584e0
2013-08-23 22:04:18 +02:00
Lynix a6f26ff336 Added Window::OnWindowResized event
Former-commit-id: 61262182892d2dae3defb239e751cd4b996a5ad6
2013-08-21 18:48:15 +02:00
Lynix 1e6fe40707 Optimized WindowImpl::Get[Height|Position|Size|Width]
Former-commit-id: e482fc04a632e5338601627f7dd7c6f0fe18d135
2013-08-21 18:46:29 +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 3569ef531f Added error detection
Former-commit-id: f105f9bb1a31769844076a1053968a047cff89fc
2013-08-16 00:24:16 +02:00
Lynix dc2762aade Fixed Node::OnParenting callback not called
Former-commit-id: a6a88b0edf40910e80fa1c4e23637cd9a42c851e
2013-08-16 00:23:53 +02:00
Lynix d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix 4b1a6cc09e Fixed missing include
Former-commit-id: 9314ba7a7a528875038e119ddd0cbdc849e2eea5
2013-08-09 15:52:25 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix 1ebaf4749c Added static assertions to secure code
Former-commit-id: 207f1135b3b40cee74fbf8ba98e6fb7379ba8c33
2013-08-03 20:58:50 +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 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +02:00
Lynix 7d688ec8c7 Fixed some IndexBuffer generation
Former-commit-id: cb65a63ee0d8193004b264323941a7d1f214a3c4
2013-07-01 18:11:42 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix 57e12a2625 Fixed box generation
Former-commit-id: 99534bcd90ffb81ba362ea2c709d68b643a9bdbb
2013-06-26 18:55:09 +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 9a3616f538 Meshes have at least one material
Former-commit-id: c1b7fc15541e4e7f6a5eb1b25220dee2978fe9c5
2013-06-25 14:50:14 +02:00
Lynix e78db0feca Fixed MD5Anim loaders not being unregistred
Former-commit-id: b9414a479bdb3aff1560c606239bc1ee79c053f9
2013-06-24 00:29:59 +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 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +02:00
Lynix 5e7a6b3a21 Removed thread-safety part of VertexDeclarations
No longer required since atomic integers


Former-commit-id: 7c08391a1feee7858eb800789d7c325d2ad0b211
2013-06-15 16:22:26 +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 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 0612e9bea5 Fixed 4bits pixel format conversion
Former-commit-id: c03823b24da431d9b85ed2aae0e88ee6045036b9
2013-06-09 22:04:25 +02:00
Lynix ca5fb44ecf Really fixed AABBs
Former-commit-id: 003979537f2ea5362849df8a65611739aea6d298
2013-06-09 22:03:42 +02:00
Lynix 0f111c149c Added some comments
Former-commit-id: 35179287da54900b2f5ca5cb9213f3df3c2200ee
2013-06-09 16:26:01 +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 346415e860 Fixed AABBs being larger than mesh/skeleton
When mesh/skeleton was not centered


Former-commit-id: 595b234c20ae0447fe0c2263d4e000d87fea7300
2013-06-09 16:14:51 +02:00
Lynix c76c419867 Cleaned interface
And fixed some VS warnings


Former-commit-id: 8c89fa1d4dc92a362053e4cdeabe20537fcec2a6
2013-06-09 11:25:17 +02:00
Lynix f74f9e964e Replaced Mesh::Build by BuildSubMesh(es)
Former-commit-id: c5b034aa764cdda0ea0c48182f2562968a10c226
2013-06-07 12:22:43 +02:00
Lynix 4f55f37496 Fixed IndexMapper not working in safe mode
Former-commit-id: d85c1336349dea314cd3f59018050c3f8029127d
2013-06-05 19:41:08 +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 146ca80a63 Added index iterators
Former-commit-id: de3ed77ba9e3c48aa68020e23ded679066b9878f
2013-06-05 15:33:43 +02:00
Lynix e480ec5394 Fixed comments
Former-commit-id: f13d1b6e7fa8ba78087172d7def6b19c7cf69973
2013-06-04 14:52:27 +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 7e9dd26991 Fixed Mesh::Build error message
Former-commit-id: 5c5be9325cf4e6c7c180cfdd4a2ff2a03743adb8
2013-06-03 12:57:59 +02:00
Lynix 714e3e01bc Added mesh generator functions
Added Mesh::Build


Former-commit-id: dcfc6587b67ab4ec350ab7ca04ae7f45475f6b1b
2013-05-30 13:25:45 +02:00
Lynix 90bc3c342c Fixed STB loader artefacts
Former-commit-id: df4b7cef68efc9e67b968daaa71f578cea68e061
2013-05-25 10:08:13 +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 50e8ce3658 Fixed delete after new[] (induced by last commit)
Former-commit-id: 44a4af07d5c1e6b28b6351318f3ca919f940f2a9
2013-05-23 02:22:23 +02:00
Lynix 738788b4c3 Made use of smart pointers :)
Former-commit-id: 5380752e0da3f4b958a944e41fcde38722e3c4c2
2013-05-23 02:14:41 +02:00
Lynix a33960c2aa Added static assertions to check on MD2 structs
Former-commit-id: 6318bb363b69bd2e872143fda9eee76e6e1ff995
2013-05-22 01:03:51 +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 f434266a88 Fixed IndexMapper with constant sequential buffer
Former-commit-id: 195d03c1db72edfdfa4d407f7c1adb983bd266c6
2013-05-13 12:53:56 +02:00
Lynix 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52:56 +02:00
Lynix a6cbc5c872 Fixed missing debug tools include
Former-commit-id: b9a53f96e603c057f08e11e17a38d5a8322820c9
2013-05-11 20:15:08 +02:00
Lynix 4d9ba84d03 Added safety range-check to VertexMapper methods
Former-commit-id: 63424008656619b44237f640b2f2bc7a67d70040
2013-05-11 19:08:38 +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 76c19624d8 Made PCX Loader exception-safe
Former-commit-id: aca42c27d8daa6b0c5412bd61c5fad3016bcd6d0
2013-05-03 02:56:04 +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 226d291ea6 Fixed compilation
Former-commit-id: d676846c22d9a6c3efc168e4bb0734e103bdaddc
2013-04-24 12:18:31 +02:00
Lynix 3ac0338285 Fixed node not copying initial values and name
Former-commit-id: c6d9af9a9a3c4b0959be907634fa7db69be72709
2013-04-24 11:49:01 +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 143707bc2e Added extern libraries (Made STB one of them)
Former-commit-id: 0ca555e9f035600924c7c23fff06bc3810051fdf
2013-04-12 15:12:11 +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 f2942e2b3f Fixed Image notified destroy when invalid
Former-commit-id: 5c14f5356809454d15fc3abdcea1111635f2a2cf
2013-04-06 16:31: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 8694f71c2a X::Initialize no longer takes arguments
Former-commit-id: a8233235e89112630f2d31c637723443bd0829a4
2013-04-03 16:41:57 +02:00
Lynix 2f72939ad0 Added [Sub]Mesh::GetTriangleCount()
Former-commit-id: e365bd3aa57d487186a0be5cde1d5b0ba78d740c
2013-04-01 14:33:10 +02:00
Lynix ad978dc85a Moved normal/tangents generation to submeshes
Former-commit-id: d043284a1a5810b429cc76d8bc071010985a523b
2013-03-29 14:48:23 +01:00
Lynix 3255162d3a Fixed IndexMapper bug (with null index buffer)
Former-commit-id: bbec2fddc8f95cca9c62b0f07dd3d115949224c6
2013-03-29 14:44:46 +01:00
Lynix b86332a51b Refactored TriangleIterator/VertexMapper
Former-commit-id: b8d4fc79142b36519ebe1879276415fe30970d3e
2013-03-29 14:42:55 +01:00
Lynix 5464b3e184 Optimized some format conversions
Thanks to kristofjé


Former-commit-id: f7c0e5da41b7b7b4c967d7ae812b6da517761823
2013-03-23 22:50:13 +01:00
Lynix 8f21a75c43 Reworked ResourceLoader
Former-commit-id: 9809e7fcd3657dfe90a0795986d0918f4ae1823c
2013-03-23 22:49: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 d969e2ea3e Fixed resource reference bug
Former-commit-id: ee523acdc69ee00580644290b05e72b75ab6513d
2013-03-15 03:12:28 +01:00
Lynix 6c2fb1eb89 Added ResourceRef (Automatic resource reference)
Former-commit-id: 97a0b2732f4dc443b8e1676e68b33b1b53ddf4fb
2013-03-15 03:09:58 +01:00
Lynix 677536c4b2 Updated some error messages
Thanks to Shade "Hawk eye" Master


Former-commit-id: fb18a5aaa9d368ebec271c9016d4058089cefcf5
2013-03-14 00:19:05 +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 b2318b5261 Tried to fix Windows unicode messages
Former-commit-id: bf4680a4507545d7d91171efd86e6265c07e7343
2013-03-13 17:49:13 +01:00
Lynix c67b0d709f Added protection
Former-commit-id: 1e5f0c1421fda868a3a1ef59a92cc0a2ca2e5c47
2013-03-12 23:35:59 +01:00
Lynix c55a222324 Improved comments
Former-commit-id: b387e7eb487de22cc06a9a526ad974fc0625879d
2013-03-08 12:17:42 +01:00
Lynix dca6b6d41f Added comment
Former-commit-id: 081cceccdcfeb491606c8d7f36810a7374e50ec9
2013-03-08 01:20:50 +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 e26728c424 Removed Keyframe animation type
Former-commit-id: 807c81e9b738dbb443c3101026f7b5bdff32a931
2013-03-05 10:54:58 +01:00
Lynix 636b9d3f50 (Node) Added name getter/setter
Former-commit-id: 56ec0721abfba836a12c8a2de7f7c909f58a6c37
2013-03-02 01:33:58 +01:00
Lynix 8fa54c85a4 Optimized conversion
Former-commit-id: f4c463c1dd42a5f8e90bc7796c88a175ceb2bbef
2013-03-02 00:28:39 +01:00
Lynix 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +01:00
Lynix d0a6a75f14 Fixed Skeleton AABB
Former-commit-id: ac29bc9fd1bdf3d7c0d937460a7d12d61e242f65
2013-03-01 21:28:45 +01:00
Lynix bb4c747e0b Buffer::CopyContent takes now an const buffer
Former-commit-id: c7a44c3198a24a60a26ab3cc04f75f4cea159979
2013-03-01 16:11:39 +01:00
Lynix 1b5215d4c2 Removed AxisAlignedBox (Replaced by BoundingBox)
Former-commit-id: 931dd6710caf49aeaede51efe209d714f080c44b
2013-02-21 18:28:32 +01:00
Lynix add363a290 Moved AxisAlignedBox to mathematic module
Former-commit-id: 2cb5b151941a431b5c12457f0decf7b39195052d
2013-02-19 12:32:11 +01:00
Lynix 8fff32e145 Changed comment
Former-commit-id: 5d7f268bd8f49402f98c426c561d38a50ce4fa34
2013-02-18 04:03:05 +01:00
Lynix 8b192a8cae Fixed AxisAlignedBox::ExtendTo warning
Former-commit-id: 696ce9e1625df33857425e0d758ee135d53c5064
2013-02-18 04:02:54 +01:00
Lynix 857d2dd9ed Replaced std::map with std::unordered_map
Not possible yet with NzString-key map


Former-commit-id: faa628a1c9c10e7bc009bf5a67e112ad5f873bd8
2013-02-17 14:08:12 +01:00
Lynix 60d41f3c4b Moved AxisAlignedBox::GetCorner to Cube
Former-commit-id: 59509594e6cda19089b93efd8dc77ab7bd20250c
2013-02-17 00:51:16 +01:00
Lynix e9615cc07b Fixed AABB not invalidated by Interpolate()
Former-commit-id: a688a7861bedbc3e49af92da8db78b12123276a2
2013-01-31 17:05:44 +01:00
Lynix c87c63c685 Optimized multi-threaded Skinning
Former-commit-id: f11c81767f5979ae834fd841be1cd75f79190940
2013-01-30 01:37:20 +01:00
Lynix afddcd0804 Fixed MD2/MD5 meshs not having normals/tangents
Former-commit-id: 9456620961fc7e75482b4fc29394934a3d695c5e
2013-01-29 02:02:35 +01:00
Lynix fc5b1ade9b Added missing const
Former-commit-id: 354757698554c187792e92f1d471c65b870c74d4
2013-01-29 02:01:54 +01:00
Lynix 3409461c39 SkeletalMesh::Skin now use threads
Former-commit-id: 4b26b3e1950548887f0a7d246864a968688ca0b4
2013-01-29 02:01:28 +01:00
Lynix 85c3224752 Added mesh generation of normals and tangents
Former-commit-id: 42b29acf5701b19156d6966b402baf11c87f3476
2013-01-27 18:39:32 +01:00
Lynix 4a28e42d4d Improved Node interface
Former-commit-id: cbc204748d8cf30771743f26270324dee6ada242
2013-01-12 01:38:58 +01:00
Lynix 38d2a08968 Fixed MD2 leaks
Former-commit-id: 8bf46de1995fef13889c122c38dc59655bf8311f
2013-01-11 14:39:45 +01:00
Lynix 842890e12e Added optional argument to Node::SetParent
Also fixed Set[Rotation|Scale|Translation] within global coordinate
system


Former-commit-id: 7808de7c3044f7b9261b22b7db521aad00d63c9b
2013-01-11 14:28:00 +01:00
Lynix 45bf5f1f43 Renamed VertexMapper::GetTotalVertexCount
To GetVertexCount


Former-commit-id: fa876c5499664bce31d438ef596373d908c6977c
2013-01-04 16:33:26 +01:00
Lynix 5eac4de406 Added TriangleIterator::Unmap()
Former-commit-id: 8ef858c5374c6701c087d0f4b1644bb6704e1131
2013-01-04 16:32:14 +01:00
Lynix d4030f666b Added TriangleIterator (experimental)
Former-commit-id: b94f4d4a26a92f4acecf4c53291db80756feb289
2013-01-04 16:27:22 +01:00
Lynix cd80905c0f Removed resolved Fixme comment
Former-commit-id: f65bcdeb368f3b3de6fef0f1d378945c108860aa
2013-01-04 02:38:53 +01:00
Lynix 24af375694 Fixed static MD2 mesh loader (Close #4)
Former-commit-id: a894211c7222f64b47efc3d31cb90fc86f944683
2013-01-04 02:34:16 +01:00
Lynix ef5f4617c8 Added IndexMapper::GetBuffer()
Former-commit-id: 5b203ea56f2201f5ff3c6bbdbc7a6573ed59f136
2013-01-03 23:28:41 +01:00
Lynix 23edd637dd Fixed IndexMapper const constructor
Former-commit-id: c8f46bc8b29ff6bcfdbc7fa9b0a01eef68d07a7e
2013-01-03 22:21:15 +01:00
Lynix ab93fb802b Added support to sequential index buffers
Former-commit-id: 68a566ab9bfe0490ba25aeb1c7486722b4a4ed01
2013-01-03 22:08:22 +01:00
Lynix f43137dc4e Made use of IndexMapper
Former-commit-id: 6496ac4a5a5393363212ee6d452b2ba488aa3354
2013-01-03 21:28:54 +01:00
Lynix 9c76c78c0c Added IndexMapper
Former-commit-id: 994b30f41161855827d920b6c128a5bbd480929b
2013-01-03 21:26:51 +01:00
Lynix 6fb221b479 Added VertexMapper::Unmap
Former-commit-id: b4210cfd864a527fb63ac0b1976acf2c3c198274
2013-01-03 21:25:29 +01:00
Lynix 16cec38f9c Made use of BufferMapper
Former-commit-id: 2b24f9d6cabf9fbf639b2c5e9319aaa304fe809a
2013-01-03 19:42:25 +01:00
Lynix 438d509130 Added VertexMapper
Former-commit-id: 26765f92782b61443544744ac145ccd02a8ed2b0
2013-01-03 19:39:52 +01:00
Lynix 81e95ecddf Improved KeyframeMesh AABB support
When you use KeyframeMesh::SetPosition(frame, vertex, pos), it will now
invalidate the frame AABB.
Finish() method will now generate automatically invalid AABBs before
interpolating


Former-commit-id: aa4695cee635da73e4a3b70ce22e83b1c3f443f9
2013-01-03 15:10:06 +01:00
Lynix c10a4eb94c Fixed keyframe normal/tangent interpolation
Former-commit-id: d4ee3e508945ff3ca85e435a24e520ccce1ebeb3
2013-01-03 12:31:01 +01:00
Lynix 1e5c34d53a Constant buffer mapping returns non-const pointer
Former-commit-id: 37438d554d8733350fcecbbfc4ba0dad46256f73
2013-01-03 03:50:18 +01:00
Lynix c998a5c457 Added KeyframeMesh::Get/Set vertex components
Former-commit-id: ff51b02dfd5f0675c33c01f39418312834c5d8a9
2013-01-02 21:51:03 +01:00
Lynix 520643140c Fixed last commit
Former-commit-id: 5034392dbdab232be71f8537638ed75c1c81eab8
2013-01-02 13:41:26 +01:00
Lynix 02f5385eaf Buffer::Unmap no longer return boolean
Made no sense: What do you want to do when your buffer doesn't unmap ?
Tt now throw a warning by itself in case of failure


Former-commit-id: f776af16787316bbe1d55686a1db2c2e0f79d210
2012-12-31 11:30:19 +01:00
Lynix c65f0e9f7e Removed Keyframe mesh lock system (useless)
Former-commit-id: b7e661274510836cb46eb98b6b9e7135d21a4820
2012-12-31 11:20:14 +01:00
Lynix c73d10ab29 Added non-constant access to vertex buffer
Former-commit-id: c0fea611caf6fb48bd0b2ed56897c173f7acad41
2012-12-31 11:14:40 +01:00
Lynix 6fefa3fdd2 Added read-only const access to buffers
Former-commit-id: 555f079e277869bc8f32732f24dfee704e17f324
2012-12-31 11:12:45 +01:00
Lynix 11fccc4c4b Fixed MD2 animation
Former-commit-id: 3ba7d63f9518c64677e575e13d8a42b459c5151f
2012-12-29 01:37:44 +01:00
Lynix 49f37e17ae AxisAlignedBox::Transform now apply translation
Added an optionnal argument to prevent translation from being applied
Updated demo


Former-commit-id: c56cb04733379eb6dda98b150931fb0e496ef889
2012-12-28 22:57:40 +01:00
Lynix 31a04abcaa Fixed potential bug with fullscreen window style
Former-commit-id: 005102ed9fb53aba36a074deaa3245da3d479d06
2012-12-28 21:33:50 +01:00
Lynix c4a5d32f28 Fixed method alphabetic order
Former-commit-id: b37a42cb64fa729888ad50957fc8c73b17ef9620
2012-12-28 19:26:00 +01:00
Lynix 1a4400facf Fixed module initialisation failure bug
If a module initialisation failed, then it resources may or may not be
freed.
This is fixed.


Former-commit-id: 029e0844e392685a31b3afc02c5bf772e015a372
2012-12-25 01:56:49 +01:00
Lynix d5dc07f3ef Fixed possible bug with MD5 bind-pose translation
Former-commit-id: 3ef6eba4944db249a8cbb3d6fb5dad2abe87fd6a
2012-12-09 20:23:24 +01:00
Lynix 70b1047f72 Used smart pointers to handle new-allocated array
Former-commit-id: b346e191c56655dd1f3d7fd46208d879bccfcf9d
2012-12-09 18:39:29 +01:00
Lynix 8c37c92c16 Fixed MD5 loader with animated parameter to false
Former-commit-id: f8d80e0f3f70f92be2898c29f00dd4abcaeb18a1
2012-12-09 18:37:57 +01:00
Lynix 18d3b67364 Fixed error message missing right parenthese
Former-commit-id: a054d8e328dbe3a43c2f8615a52eeb79a1fe2031
2012-12-09 18:36:37 +01:00
Lynix 273c0b1a36 Made skinning vertex access clearer
Former-commit-id: 682cb547b3492f0cb9e446721c69b7c5acb748b5
2012-12-09 18:35:54 +01:00
Lynix 5bce3e26a2 Fixed StaticMesh not correctly referencing buffer
Former-commit-id: a63de7e4ec46d8237761a58ffcc7e6cafc30d6b5
2012-12-09 18:35:18 +01:00
Lynix 37d6b71036 Fixed mesh animating modifying template skeleton
Former-commit-id: d70bd2ed7c8a38f879641a4b22be4876f6825edb
2012-12-09 01:45:34 +01:00
Lynix b652bada13 Fixed copying a skeleton not copying hierarchy
Former-commit-id: 54a556f1c6c336ba2397b60dfaa2b316df11d59b
2012-12-09 01:44:40 +01:00
Lynix 883c5fa0da Fixed node derived formula
Former-commit-id: da4c46e3086640147b3503928ef05e03f3c8e4cb
2012-12-09 01:44:18 +01:00
Lynix a15a54494f Fixed the second last commit
Former-commit-id: 46d94a0b3c9e85d9b4dacaa6c360102e8a4448a4
2012-12-08 22:59:40 +01:00
Lynix ad86c4d6fb Fixed SetTranslation not invalidating node
Former-commit-id: f4f8f39e5c3d919d016b15b276b38c20b5e84205
2012-12-08 22:57:25 +01:00
Lynix 7e533209dc Added initial states to node
Former-commit-id: 2127584e3432c16841817632522ea3bb82c7a786
2012-12-08 22:56:22 +01:00
Lynix dc9f202155 Fixed calling Uninitialize when not Initialized
Former-commit-id: 1d0bb01f881be76e163a5ac27c91d7fb6a873bb7
2012-12-08 21:51:43 +01:00
Lynix 2e40ad832e SubMeshs are now valid even when not animated
Former-commit-id: 5bd6289d30f4f6ffa1fcaf8d946aa9aba9cf7131
2012-12-03 16:24:47 +01:00
Lynix 817119933c Fixed SkeletalMesh AABB
Former-commit-id: 2b23660f80f3069581246af99c73fda45ee4d3d4
2012-12-03 15:06:10 +01:00
Lynix cc45746799 Improved keyframe mesh interface
Also improved animation performance by using a discard-and-write lock
when interpoling.


Former-commit-id: 277b5ad8f148ab73b99edf83cf8c6e5d0e6dfc82
2012-12-03 14:49:56 +01:00
Lynix b06acfcffd Index buffer no longer permit 8 bits index size
Modern graphics cards don't like 8 bits index size, so I introduced
"Large indices" option, it means 32 bits indices when used otherwise the
index size is 16 bits


Former-commit-id: 213902de6704ceef16c6ea311ba0c6c5d2f6e665
2012-12-02 17:01:02 +01:00
Lynix a536bf467b Removed unused includes
Former-commit-id: 9088500a08f62107603127013a9f8d8a7c86cf8a
2012-11-29 17:29:45 +01:00
Lynix cbc98ce3f0 Made NzThread interface mimic std::thread one
Hopefully fixed the threaded window bug


Former-commit-id: 6dc3ca2a8bee1da591a9b97d202d4b73b10be8eb
2012-11-29 16:51:01 +01:00
Lynix a2eb55e74a Fixed repo
Former-commit-id: 5992da5ec759f05dabf82009e660ec58eed96365
2012-11-29 10:15:10 +01:00
Lynix 0a2e19fa22 Merge remote-tracking branch 'origin/3D-Engine'
Former-commit-id: 1781615fc780accbe6c11d55fd896038d97ffec9
2012-11-29 10:11:30 +01:00
Lynix 2e26d52248 Meshes no longer retains an animation pointer
Former-commit-id: da4d93b815c46284a8977d7fb142201dc23fff61
2012-11-27 23:33:11 +01:00
Lynix c019d02b91 Fixed compilation error
Former-commit-id: 16a0469bb1adcd5d0c31995db6e9bcdef08c785e
2012-11-27 23:30:53 +01:00
Lynix 7ad24eff08 Mesh no longer contains the animation
Former-commit-id: 5dfcfe50f9c82310303120031a0def594fafd4f7
2012-11-27 22:02:45 +01:00
Lynix 53730b532d Optimized Node::GetTransformMatrix
Former-commit-id: b7eadb5a47ec6c2a9d24b19f45058e1ce5d0be49
2012-11-27 21:45:21 +01:00
Lynix a1a1a3da0c Replaced mesh material system
Former-commit-id: 1a3f2e0a80211a17838f29e5c0b0fc9def89d30a
2012-11-27 21:45:00 +01:00
Lynix 5d9bf5ed7b (SubMesh) Renamed GetSkinIndex to GetMaterialIndex
Former-commit-id: 7d28e3baa39342234495c9637e7e4886ffdc4b5a
2012-11-27 21:44:32 +01:00
Lynix 18baa6b8c1 Fixed typo
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix 20be46e866 Made mesh animating/skinning constant
Since it doesn't change any of the mesh proprieties


Former-commit-id: 47eb21f234570d6ffe3af542029f2086744944b0
2012-11-23 21:16:14 +01:00
Lynix f4591bd331 Removed debug skinning clock
Former-commit-id: ee7dceb2863943952c9c0175fb3a32b136b9f84b
2012-11-22 12:11:26 +01:00
Lynix 70ef422950 Big skeletal animation update
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp

-Animation:
Renamed Create to Create[Keyframe|Skeletal]

-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method

-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method

-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory

-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object

-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function

-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material

-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise

-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function

-Quaternion:
Added ComputeW method
Added Conjugate method

-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration

-RenderWindow:
Made CopyTo[Image|Texture] method constant

-Resource
Fixed RemoveResourceListener crash

-ResourceLoader:
Loaders are now used in a LIFO context

-Stream:
Renamed GetLine method to ReadLine

-String:
Fixed Simplified

-Utility module
Added configuration define for strict resource parsing

-VertexBuffer
Now takes a VertexDeclaration pointer

-VertexDeclaration
No longer throw an error when getting a non-existing element


Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Jérôme Leclercq 7cc520be95 Random changes without any meaning
Former-commit-id: bcae279b389ea9c33afc27ac7f6eded6305fa134
2012-11-08 14:24:00 +01:00
Lynix 9199e60436 Added implicit conversion from AABB to String
Former-commit-id: c41510f4e0527a174d4acb5f8f26f60f4984ce15
2012-11-02 21:50:33 +01:00
Lynix 93a1738c55 Optimized VertexDeclaration::GetElement
Former-commit-id: a56498837ae2f6101e0641aab23b2d1d0f9130f3
2012-10-29 10:00:57 +01:00
Lynix 8132812c23 Interpolation factor is now only checked in debug
Former-commit-id: b5cf2b63740a0827403cac7843aca4b820b7687f
2012-10-29 09:59:55 +01:00
Lynix a608aa0e2a Cleaning loader code
Former-commit-id: a34fae25b7e70e1168fa6bfa089d8de991184036
2012-10-29 09:59:18 +01:00
Lynix 3a9e8850c0 Added Keyboard::GetKeyName (experimental)
Former-commit-id: a937b98ceeed3cb7c64bf6c1f544bb7021ad01bd
2012-10-26 14:09:09 +02:00
Lynix 5f95dbe82e (NzImage) Fixed Convert crash and optimized Fill
Former-commit-id: 674acfd1e8e6fa28a8657ba45adedca311f54949
2012-10-24 18:41:13 +02:00
Lynix 5bbc8d0fa4 Fixed debug-mode compilation
-Also added multiplication operator and equality comparison to Cube and
Rect


Former-commit-id: b4194a50fbe3025d3be1fc25d48a85d5a05fc5ac
2012-10-08 23:08:46 +02:00
Lynix 10fc386865 Added VertexDeclaration::HasElement
Former-commit-id: 30dccfba56bba0e56c08da79c3fde3bdf94119cb
2012-10-04 09:33:54 +02:00
Lynix 7bab3d9443 Cleaned code
Former-commit-id: 65b235b0c8326e060ec7032bb2a153e22518a25a
2012-10-04 09:32:55 +02:00
Lynix 8d057fb3b1 Renamed GetBPP to GetBytesPerPixel
Also added GetBitsPerPixel


Former-commit-id: 9cc1df58133c538b1dc74215a9022d13dfd9d7f6
2012-09-30 23:11:00 +02:00
Lynix 49ac00f28d Fixed error message
Former-commit-id: f07c8fe20e7e11d49da8c114cdf518bf04484855
2012-09-23 18:07:31 +02:00
Lynix a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00
DigitalPulseSoftware 4b3772e2d8 Fixed typo
Former-commit-id: 440a4d3939cfee80ba4224dc8ed90084adaf0380
2012-09-21 14:20:38 +02:00
Jérôme Leclercq 84509ecc16 Fixed useless headers includes
Former-commit-id: 17429fb0c822b6044c7a990b85e05ca37dcd0b90
2012-09-21 12:41:48 +02:00
Jérôme Leclercq cd5a1b7a5e Added RenderTextures (And many others things)
-Added Forward, left and up vector (Vector3)
-Added Matrix4::ConcatenateAffine shortcut
-Added Quaternion::GetInverse() and Quaternion::Inverse()
-Added Resource listeners
-Added Depth and stencil pixel formats
-All enums now have an ending "max" entry
-Animation/Mesh::Add[Sequence/Skin/SubMesh] now returns a boolean
-Contexts are now resources
-Enhanced AnimatedMesh demo
-Fixed MD2 facing
-Fixed Vector3::CrossProduct
-Made Resource thread-safe
-Made OpenGL translation table global
-Many bugfixes
-MLT will now write malloc failure to the log
-Most of the strcpy were replaced with faster memcpy
-Occlusion queries availability is now always tested
-OpenGL-related includes now requires NAZARA_RENDERER_OPENGL to be
defined to have any effect
-Pixel formats now have a type
-Renamed RenderTarget::IsValid to IsRenderable
-Renamed Quaternion::GetNormalized() to GetNormal()
-Renamed Texture::Bind() to Prepare()
-Renamed VectorX::Make[Ceil|Floor] to Maximize/Minimize
-Removed MATH_MATRIX_COLUMN_MAJOR option (all matrices are column-major)
-Removed RENDERER_ACTIVATE_RENDERWINDOW_ON_CREATION option (Render
windows are active upon their creation)


Former-commit-id: 0d1da1e32c156a958221edf04a5315c75b354450
2012-09-20 22:07:30 +02:00
Lynix 15afde86c8 Rewritted ResourceLoader and moved it to core
Added creation constructor to NzImage
Added member function functor
Added option to build Nazara as one library (instead of many)
Fixed some 2011 copyrights
Made use of "using def = T" C++11 feature instead of some illigible
typedefs
Removed unused premake file
2012-08-18 01:46:01 +02:00
Lynix 5619ddb0b1 Changed all the files encoding to UTF-8
Named modules in licence informations
2012-08-10 03:21:37 +02:00
Lynix f8a0cdad39 Added Windows shortcut to generate CodeLite project
Changed two submesh's error message
Fixed OpenGL.hpp/.cpp spaces for some displayers
OpenGL loads GL_kdr_debug if possible instead of GL_ARB_debug_output
Refactored external includes
2012-08-10 02:03:25 +02:00
Lynix b442ab0bd2 Refactored mathematics module
Added AABBs
Added code examples
Added experimental support for texture arrays (1D/2D)
Added initialisers (new way of initialising modules)
Added global headers (Plus a global header generator script)
Added pattern support for directory
Added support for spinlocks critical section on Windows
Added NzRenderWindow::SetFramerateLimit
Core project now includes Mathematics files
Fixed color implementation using double
Fixed declaration needing renderer include
Fixed MLT not clearing nextFree(File/Line) after Free
Fixed move operators not being noexcept
Fixed thread-safety (Now working correctly - If I'm lucky)
Moved Resource to core
New interface for modules
New interface for the renderer
Put some global functions to anonymous namespace
Removed empty modules
Renamed ThreadCondition to ConditionVariable
Replaced redirect to cerr log option by duplicate to cout
Setting mouse position relative to a window will make this window ignore
the event
Shaders sending methods no longer takes the uniform variable name (it's
using ID instead)
Using new OpenGL 4.3 header
2012-08-08 04:44:17 +02:00
Lynix 06eda4eba9 Added Meshes and Animations (And many more)
Added NzTexture::IsMipmappingSupported
Color::(FromTo)HSV now takes hue and saturation in degrees
Fixed Context::EnsureContext
Fixed COW thread-safety (String, Image, Matrix4)
Fixed Quatenion<T>::operator*(const Vector3<T>&)
Fixed ResourceLoader
Fixed String::Resize with a size of 0
Fixed Texture mipmapping crash
Fixed per-class thread-safety
IndexBuffer and VertexBuffer are now resources
It is now possible to use more than 8 texcoords per shader
Moved all enumerations into separate files (Core/Enums.hpp,
Utility/Enums.hpp, ..)
Removed NzContextParameters::defaultWindow
VertexDeclaration has been rewritten (New interface/COW)
2012-07-13 15:22:14 +02:00
Lynix d97e4a7f43 Fixed cursor change not showing immediatly
Fixed error message when failed to create icon
2012-06-24 15:06:17 +02:00
Lynix bcf36e7a14 Added support for custom cursor/icon 2012-06-24 13:28:24 +02:00