Commit Graph

240 Commits

Author SHA1 Message Date
Lynix 454a5b1281 Added Matrix4::Get[Column|Row]
Former-commit-id: 5dc655f97d8523714c69627e70b3bf8dfdcdb1ae
2014-07-28 16:16:32 +02:00
Lynix 60d5c09c18 Renamed Basic.hpp to Algorithm.hpp
Former-commit-id: ba2858d26fb55069313fafc3e4464dc2e9224b7d
2014-07-28 15:18:39 +02:00
Lynix 90a616a26f Made code more readable (Weeeee)
Former-commit-id: fa2a7686130fe67aa4da9f590a8f74c1b5e75ca9
2014-07-28 12:26:37 +02:00
Lynix 4a0dbcb338 Updated Basic.inl
Fixed StringToNumber not working with lowercase numbers
Moved functions order to be alphabetical


Former-commit-id: ff58d17afe38c39527a6ae898bfeb7f3282b2142
2014-07-28 12:24:57 +02:00
Lynix 4ccf021376 Fixed EulerAngles operator+= return type
Thanks to Raakz


Former-commit-id: 2247fe952cd593adea90336ea7f8507e83dea3b1
2014-07-15 01:01:37 +02:00
Lynix 10a17bbf68 Removed debug code (Oops)
Former-commit-id: 48bd8955884352990a3a00b1453fcfc101fa7781
2014-07-10 10:41:50 +02:00
Lynix 3dac383486 Improved Ray class
Former-commit-id: 97a9a50440476e962cc850a09859b0784976c242
2014-07-10 10:11:17 +02:00
Lynix 2479588811 Removed toDegree arg from VectorI::AngleBetween
Former-commit-id: 6b5e141e7c291dadedbfd237f5f22615ce5dcfee
2014-07-10 10:03:35 +02:00
Lynix 7103c28d49 Merge pull request #27 from Gawaboumga/master
Merging Gawaboumga pull request (#27), fixes are coming

Former-commit-id: 81079fd052538e15b7e919aea106cfb5a88a87a6
2014-07-08 16:24:46 +02:00
Lynix b51845d88f Added Matrix4::Concatenate static method
Former-commit-id: 842e86a89fb7468552d6a9473a228bfb7a8a3809
2014-07-08 16:15:05 +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
Gawaboumga 60d045e139 Suppressions of getters
Former-commit-id: db5ae144a8eb8794e7df9981805d2250bbd8b4ee
2014-07-04 11:31:51 +02:00
Gawaboumga ba7f3606a0 Obb intersect ray
New method


Former-commit-id: 282a82d773f61fcec8026eb4ccb74e8b2de9784f
2014-07-04 11:22:47 +02:00
Gawaboumga 31d54d4706 UTF8
Former-commit-id: 3cbdbcc5dd8cc73b5efc40f62e3b6a9619f628cc
2014-07-01 11:06:16 +02:00
Gawaboumga 45fc9158e4 Add of source
Add of the source


Former-commit-id: f3d01ef18ccc1ae906693f388e696c0763576a3b
2014-07-01 10:57:43 +02:00
Lynix d9c38181a5 Added (U)Int32 typedef for Box,Rect and VectorI classes
Former-commit-id: 20fcc8e7ccde6f5306c08058ad477e81cfb2d204
2014-06-30 10:52:25 +02:00
Gawaboumga 7ba72ef1c6 Little fail again
Wrong getter


Former-commit-id: 951d0a46d189c13009854f4bad43e7a243470f03
2014-06-28 11:45:10 +02:00
Gawaboumga 1aebcd83b0 Merge remote-tracking branch 'upstream/master'
Former-commit-id: 124b89e1c31a7b907f88d8c7a234473274d5a0f6
2014-06-28 09:05:16 +02:00
Gawaboumga 5e709001ad Little fail
Plane: Forgot <T>

Former-commit-id: 46f5c4a501fcf1ed841e28474cf5bca8e7baa438
2014-06-28 09:03:56 +02:00
Lynix 032b2ed79b Removed explicit VectorI::operator[]
Since Vector instances can be implicitely converted to T*, native
operator[] will work on them


Former-commit-id: 3f4a1822c514886dee7d9e5dab816c80e5c5ee99
2014-06-27 21:15:11 +02:00
Gawaboumga f3ccd60b5f New class ray
Class ray who represents a ray in space and who can be used as a line.
Support of classical intersections.


Former-commit-id: 2ea5af0cf749dbefdd841f9b02bfab2af5058cdb
2014-06-27 19:39:51 +02:00
Gawaboumga ca595bca20 Add of some mathematical functions
Plane: Getters and classic planes
Sphere: Getter
Vector2: Angle between two vectors
Vector3: Same in 3D

Former-commit-id: 07e6421def813743e5fd8248fe2e9503cebbb8a8
2014-06-27 19:33:28 +02:00
Gawaboumga 9f17722afd Little corrections
HashDigest: Simultaneous use of int and short
EulerAngles: Use of the macro
Geom: cone was missing

Former-commit-id: ecc3a586732a6711b57ce3e79c5450ef7327bb5b
2014-06-27 19:11:45 +02:00
Lynix 48eb59eba8 Commited missing file (from 7dfb82)
Former-commit-id: 90aba1cc976830fd78efdd3d03764345b92df24d
2014-06-22 15:12:54 +02:00
Lynix dc3f3eb344 Fixed some of the pull request code in order to merge it
Former-commit-id: d8a9734fc622cb57f98b3b6abd2579922d562aa0
2014-06-22 15:12:52 +02:00
Lynix a6d6213b9d Commited missing file (from 7dfb82)
Former-commit-id: 4961498d557dea7101960beb4f2eb6b0a3060368
2014-06-17 15:53:57 +02:00
Lynix eceabcd241 Fixed some of the pull request code in order to merge it
Former-commit-id: 76d71f15b335535e7dfcaf986440a00e85e45c1b
2014-06-15 01:55:07 +02:00
Gawaboumga 676ed6c9d8 Correction of mathematical functions.
BoundingVolume: Add of constructor and setter OrientedBox. Extend is now
up to date.
Box: Use of <T>. Return this
Frustrum: Use of <T>
Matrix: Use of <T>
OrientedBox: m_corners is up to date
Rect: Add of operators /= and /. Return this
Sphere: Add of Intersect and Contains with box. Little corrections.
Vector2: Return

TaskSchedulerImpl: Add of include header cstdlib to compile because of
std::div
HardwareInfo/main: use of accentAigu

Former-commit-id: a5a7f8e8c45448e5683eb13bff453d6f67478d03
2014-06-14 22:10:37 +02:00
Lynix 1ba07cf69c Removed Matrix4 "identity optimization"
Returned Matrix4 to a POD type


Former-commit-id: 658f7d41b5d5f7d70b9d6531456ae2e498c469d2
2014-04-20 14:29:55 +02:00
Lynix 7196d8399f Made use of constexpr keyword
Former-commit-id: 79bc50ffaa21947dacd18578a34f6be65285821b
2014-04-02 01:02:47 +02:00
Lynix a441a30beb StringToNumber no longer throw an error on failure
Former-commit-id: 8d191884c4ba757179e0c374a8ee2db756d1064b
2014-01-19 10:54:59 +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 a560a16ef3 Lerp no longer fail when interpolation is not in range [0..1]
Former-commit-id: b9d4179cbd82f709695719dbc47f9d0f9d98841e
2013-12-20 19:59:28 +01:00
Lynix b05f813e70 Added NzMultiplyAdd
Use hardware FMA (or at least faster FMA) when possible


Former-commit-id: fd5134d2aebe924fb8c9148224101dd7d340bb5f
2013-12-09 14:13:37 +01:00
Lynix 43df67d47b Fixed NzNumberEquals not working with integers
Former-commit-id: 9ce3889c1e4364f7e8f90a1d81c3a8921c5cd0b6
2013-12-07 23:46:46 +01:00
Lynix 0520de7ab0 Fixed Vector3::operator[==|<=]
Thanks to OveRdrivR

Former-commit-id: fa93eb7124e3b322407d1488c8530312c2019792
2013-09-30 23:19:38 +02:00
Lynix ffbff9e707 Fixed compilation errors
Former-commit-id: 1ba7f27b5e56aee1ffc34459ab64d56bfe359dfe
2013-09-23 00:22:18 +02:00
Lynix db2b33eda1 Fixed Vector2::Normalize
Former-commit-id: c781e64262c0fbce2782f635c2db13478f18a9d5
2013-09-20 21:31:07 +02:00
Lynix 693aec36c3 Fixed bounding box AABB
Former-commit-id: ef8ec52e7bffca69b1e41462f0971e00a1b73029
2013-09-16 01:03:06 +02:00
Lynix f0eac2bc0d Fixed compilation error
Former-commit-id: 13b96b7bba638a1843a00264068e1c4858e6d301
2013-09-16 00:36:50 +02:00
Lynix 74d396a376 Added warning when clip matrix is not invertible
Former-commit-id: 4707faab0259062ad619a5e5c72fcbbfaf853e3c
2013-08-22 10:50:53 +02:00
Lynix 5d0ed4f27c Removed warning when Matrix4 is not invertible
Former-commit-id: d16c6153dfafadc628cb9af9e4ed707045833616
2013-08-22 10:50:39 +02:00
Lynix 26f120cc66 Fixed Matrix4::[Make]Ortho parameters name
Former-commit-id: ad6a90025e6502ceff9add2c5ecd6c7b83483f38
2013-08-21 19:39:04 +02:00
Lynix b9b572c60c Fixed warning
Former-commit-id: d6ac174b7ad2a365158ccda0300e62aed5bd8a7b
2013-08-19 23:37:23 +02:00
Lynix 35bd693216 Fixed Matrix4::(Make)Ortho
Former-commit-id: fb65916496b8c28c21dcaf6c623ab1427a6e7767
2013-08-16 00:23:03 +02:00
Lynix efd6185f56 Added Box::GetSquaredBoundingSphere
Former-commit-id: 12ecb5d84f44e39ddacb96b83a897f618337c2e1
2013-07-31 14:18:47 +02:00
Lynix 84ebd6043c Sphere::Distance now returns distance between center and point
No more negative distances


Former-commit-id: 1688b82e88621e20312b6b28090ed63941b3e02a
2013-07-31 14:18:27 +02:00
Lynix 35d9a2fef7 Fixed Vector2 division operators
Former-commit-id: cceddfe0bdb1ac94355ad3d04e4c9dab51d2edce
2013-07-01 16:04:50 +02:00
Lynix f4ef89bb32 Made Matrix4::ConcatenateAffine more robust
Former-commit-id: 7d6f74959b29a597fa9b08d8d3c58fbaf9e2555e
2013-06-27 18:56:05 +02:00
Lynix ebf402f138 Added GetNearestPowerOfTwo
Former-commit-id: 609d470e8478c659b816ad7d34fb9d56ad551b07
2013-06-18 21:06:41 +02:00
Lynix 7f9455b947 Added Matrix4::(Make)ViewMatrix
Former-commit-id: 4a21da456f90c5d0c53c291885b3a214be893b5e
2013-06-10 16:41:25 +02:00
Lynix 6b2af70f1d Cleaned interface
Former-commit-id: cdd284de8396d5988853c84d5db17bfa6fa0ba51
2013-06-09 22:05:05 +02:00
Lynix a478926570 Fixed (I hope) Matrix4::GetRotation()
Former-commit-id: 9480437dde664034d7e44c81a3931922c215b646
2013-06-09 16:00:44 +02:00
Lynix 273391d8cb Added optionnal parameter to NumberEquals(a, b)
Former-commit-id: 30e69529d7e15857046327edd6cbe587a3951fa3
2013-06-09 15:53:49 +02:00
Lynix 7a7cfc3092 Added [Box|Rect]::Translate
Former-commit-id: 72b4cd351a7233df89709366fbe7ce59e4ba94e7
2013-06-09 15:50:56 +02:00
Lynix bb31a1666f Added [Box|Rect]::Get[Maximum|Minimum]()
Former-commit-id: 5226f2dfd2beaec2bc9075543f555cc48a457e3a
2013-06-09 15:41:57 +02:00
Lynix c940abdb75 Renamed [Box|Rect]::GetSize() to GetLengths()
Former-commit-id: 3c122057634a6472034b284bfe7091acbb41d004
2013-06-09 15:34:36 +02:00
Lynix 910a79fc84 Cleaned interface
Former-commit-id: b5f1871c164dd72098e389b76edf0994fb1fb124
2013-06-05 15:56:51 +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 a3f1417abd Added Matrix4::Apply[Rotation|Translation]
Former-commit-id: 1c59aa48f057d4bdc4b4413e349d2b4290dec055
2013-06-03 12:57:20 +02:00
Lynix c99ab36ebe Made Cube/Rect more user-friendly
Former-commit-id: 13ac0b9f6428059596c98f636caf61afd2a436b7
2013-05-30 03:02:43 +02:00
Lynix 465a7c246d Added Identity Matrix optimization
Former-commit-id: c426c3098659f9cf74fd7da33cadabe38a158358
2013-05-30 02:58:20 +02:00
Lynix b3f60e90fd Fixed Quaternion::(Make)RotationBetween
Could not handle parallel vectors


Former-commit-id: 3fed3a46d443b208dc95a5bcd29dd43fb7960114
2013-05-30 02:56:58 +02:00
Lynix c05c22c97a Fixed Frustum::GetPlane not compiling in debug
Former-commit-id: efe801b21f50803368aea4c5442a43c1621545f6
2013-05-16 22:21:33 +02:00
Lynix 6d2a1118bc Implemented Matrix4::GetRotation
Former-commit-id: 90e0b6942497c1337ac3873d3990515284df4aa6
2013-05-16 22:21:16 +02:00
Lynix 6c743a89b9 Added Quaternion::(Make)RotationBetween
Former-commit-id: e28517580bd17970e77a38f54e7c114cdaf402d5
2013-05-13 12:52:39 +02:00
Lynix 16004fd41c Added IntegralPow function
Former-commit-id: c04d3bf6365f3ced475405a85285b3956a066c47
2013-05-13 12:52:12 +02:00
Lynix 991d841d57 Made String(char) explicit
Former-commit-id: 02f5ead8fe60b825464f956d9fc6ea4689bda44b
2013-05-11 13:51:56 +02:00
Lynix a8066a58af Added Matrix4::(Make)Transform(T, R)
Former-commit-id: 556554c8cc589dfe64b3a8be903f62af894011c4
2013-05-03 02:50:38 +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 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 32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix 1e57c00fa1 Simplified Cube::GetCenter impl
Former-commit-id: 59f3fcb694b5758e726c9fd5884307d80d6d3408
2013-03-13 17:09:54 +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 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 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 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 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 2cb1f121a5 Improved readability
Former-commit-id: 8cb71d9f3ba34be26a1133e2f4b118c86a8cc0ed
2013-01-24 00:13:24 +01:00
Lynix 962c330390 (Rect|Cube) Fixed ExtendTo method (Close #6)
Former-commit-id: 066d87f52361d1c30ec6521b637308ee4541bba1
2013-01-03 19:17:04 +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 783c1d5584 Optimized NzNormalizeAngle
Former-commit-id: cbdc09b7dc89c03c178a7b0a22571e810598c6fb
2012-12-06 01:05:40 +01:00
Lynix b4282e6a6e Fixed Vector4 >(=) comparison
Former-commit-id: d3c5d233bb565dbfa0535487fe21bd00ad0281b4
2012-12-02 23:50:32 +01:00
Lynix 6a3087cc26 Optimized Vector <= comparison
Former-commit-id: 8668b8ff78387262f0e21f038b6ca0240c513476
2012-12-02 20:39:49 +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
Lynix 4fbe508960 Removed debug error when copying a matrix
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25:14 +01:00
Lynix c1879d6bf9 Fixed Vector3::Make[Forward|Left] not returning
Former-commit-id: be947d6b5c7c1a353fd035f3a5c1c495066ff7ac
2012-11-22 11:44:32 +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 4c23ccf1c6 (Matrix4) Renamed Destroy to Undefine, fixed bug
Fixed Transpose() not checking COW ownership


Former-commit-id: de2c64b9aef5abf2f73ce6cff2fe8442c1c382c5
2012-10-26 14:08:30 +02:00
Lynix 61c081ace3 Fixed and improved Matrix class (See description)
-Added ApplyScale
-Added Destroy()
-Added GetInverseAffine
-Added Inverse(Affine)
-Added (Make)Transform method, generating a TRS transform matrix
-Fixed COW
-Inverse methods now takes an optionnal boolean pointer


Former-commit-id: 84e7c679c242876f9b0888875b37afa12eed311a
2012-10-24 22:32:46 +02:00
Lynix 8712de3118 Cleaned NzNormalizeAngle code
Former-commit-id: 3d984db7632e0c9cba032d22b1470828326c0ad9
2012-10-24 18:22:07 +02:00
Lynix 855b3676e8 Fixed quaternion interpolation
Former-commit-id: b43671708fb9e64517a67ba070167587688457fb
2012-10-24 18:21:33 +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 94268ae6b2 Fixed typo
Former-commit-id: 3a47a8981692b57ccad50e1044c1139c34bf9c75
2012-10-08 15:35:02 +02:00
Lynix cfd54b859d Added linear interpolation (Lerp) to math module
Former-commit-id: 5920e21f25d42701a1895734eca492fdf5351669
2012-10-08 14:45:29 +02:00
Lynix 7bab3d9443 Cleaned code
Former-commit-id: 65b235b0c8326e060ec7032bb2a153e22518a25a
2012-10-04 09:32:55 +02:00
Lynix aaca9349fd Fixed Matrix4 equality comparison
Former-commit-id: cb1e21196c2053138a8d70bc09d39ecbf7b83ba8
2012-09-30 23:11:43 +02:00
Lynix a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24: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 40ec2003b4 Added Audio module
Fixed examples resources not being commited
Temporary removed static build configurations
2012-08-21 15:04:00 +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 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 7ed9e16664 NzString::Clear now takes an optional argument
Fixed NzString::ToDouble rejecting legal strings
NzString::Clear can now keep the internal buffer to improve performances
NzStringToNumber now takes an optional argument to check if the
conversion went well
Optimized NzString::ToInteger
2012-07-01 00:44:53 +02:00
Lynix ec9470ceb6 Moved buffers to Utility
Fixed NzVector4::operator/
Replaced enumName_Count by enumName_Max
Renamed (Index/Vertex)Buffer::GetBufferPtr by GetPointer
2012-06-21 09:49:47 +02:00
Lynix be0a5d2819 Fixed many bugs
Added NzOpenGL::GetEntry
Activated preprocessor error if not compiling with a C++11 compliant
compiler
Cube can now be constructed with a Rect
Desactived utility option "threaded window" (bugged)
Epured Image interface (No more UpdateFace, use Update with z = the face
you are targetting)
Fixed compilation errors (Thanks to RafBill)
Fixed predefined colors not exported
Fixed uplading pixels not aligned by 4 bytes
Fixed Thumbs.db files not ignored by git
NzImage now supports Filling and Flipping (Horizontally and vertically)
NzImage::Get(Const)Pixels now support pixel location
NzVector(2/3) can now return floatting distance/length with all types
NzVector(2/3/4) can now be constructed by a vector of smaller dimension
Premake now set "-std=c++11" build option for GCC
Renamed NzImage::(Get/Set)Pixel to (Get/Set)PixelColor
Updated new([])/delete([]) in the leaks tracker to the new C++11
signatures
2012-06-15 11:03:43 +02:00
Lynix 0f84f8eda8 Added Quaternion spheric interpolation
Fixed NzVector(2/3)::Length() and NzQuaternion::Magnitude() returning
double instead of template type
Added quaternion dot product
Added gitignore
2012-06-13 17:54:07 +02:00
Lynix e2a38b3790 First part of render texture commit
Added NzContext::EnsureContext and NzContext::GetThreadContext
Added NzCube
Added NzRect::GetCenter
Added methods to send vectors to shaders
Added NzRenderer::SetViewport
Fixed NzRect::ExtendTo calculations
Fixed NzImage::Update checks with level > 0
No longer use glTexStorage when creating a texture to prevent a bug
NzBuffer's Lock and Unlock operations renamed to Map and Unmap
NzVector2/3/4 can now cast implicitly to a pointer
Optimized compilation time of String.hpp
Optimized normalisaton of quaternions
Optimized passing uniforms to shaders
Quaternion now automaticaly Normalize h
Removed macro definition of NAZARA_RENDERER_OPENGL from Renderer
Removed implicit cast from NzVector2/3/4 to NzString
Renamed nzBufferLock to nzBufferAccess
Renamed NzRenderTarget::CanActivate to IsValid
2012-06-13 07:40:31 +02:00
Lynix 9b3f4e794a Added Image
Added pixel format support
Added MemoryStream
Added Rect
Added ResourceLoader
Added generic loader (bmp, gif, hdr, jpg, jpeg, pic, png, psd, tga)
Added PCX loader
Added utility module initializer
Fixed Config.hpp include
Prerequesites.hpp now overwrites _WIN32_WINNT when defined
version is less than requiered version
Renderer's initialisation will implicitly initialize utility module
Removed RENDERER_SINGLETON option
Shaders are now resources
2012-05-21 21:54:13 +02:00
Lynix d0bc1d908a Fixed typo 2012-05-09 19:36:39 +02:00
Lynix e91cde657b Fixed per-class thread safety 2012-05-08 08:20:57 +02:00
Lynix 45f3fc4e28 Implemented COW into NzMatrix4; Optimized NzString COW 2012-05-07 13:02:07 +02:00
Lynix 7d117ce97c Laid the basis for rendering 2012-05-02 16:45:44 +02:00
Lynix e8ef4b59da Fixed collaborator's name 2012-05-01 17:44:14 +02:00
Lynix 71b4262c51 First commit 2012-05-01 16:43:48 +02:00