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
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
da2963e1c1
Removed unused forward declaration
...
Former-commit-id: e32abcef8cf0314a4c020a1b3e6c2f36c6ce9e30
2012-11-24 17:40:28 +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
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
Lynix
9199e60436
Added implicit conversion from AABB to String
...
Former-commit-id: c41510f4e0527a174d4acb5f8f26f60f4984ce15
2012-11-02 21:50:33 +01:00
Lynix
3a9e8850c0
Added Keyboard::GetKeyName (experimental)
...
Former-commit-id: a937b98ceeed3cb7c64bf6c1f544bb7021ad01bd
2012-10-26 14:09:09 +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
8d057fb3b1
Renamed GetBPP to GetBytesPerPixel
...
Also added GetBitsPerPixel
Former-commit-id: 9cc1df58133c538b1dc74215a9022d13dfd9d7f6
2012-09-30 23:11:00 +02:00
Lynix
a73cd1374a
Normalized line ending
...
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00