Commit Graph

540 Commits

Author SHA1 Message Date
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