Commit Graph

444 Commits

Author SHA1 Message Date
Lynix 8f21a75c43 Reworked ResourceLoader
Former-commit-id: 9809e7fcd3657dfe90a0795986d0918f4ae1823c
2013-03-23 22:49:06 +01:00
Lynix ea2cc97169 Added Texture backgrounds
Former-commit-id: 8aa98a9b8bee5fbf1b5eefa958a7b9095b784cf5
2013-03-22 11:15:17 +01:00
Lynix 5390bd49f0 Fixed pixel flipping (ex:horizontal was vertical)
Former-commit-id: 8fb8e6949ae1d2c3d53e42b979f1716e25d3bba9
2013-03-22 11:14:11 +01:00
Lynix ccea00b12e Added backgrounds
Former-commit-id: e3959b04a124978c473bd6330047b5fd6ac27b19
2013-03-21 23:02:11 +01:00
Lynix ea75b8ece5 Added some comments
Former-commit-id: 4710c355d4106191419441b4fb49370dc9f04ec2
2013-03-21 22:55:34 +01:00
Lynix ce63985b0e Fixed Drawable destructor
Former-commit-id: 01ff3c3c86dc0bd3f25b51384b0751d3767aa9ba
2013-03-21 22:55:16 +01:00
Lynix 23b760139e Completed Vector3 vectors
Former-commit-id: 73c16102c22fe1d01b9b9411aa3e1bf82949542c
2013-03-21 22:52:19 +01:00
Lynix c7fdf25432 Added Matrix4::GetDeterminantAffine
Former-commit-id: 404098cc552509039c38e7449b167dbab0385008
2013-03-21 18:29:50 +01:00
Lynix 5ac36d99ef Fixed scene visible updatables
Former-commit-id: 9633d7049bbe9d5f6b304ab8e9702fae93540018
2013-03-20 17:07:07 +01:00
Lynix 929c0db82d Added glDrawTexture (NVidia extension)
Former-commit-id: 51d43d7423adeef0f0f0c0de5c633ee3d3b6ce2a
2013-03-20 15:41: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 086408f95f Renamed FillInstancingData to SetInstancingData
Former-commit-id: 081209d333fc8884a453e9052acfaac653d3133b
2013-03-16 01:08:28 +01:00
Lynix 200f46b442 Reworked texture samplers internal
Former-commit-id: d26f8f12ccc1730519c6fa7d4bec725a0396d9f1
2013-03-16 01:07:00 +01:00
Lynix b82cbc074b Optimized ResourceRef assignation
Former-commit-id: 9dfdadb8e34f17c93caabef12f097504c89ee51b
2013-03-16 01:01:16 +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 6b2690ef30 Fixed files encoding not being UTF-8
Also updated copyright texts for some files forgotten in the last commit


Former-commit-id: 79f158a7943c32f76a9a1e80fba109f15a3b7346
2013-03-14 00:14:16 +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 593fec134d Added lights bounding box
Former-commit-id: 9ab45181c8b0586e9d4040d48d756683e88dd8fe
2013-03-13 17:10:58 +01:00
Lynix 1e57c00fa1 Simplified Cube::GetCenter impl
Former-commit-id: 59f3fcb694b5758e726c9fd5884307d80d6d3408
2013-03-13 17:09:54 +01:00
Lynix efd0f5eaf6 Fixed FBO extension not loading on old hardware
Former-commit-id: 5353ce64e5c2508f7cbc624139e4c823c86bf0fc
2013-03-13 00:31:59 +01:00
Lynix d695bb02e8 Changed parameter name (nothing relevant)
Former-commit-id: 3b0355d998300b57ab83562f9b107925e4be6c29
2013-03-12 23:35:37 +01:00
Lynix 79ac20f48a Removed useless comments
Former-commit-id: e780ddc3dd648e45f596b3e6a00ff68481d84e42
2013-03-12 23:31:48 +01:00
Lynix bf3ebde2cd Fixed BoundingBox::operator*=
Former-commit-id: ff998c1f7aa93a7b582b689f6b628663d1e921be
2013-03-12 23:31:36 +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 aa67a52e9c Added glInvalidateBufferData loading
Former-commit-id: faf3a0848548107302ab64f15808212da71d3e64
2013-03-06 22:39:39 +01:00
Lynix a8e1a00158 Fixed spaces (Yes, one more time)
Former-commit-id: 0f1af03c886d76ed1e79db91f47fd9902dc7813a
2013-03-06 22:39:02 +01:00
Lynix 50b1055e78 Fixed spaces
Former-commit-id: c0b17c175a2d0da81d28fd5287b72e8546ce210b
2013-03-06 13:41:58 +01:00
Lynix 2fe693f24d Made scene propagation works with Node class
Former-commit-id: b587ea907f70dc08cd741f64e4e6f3201cd1783e
2013-03-06 13:34:22 +01:00
Lynix f0446d1548 Fixed space
Former-commit-id: e7926f2523e96d5495c8425f7e57b2b599f129e4
2013-03-06 00:32:48 +01:00
Lynix f4a5ddc26b Added reference of Camera::SetTarget
Former-commit-id: 5a3d1f28de326325093d358e32991ce2c404ec84
2013-03-05 15:08:46 +01:00
Lynix 0e49132cd9 Added visibility state to SceneNode
Former-commit-id: 5325e268a4276d6e2e3e72648641ca03225ab4da
2013-03-05 12:09:51 +01:00
Lynix e26728c424 Removed Keyframe animation type
Former-commit-id: 807c81e9b738dbb443c3101026f7b5bdff32a931
2013-03-05 10:54:58 +01:00
Lynix a97da928a2 Merged MeshParameters into ModelParameters
Former-commit-id: 187541bd30255f64758d96b80e6280842699124d
2013-03-05 10:42:18 +01:00
Lynix cdda9706c3 Added target parameter to Camera
Former-commit-id: a0f27d4a37aba8cfc9a2feba23866e95e7e90ea1
2013-03-02 19:09:46 +01:00
Lynix cd48d70844 Made Context/RenderTarget usage constant
Former-commit-id: 07a2655ea642664bc49ca335cf5147ebf9fb9f26
2013-03-02 19:09:13 +01:00
Lynix 636b9d3f50 (Node) Added name getter/setter
Former-commit-id: 56ec0721abfba836a12c8a2de7f7c909f58a6c37
2013-03-02 01:33:58 +01:00
Lynix 2686fe86a0 Regenerated global headers
Former-commit-id: cc09fa7dea265d096fa280a54b4c1f10fc4c37d9
2013-03-02 01:33:24 +01:00
Lynix ab1fc99fcd Big 3D update (WIP)
Former-commit-id: 9f55dae0521bded91640a7ea2d223a49a378c97c
2013-03-02 01:29:44 +01:00
Lynix a20818d66b Added interfaces
Former-commit-id: dfe596f28917dd5358e0bb87269fcfd4efa74f1c
2013-03-02 01:03:20 +01:00
Lynix eda1f5ebab Added 2D module
Former-commit-id: 4e1ad41928e04e9de4b4288b973f37b6eb0755db
2013-03-02 00:28:22 +01:00
Lynix eca2ec3115 Stabilized TaskScheduler (Still buggy)
Former-commit-id: a604c6616065342b21d2c11c27974ec11935a852
2013-03-02 00:26:48 +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 b4d7e16749 Updated Renderer
Former-commit-id: 74ad349814a5624cdf1c61bfb9e0123b82be06f2
2013-03-02 00:22:49 +01:00
Lynix 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +01:00
Lynix 347b267d43 Added shader flags
Renamed ShaderBuilder enum to ShaderFlags


Former-commit-id: b3440bac5491f0a0a90cbd7f9ed8e396c16c0864
2013-03-01 21:54:41 +01:00
Lynix b75c04b16a Fixed Matrix4::MakeOrtho
Former-commit-id: 04b75d7c82e34cce4e27b761861747a6375241b3
2013-03-01 18:37:29 +01:00
Lynix bb4c747e0b Buffer::CopyContent takes now an const buffer
Former-commit-id: c7a44c3198a24a60a26ab3cc04f75f4cea159979
2013-03-01 16:11:39 +01:00
Lynix 3b0751fb88 Added support for Instancing
Former-commit-id: 62f5f3186423b01f7a0ac2762969dca12bea1327
2013-02-26 01:40:57 +01:00
Lynix 9b2eb8ce3f Optimized frustum tests against BoundingBox
Former-commit-id: d923e5fa8c9b29dcaca1e0bffc28015ee96c4f30
2013-02-26 00:02:43 +01:00
Lynix 1b5215d4c2 Removed AxisAlignedBox (Replaced by BoundingBox)
Former-commit-id: 931dd6710caf49aeaede51efe209d714f080c44b
2013-02-21 18:28:32 +01:00
Lynix 2e6b864cad Added OrientedCube class
Former-commit-id: ca42e08a8bf73b5801bea1536bd8a8af5e386574
2013-02-21 18:27:08 +01:00
Lynix 283b551d56 Adding some methods to Cube class
Former-commit-id: b8a72658aa97841156910e8ec1120d109069fce1
2013-02-21 18:26:41 +01:00
Lynix a9b538de20 Renamed Vector[i]::[Squared]Length[f] to Get[*]
Also added length pointer parameter to Vector[i]::GetNormal


Former-commit-id: 345ebd14bda9f5e0a3843e7603eb7a1a39667db1
2013-02-21 11:29:35 +01:00
Lynix 31be0bdef9 Fixed infinite aabbs
Former-commit-id: 3040da77b407ec62c01b32f05b11adad35702e6d
2013-02-21 00:52:45 +01:00
Lynix 8b49a6426f Fixed [Frustum|Plane]::ToString()
Former-commit-id: b09821e54d3335a0d3c3cc30ec3050d26a30046a
2013-02-20 16:51:09 +01:00
Lynix 28ea9fc9a0 Added Frustum::Contains(AxisAlignedBox)
Fixed Frustum::Contains, Intersect and Plane::Distance not being const


Former-commit-id: e219a10fac78f50743f19ebe523345bcac0b0fb7
2013-02-20 16:41:29 +01:00
Lynix 6bfe9c8890 Fixed AxisAlignedBox::Transform missing return
Former-commit-id: 13888840999937528a7f4b7c23869eee929853a3
2013-02-20 16:37:22 +01:00
Lynix add363a290 Moved AxisAlignedBox to mathematic module
Former-commit-id: 2cb5b151941a431b5c12457f0decf7b39195052d
2013-02-19 12:32:11 +01:00
Lynix d56900fe01 Added DebugDrawer::Draw(Frustum)
Former-commit-id: 595204759c54ccc1e7cec38fe3e26b6b3400e723
2013-02-19 01:24:46 +01:00
Lynix f894502e98 Added TODO
Former-commit-id: 5196273b2ab5a94d276183e6545cdb472507c502
2013-02-19 01:24:13 +01:00
Lynix 933a0c7f38 Added Frustum class
Former-commit-id: 90b380e8f8ff21333d081aed0fd65de0393a0242
2013-02-19 01:23:51 +01:00
Lynix 760470e3f0 Added Sphere class
Former-commit-id: b674083e88f3ab6df2313d460eebc3e0e56a80f3
2013-02-19 01:23:37 +01:00
Lynix 28fcb06025 Added Plane class
Former-commit-id: fbbb1f230b4a9f85de0b56b4924ab65f74b4b654
2013-02-19 01:20:15 +01:00
Lynix 0051b76b9b Improved Vector4::Normalize
Fixed length output


Former-commit-id: 2ff9aeca4e125965251187a1b7e2a4c6e0c08e5a
2013-02-19 01:19:31 +01:00
Lynix b6940e9d8b Fixed Corner_Max
Former-commit-id: bc9e18cb6227335d0ce79c3b2cb35705fd76709a
2013-02-19 01:18:47 +01:00
Lynix 49cdbc3c47 Added [Cube|Rect]::ExtendTo(X, Y[, Z]);
Former-commit-id: 6f3a92644acd818f94088347cc6f1be939adb7f9
2013-02-19 01:10:47 +01:00
Lynix ee7a9c572b Added [Cube/Rect]::Get[Negative/Positive]Vertex
Former-commit-id: 66e4851be7751402077ea67df0554a51f3d28df2
2013-02-17 23:41:43 +01:00
Lynix 4a11ff269f Replaced division by multiplication
Former-commit-id: 76c47816b99ed104fc5fd1fe155156f64a053fa1
2013-02-17 23:41:03 +01:00
Lynix 2e4c27188f Fixed math not including some headers
Former-commit-id: a0da804f710d2decf84cd2429d1fedc0df5e49f7
2013-02-17 02:09:10 +01:00
Lynix 60d41f3c4b Moved AxisAlignedBox::GetCorner to Cube
Former-commit-id: 59509594e6cda19089b93efd8dc77ab7bd20250c
2013-02-17 00:51:16 +01:00
Lynix cdf632ac96 Minor changes to math module
-Fixed missing Set method: "X::Set(const X&)"
-Removed operator String


Former-commit-id: 690f161704ed85fc57a62b812af7933e390572b5
2013-02-16 19:21:14 +01:00
Lynix 43b5e493f6 Added face culling boolean to materials
Former-commit-id: ed651beb3545b85d5496bb5739c4caa9c81df8a3
2013-02-13 01:35:01 +01:00
Lynix 3409461c39 SkeletalMesh::Skin now use threads
Former-commit-id: 4b26b3e1950548887f0a7d246864a968688ca0b4
2013-01-29 02:01:28 +01:00
Lynix 00d636fb1c Changed module initialisation behavior
Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314
2013-01-29 01:57:51 +01:00
Lynix 861c1b6a38 Added Light::GetLightType
Former-commit-id: 22739eaaed4daf0651860c34af30bbfad87f538f
2013-01-27 18:41:20 +01:00
Lynix 85c3224752 Added mesh generation of normals and tangents
Former-commit-id: 42b29acf5701b19156d6966b402baf11c87f3476
2013-01-27 18:39:32 +01:00
Lynix 2cb1f121a5 Improved readability
Former-commit-id: 8cb71d9f3ba34be26a1133e2f4b118c86a8cc0ed
2013-01-24 00:13:24 +01:00
Lynix 07f8f5d029 Added experimental PluginManager
Former-commit-id: 717e0a6b8a729a4c7c3bf0f377a93028543a1e2d
2013-01-15 16:54:41 +01:00
Lynix 01d82c7a11 Fixed typo in macro PLATFORM_MACOS (Added X)
Former-commit-id: f60f6019768ee6f69a1be157a5c88096f5ee421d
2013-01-15 16:54:23 +01:00
Lynix 09e0ab898d Relaxed constant access
Former-commit-id: 885a7f065ccf9ff1fdbef23c88b852bb2e48fac7
2013-01-15 16:53:59 +01:00
Lynix 3080ed8a43 Deleted TaskScheduler constructor/destructor
Made no sense


Former-commit-id: 9ce8eb9a565db98d8124a2ca941897365ba45885
2013-01-15 16:33:46 +01:00
Lynix a186a66b1f Added NAZARA_DYNLIB_EXTENSION macro
Former-commit-id: bdf82a80846fd599328d2f9ff4454d9050eda091
2013-01-15 15:43:46 +01:00
Lynix f338cc3609 Added Resource::GetResourceReferenceCount()
Former-commit-id: 1e07449a9a28887f2fd6fbc211590b360ec16dc1
2013-01-12 18:53:44 +01:00
Lynix 4a28e42d4d Improved Node interface
Former-commit-id: cbc204748d8cf30771743f26270324dee6ada242
2013-01-12 01:38:58 +01:00
Lynix 507022db7c Added light class
Former-commit-id: e2969fe35720e1ea2f982a86197237a50bef1389
2013-01-11 14:40:02 +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 e5731bee91 Added shader support to materials
Also fixed a lot of bugs related to materials


Former-commit-id: 54086eb3aa36c1a7b31b55056967275e6c24a4c6
2013-01-09 20:15:42 +01:00
Lynix e3293c6fe1 Added normal mapping
Former-commit-id: 7e54b1f01de7d5cf99c42d08d13ba606f73c453d
2013-01-09 01:36:18 +01:00
Lynix 946754d7be Added specular mapping
Former-commit-id: 329bcfc6b3d92809538c9416578329f11c6ef56f
2013-01-09 00:34:39 +01:00
Lynix e6cef2ddbf Added move constructor/operator to Shader
Former-commit-id: b947e0ac0dcddcfe64c83b63cf89df0e0850cbd2
2013-01-08 17:31:42 +01:00
Lynix 80d4159faa Added DebugDrawer::DrawTangents
Former-commit-id: 9116b5a878752ff193073ac6c156ddca54f8c501
2013-01-04 22:02:47 +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 1f6cac042b Updated global headers
Former-commit-id: 6d87916542e3ae90e49b326c81a1efdc99eea3fd
2013-01-04 11:50:38 +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 182c667603 Added DebugDrawer::DrawNormals(submesh)
Former-commit-id: 9a2100f8df288b63d3b64c05871ae42c1fad97f6
2013-01-03 19:41:23 +01:00
Lynix 438d509130 Added VertexMapper
Former-commit-id: 26765f92782b61443544744ac145ccd02a8ed2b0
2013-01-03 19:39:52 +01:00
Lynix 962c330390 (Rect|Cube) Fixed ExtendTo method (Close #6)
Former-commit-id: 066d87f52361d1c30ec6521b637308ee4541bba1
2013-01-03 19:17:04 +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 41fb7f7ae5 Removed todo comment
Former-commit-id: da05f6ee8aeb04e3b88c225b9cfded0cb2e70aa1
2013-01-03 12:31:27 +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 89c44330b3 Context not longer require NAZARA_RENDERER_OPENGL
Former-commit-id: c0455ca6b74ac29b1b2a25eceaa0b12bc9681b1e
2012-12-29 15:01:34 +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 e5650698d2 Added copy/move constructor/operator to Material
Former-commit-id: a96676391754ee027bdd6c7b04118db3ea044eb3
2012-12-27 22:22:11 +01:00
Lynix 21b60809ad Updated global headers
Former-commit-id: 024667d27905a561eebd9e38e8b141bcb0323339
2012-12-27 02:36:26 +01:00
Lynix a366d4966b Added missing enum
Former-commit-id: af0f63ab90a02ba7963c79f846154117b9dd2ab5
2012-12-25 12:29:50 +01:00
Lynix c65e3d5def It is now possible to use const shaders
A non-constant shader is no longer required to bind or to send uniform


Former-commit-id: 8fd7c03b65a2d9fcea69516c023fee034299148c
2012-12-25 12:26:40 +01:00
Lynix d63c12bbd5 Removed deprecated sampler method from Texture
Former-commit-id: f7da96f781f8a876cbb78c1048822571c02fde23
2012-12-25 12:21:18 +01:00
Lynix df7b11d1d2 Added ShaderBuilder
Former-commit-id: 0eee75821b7bb4b2b69a020c8e79f3cbe18b522f
2012-12-25 12:14:57 +01:00
Lynix 33a929c198 Fixd Abstract*DNoise destructor not being virtual
Former-commit-id: 38af503709e79e0f13a63bd5da30072f11f1fa34
2012-12-25 02:01:41 +01:00
Lynix dc3cfa40ec Made Texture constructor consistent
Former-commit-id: 92be798524a48cb979c09fa04558602bf3717391
2012-12-24 20:38:20 +01:00
Lynix f2271a6f87 Deleted NzOpenGL constructor/destructor
Former-commit-id: 699f03b7da155dd741a3bbb1f9f3603adfe38293
2012-12-24 18:30:27 +01:00
Lynix 24720d7df1 Moved static function prototype
Former-commit-id: f5be3289558e3285f14216428221df0fed2e4d5a
2012-12-19 15:02:22 +01:00
Lynix 0e6215a47e (Material) Added non-constant sampler access
Former-commit-id: d2799fc353628afda09fdc45b04134aa541ee480
2012-12-19 00:38:06 +01:00
Lynix 10730de74e Refactored materials
(Renderer) Removed Apply function
(Renderer) Renamed SetTextureSampling to SetTextureSampler
Updated demo


Former-commit-id: d40a9ce05df35b078e645927451093da44eec314
2012-12-18 16:17:31 +01:00
Lynix 8b67d17e38 Added texture samplers
I hate Git branchs


Former-commit-id: 6978f1489cdc841d36fbcd6f1a8e01a4adbfcb8a
2012-12-17 14:56:29 +01:00
Lynix 72d8fa64b3 Fixed redefinition error if user define x64
Former-commit-id: 51e0c888132a8651a07d22b86ecc95cc487537d3
2012-12-14 23:24:55 +01:00
Lynix 229f634e01 Rename NAZARA_PLATFORM_X64 to NAZARA_PLATFORM_x64
Former-commit-id: aa4e5c93b5a94175cb487c0d82662c0d918ccb89
2012-12-14 23:19:35 +01:00
Lynix 8785c969e5 Added 64bits-detection macro
Former-commit-id: 98f3edda39679ee0e13671e76dbe96157b3dd7ae
2012-12-14 22:18:27 +01:00
Lynix 025ed1cfd0 Renderer update
-Added Renderer::GetRendererName()
-Added Renderer::GetVendorName()
-Renamed VertexArrayObject to VertexArrayObjects


Former-commit-id: 93489d5f93f8258dec0c4d8bcf72185abd7f75a8
2012-12-13 20:16:09 +01:00
Lynix 73cb237925 Added HardwareInfo::IsInitialized()
Former-commit-id: ef668ac6d2e92a05730b56c892a693a21c7d651e
2012-12-13 19:57:05 +01:00
Lynix 7820a3096b Refactored HardwareInfo
-Can now return processor brand string
-Can now return processor vendor name
-64 bits is now a processor capability


Former-commit-id: 02d0ded16911a88643f4c6799b234a7b18eebefc
2012-12-13 17:32:04 +01:00
Lynix 68c6aa664a Replaced OpenGL namespace with static class
Fixed OpenGL functions not being exported
It is also more consistent


Former-commit-id: 3eddcb6f72412443eb56580180d0b9544ae4a9df
2012-12-13 15:47:29 +01:00
Lynix 73fdb9baaf Added TextureWrap enum<->OpenGL association
Also made array syntax consistent


Former-commit-id: 65794e3eec2ea326da0ee71bcd7b8c31632ab71c
2012-12-13 11:39:15 +01:00
Lynix 8ba40360e3 Fixed 3D module not being exported
Former-commit-id: 32ab8810b4079d042338272a3931af6c09eafd0b
2012-12-10 02:30:41 +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 8376fb38cf Module can now initialize optionnal classes
Former-commit-id: 899007b7879451d15d0808a03b8dfea0cd3413a4
2012-12-08 22:21:20 +01:00
Lynix e8842f1ba8 Revert "Optimized NzNormalizeAngle"
This reverts commit 1ed4af0b903b3fae59c633567b49ebda61797cc2 [formerly 683c7e913ee2f293d299c1d0a4abaf6c65116598].


Former-commit-id: 1c687a7d018e277408b0e390d37bec13c454d4a1
2012-12-08 22:20:16 +01:00
Lynix eb585116b1 Shader::SendTexture can now return texture unit
Former-commit-id: 38d5e5dedf94113933bb2090040feec602a4716c
2012-12-08 11:49:07 +01:00
Lynix 783c1d5584 Optimized NzNormalizeAngle
Former-commit-id: cbdc09b7dc89c03c178a7b0a22571e810598c6fb
2012-12-06 01:05:40 +01:00
Lynix 6f495c654a Added TaskScheduler::GetWorkerCount()
Former-commit-id: db4bf747441a13f2d824410aa5be264b300e95d4
2012-12-06 01:01:26 +01:00
Lynix e699969b64 Added OpenGL support for sampler objects
Also prevented an exception launch by the SeparateShaderObjects code to
escape.


Former-commit-id: ae594e16a85c02f0c649ef573189b4b722f713c3
2012-12-04 13:50:08 +01:00
Lynix 9e24a6b7b2 Added warning to an unusable option
Former-commit-id: a4d45b29970085996f417313d4c7df84f0ca100b
2012-12-03 23:39:49 +01:00
Lynix 551ca4fc92 Updated global includes
Former-commit-id: 0407aab09007e10ec394bf9b15ec0f21421305ad
2012-12-03 16:25:02 +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 82d6438ec3 Removed unused file
Former-commit-id: c52361f0ae454048e62507996beff70cf857210e
2012-12-03 01:34:16 +01:00
Lynix ef567bd223 Added Task Scheduler
Former-commit-id: ac37f749ae78f364db3d3edfabc8221802579989
2012-12-03 01:30:04 +01:00
Lynix 023e497777 Revert "Simplified Thread interface"
This reverts commit 49927a03e4a9bfd4681691bb859b08374cd309c6 [formerly f3cfc12d8c18eef8a8aa21c164ad994fff4a33b7].


Former-commit-id: 8315c5f18d29aff59749c2efe98208ee3f5e1a42
2012-12-03 00:25:39 +01:00
Lynix b4282e6a6e Fixed Vector4 >(=) comparison
Former-commit-id: d3c5d233bb565dbfa0535487fe21bd00ad0281b4
2012-12-02 23:50:32 +01:00
Lynix b775542e4d Simplified Thread interface
Former-commit-id: 5cc7c51be1bf8fe8f13e3b4d25b051ff024f4ebf
2012-12-02 23:43:08 +01:00
Lynix 3d8549740e Moved constructor prototype
Former-commit-id: a399ce2633c20bf41c7ba56cb346ced607043fc1
2012-12-02 23:05:28 +01:00
Lynix 780da2cfa5 Resolved conflicts
Former-commit-id: 4bd4e4f8435d701d16d3864dd030a6c1cff48c47
2012-12-02 21:49:14 +01:00
Lynix 6a3087cc26 Optimized Vector <= comparison
Former-commit-id: 8668b8ff78387262f0e21f038b6ca0240c513476
2012-12-02 20:39:49 +01:00
Lynix 325ac4e642 Added SceneNode::GetAABB()
Former-commit-id: 3ed0a0140e6afabeb915e763e6ead33c7f12fba5
2012-12-02 17:01:39 +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 437c7047c9 Reintroduce Vector comparison operator
Since it can be used for integer vector, also fixed comparison
technique.


Former-commit-id: 3a193ed21beb4d9b7d311eb29bc2852b0776a41c
2012-12-02 16:48:56 +01:00
Lynix 5c7a9e1011 Removed Quaternion/Vector comparison operator
Made no sense


Former-commit-id: 3c2a822cd3142e2bc931021ef8874602630be8cf
2012-12-02 00:37:21 +01:00
Remi Beges d0545eb760 Minor fixes
*Seed is uint instead of int
*Permutation table is uint instead of int, could lead before to program
crash with negative seeds


Former-commit-id: 49ad04987a09a5f5b4bcab6ee3916db9818172b6
2012-12-01 10:07:41 +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 f48b9ba370 (Material) Added methods to loads and get default
Former-commit-id: 9169e84208b0cddbe698daa9286c8b7eb6a8244c
2012-11-27 21:37:14 +01:00
Lynix 64601a72e7 Fixed ResourceLoader bad stream pos after recover
Former-commit-id: d7c7bb33e055ca44ca5690294b504d6ccb644dde
2012-11-27 21:36:04 +01:00
Lynix 4fbe508960 Removed debug error when copying a matrix
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25:14 +01:00
Lynix 18baa6b8c1 Fixed typo
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix 7f6003085f Fixed 3D module
Former-commit-id: 91b5980f101ab55ce9313e80cbf3ece8c0da9b0f
2012-11-25 16:12:30 +01:00
Lynix b662bca33d Added Material class
Former-commit-id: db16249b1ecbfdc59ecdca709cb75f4bf1b6d10b
2012-11-25 14:32:19 +01:00
Lynix d3c027e29c Added 3D engine
Former-commit-id: 2e1ea34ac98e25cb27fed050b46b68de4d2d8131
2012-11-24 18:34:49 +01:00
Lynix da2963e1c1 Removed unused forward declaration
Former-commit-id: e32abcef8cf0314a4c020a1b3e6c2f36c6ce9e30
2012-11-24 17:40:28 +01:00
Lynix f1d87484a6 Fixed spaces
Former-commit-id: dde1253c93db44ba0d418c290e1e1f963b97eb0a
2012-11-24 10:15:39 +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 9cec8c3a4b Fixed typo
Former-commit-id: 3de64e02311033aa54524e33d7d136c9c405d3f7
2012-11-23 17:58:22 +01:00
Lynix c1879d6bf9 Fixed Vector3::Make[Forward|Left] not returning
Former-commit-id: be947d6b5c7c1a353fd035f3a5c1c495066ff7ac
2012-11-22 11:44:32 +01:00
Lynix faee0b93b5 Added HardwareInfo class
Former-commit-id: 3db2f8f11d58b4b71b85f749ce2a12dcfff986bc
2012-11-22 11:07:02 +01:00
Lynix 7a6a63a4b8 Added macros for Intel C++ compiler/x64 platform
Former-commit-id: d2592da3abe140deefae76039992f70c7605f89d
2012-11-21 23:51:41 +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
Remi Beges a0b7364eed Added HybridMultiF 3D & 4D
*new constructors for simple noises
*minor bufixes


Former-commit-id: 2f1e9b6b54087e79b3ac52fefc9bbd67fd45c0eb
2012-11-13 19:27:48 +01:00
Remi Beges 8f04f3e6a0 Added FBM 3D & 4D and HybridMultiFractal 2D + cleaned code
this commit will change the scale of values produced by fbm2d. This will
probably not happen again. As a consequence, fbm values will always be
constrained between -1 and 1, but do not perfectly stick to that scale.
There is no easy solution, if the user wants the best dynamic between -1
and 1, he should adjust manually the value by multiplying by a gain slightly superior to 1.


Former-commit-id: ebdba9e9f4bbb972abe355c07ec9f8bce42329b9
2012-11-09 18:38:50 +01:00
Jérôme Leclercq 0ffdad48a8 Added Stream include to Core global include
Former-commit-id: 2901eeac313cde208f82e6995711ce7044a8910b
2012-11-08 14:27:19 +01:00
Jérôme Leclercq 94bb765a77 Added Shader::SendColor(Color)
Former-commit-id: e3af0e2cb75a437304ee274a6123114b41dd7d94
2012-11-08 14:25:48 +01:00
Remi Beges 7bd6202389 Merge remote-tracking branch 'upstream/master'
Former-commit-id: 8fe411f0146d6cc64cf8d32cc4896f7f417f62a5
2012-11-04 18:51:23 +01:00
Lynix 6b9c88221a Added Shader::IsValid()
Former-commit-id: 829320e4fd92dafb829019d875135ca9b75a3db2
2012-11-02 23:47:09 +01:00
Lynix 9199e60436 Added implicit conversion from AABB to String
Former-commit-id: c41510f4e0527a174d4acb5f8f26f60f4984ce15
2012-11-02 21:50:33 +01:00
Lynix 1b3129868f Added NzRenderer::[Get/Set]LineWidth
Former-commit-id: 827f762294bb67debb2a7faed07b595df2b9d20d
2012-11-01 18:28:49 +01:00