Commit Graph

283 Commits

Author SHA1 Message Date
Lynix 98aa804de5 Flipped texture coordinates
Nazara now use a top-left corner origin for UVs (DirectX-like)


Former-commit-id: 550dd76cf15bc731d1e23060d1af15c3cd5cb4fd
2014-08-25 22:37:36 +02:00
Lynix 6e27acc492 Added Color vertex component
Removed Userdata4 vertex component to keep the count to sixteen


Former-commit-id: b048f11f44528d1cf6657d095768b188217421ba
2014-08-25 20:22:10 +02:00
Lynix fd293f8564 Fixed missing include
Thanks to lepiaff

Former-commit-id: 458060b52bbc74f632bfa8bef643d22e780a4a8f
2014-08-23 22:04:48 +02:00
Lynix 0d69267992 Added Image::LoadArrayFrom* (convert an atlas to an array)
Also added Texture::LoadArrayFrom* shortcuts


Former-commit-id: f3cde12d5b634c75de8745fa800c30749e0fe662
2014-08-18 18:13:30 +02:00
Lynix 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 df44d799c8 Added [Index|Vertex]Buffer easy constructor
Former-commit-id: 4536af8c833c15b49876c773defd3475a561df4b
2014-08-18 15:39:44 +02:00
Lynix ce01892482 Fixed missing include
Former-commit-id: 2adfb798af325a6c56244a3218072be74be237fb
2014-08-05 09:41:22 +02:00
Lynix 7a2a10b390 Added VertexMapper constructor
Removed useless headers


Former-commit-id: e8925f48eec9c52dc4f2ad7bf6a61deb755bc0ee
2014-08-03 20:58:09 +02:00
Lynix 0415f32b86 Added some comments
Former-commit-id: 42fb1dd19abec2befd7cb065f794e4b765d1411e
2014-08-03 20:57:24 +02:00
Lynix 9e04e8a0e4 Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
2014-07-15 00:59:02 +02:00
Lynix 7a6195991c Added Quaternion component type
Not compatible with Vertex Declaration though


Former-commit-id: 3174553981ab23fe59ed616c2ce1a27bf7db0108
2014-07-13 09:29:12 +02:00
Lynix 7d5876d505 Updated VertexStruct
Former-commit-id: 988df22928da5cce6ab5c62f3e3f4d75a8cee57b
2014-07-13 09:28:15 +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 d84c2e040c Removed Identity test in TransformVertices
Former-commit-id: a9b3fc4ddd7af762e063f0faae3b0245e24f4e18
2014-07-08 11:56:47 +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 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 0ebf993ed8 Added UTILITY_SKINNING_MAX_WEIGHTS
Hopefully fixing compilation errors


Former-commit-id: 503c5c53a6fff9eb62e0037253fe4b54a90b806a
2014-07-08 10:59:42 +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 c882de1a6f Made IndexIterator::operator[+|-] const
Former-commit-id: 5008803eaad4bb514ad85d1ae92ac2c624fa84a3
2014-07-07 12:08: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 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 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 42f5b501f5 Alphabetical commit
Former-commit-id: 4ee6e29bfc574b670ed583a95990aaa8954fc8cb
2014-05-28 01:12:14 +02:00
Lynix d09f6def2b Added MeshData struct
Former-commit-id: 98c7124043a57f9e0172c2db5e363cba598b7daa
2014-05-28 00:54:30 +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 c45e22ff7d Updated comments
Former-commit-id: 66e035deb3f7f549257f5b04c327396b88c94363
2014-04-20 22:30:55 +02:00
Lynix ff2bf98623 Made use of std::function
Former-commit-id: 17e7ebe528071c6399383089ac1c0d089faccc34
2014-04-20 14:06:29 +02: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 86bdab9055 Big UberShader update
-Added GRAPHICS_MAX_LIGHTPERPASS macro
-Added glGetActiveUniform OpenGL function
-Added (Uber)ShaderLibrary
-Added (Uber)ShaderName parameter to models
-Changed uniform system
-Fixed Node copying
-Moved Material class to Graphics module
-Optimized lights
-Remade Shader class
-Renamed Node::Invalidate to Node::InvalidateNode
-Renamed ShaderProgram to Shader


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

Thank you all for supporting my project !
-Lynix


Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
2014-01-12 20:16:21 +01:00
Lynix 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 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 55aed0ec68 Rewrote Task Scheduler
Better and faster implementation


Former-commit-id: d765415ca0576cd843480292e30c2d7bafa7f66a
2013-11-30 13:48:01 +01:00
Lynix 2fd86dc406 Added texture rect parameter to primitive generator
Former-commit-id: 5efc0fd1bcc2aad9cd4b75ff9fb8b29d84bfd363
2013-09-21 09:05:37 +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 df8449c13e Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
2013-08-28 03:05:46 +02:00
Lynix a6f26ff336 Added Window::OnWindowResized event
Former-commit-id: 61262182892d2dae3defb239e751cd4b996a5ad6
2013-08-21 18:48:15 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +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 4352083c4b Added ShaderManager (Experimental)
Former-commit-id: 327e373f2b932e31184e88c5f29bd5bd8fa3ba46
2013-07-15 00:23:04 +02:00
Lynix afbd002234 Minor changes
Former-commit-id: c66ee9a05270965921c48ab7b9faf3033a59ce20
2013-07-10 21:10:53 +02:00
Lynix 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +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 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +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 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 f74f9e964e Replaced Mesh::Build by BuildSubMesh(es)
Former-commit-id: c5b034aa764cdda0ea0c48182f2562968a10c226
2013-06-07 12:22:43 +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 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 714e3e01bc Added mesh generator functions
Added Mesh::Build


Former-commit-id: dcfc6587b67ab4ec350ab7ca04ae7f45475f6b1b
2013-05-30 13:25:45 +02:00
Lynix ac9e200e83 Merge remote-tracking branch 'origin/Graphics-update'
Former-commit-id: 6050b694c2c97ec65e7573d729985e5b7aacec84
2013-05-30 13:17:23 +02:00
Lynix 355d52324a Fixed licence text
Former-commit-id: c4f7c3c0fffc0449ebf0a405632877d902c3da62
2013-05-29 01:35:21 +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 3ff5761703 Fixed missing headers
Former-commit-id: 85c27f12d393c087a455433b2bf7298a25f13b44
2013-05-21 14:00:23 +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 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52: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 7908839785 Added Window::GetStyle()
Useful with external windows


Former-commit-id: 62974c8cdfb6919bc1e85507cc8adc8101daba1a
2013-05-01 01:36:13 +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 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 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 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 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 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 5390bd49f0 Fixed pixel flipping (ex:horizontal was vertical)
Former-commit-id: 8fb8e6949ae1d2c3d53e42b979f1716e25d3bba9
2013-03-22 11:14:11 +01:00
Lynix ea75b8ece5 Added some comments
Former-commit-id: 4710c355d4106191419441b4fb49370dc9f04ec2
2013-03-21 22:55:34 +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 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 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 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 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 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +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 60d41f3c4b Moved AxisAlignedBox::GetCorner to Cube
Former-commit-id: 59509594e6cda19089b93efd8dc77ab7bd20250c
2013-02-17 00:51:16 +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 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 be7afed144 Fixed BufferMapper::Unmap crash when called twice
Former-commit-id: aaf7ead6e93c74c79d6d3e6c3cb743030634eacd
2013-01-04 16:29:53 +01:00
Lynix d4030f666b Added TriangleIterator (experimental)
Former-commit-id: b94f4d4a26a92f4acecf4c53291db80756feb289
2013-01-04 16:27:22 +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 ef0dd580f5 Fixed (Index|Vertex)Mapper header guards
Former-commit-id: e304886a8b439007ded9dc5af2542910f742ec39
2013-01-03 22:04:06 +01:00
Lynix 837f0b52a3 Fixed BufferMapper crash when buffer is nullptr
Former-commit-id: 4f77a158cf93a4d7acbce50ac0454c38ea6cf412
2013-01-03 22:03:46 +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 438d509130 Added VertexMapper
Former-commit-id: 26765f92782b61443544744ac145ccd02a8ed2b0
2013-01-03 19:39:52 +01:00
Lynix db86cc4dc3 Added BufferMapper class
Used to map/unmap a buffer automatically and provide a RAII
exception-safe class


Former-commit-id: 2a4fd2e19ce3531639a86520876a3615846b27f4
2013-01-03 16:24:59 +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 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 24720d7df1 Moved static function prototype
Former-commit-id: f5be3289558e3285f14216428221df0fed2e4d5a
2012-12-19 15:02:22 +01:00
Lynix 37d6b71036 Fixed mesh animating modifying template skeleton
Former-commit-id: d70bd2ed7c8a38f879641a4b22be4876f6825edb
2012-12-09 01:45:34 +01:00
Lynix 7e533209dc Added initial states to node
Former-commit-id: 2127584e3432c16841817632522ea3bb82c7a786
2012-12-08 22:56:22 +01:00
Lynix 9e24a6b7b2 Added warning to an unusable option
Former-commit-id: a4d45b29970085996f417313d4c7df84f0ca100b
2012-12-03 23:39:49 +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 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 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 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