Commit Graph

263 Commits

Author SHA1 Message Date
Lynix 300dc82806 Math: Fix missing includes
Former-commit-id: 21ff7a6db4beb9fc7968e9bf1ba7478ca2f55e21
2016-03-06 14:54:56 +01:00
Lynix e9d126b3a4 Math: Add serialization specialization for all types
Former-commit-id: 7e45c50d3b4eabfc581736f290fc208592d3d46c
2016-03-06 01:54:13 +01:00
Lynix 192fccc634 Fix compilation
Former-commit-id: d5ac6bb73615f7c9b068c1de2037dfeddc5c1b45
2016-03-02 16:53:20 +01:00
Lynix 1c4135fc09 Improve documentation
Former-commit-id: 08d70f6a53a7f12d2748d145d1fe139595a1b39e
2016-03-01 15:37:05 +01:00
Lynix 2cace84c90 Math/Matrix4: Fix computations.
Sometimes some values can be really small (and very close to zero) without being null.


Former-commit-id: 932160043e4eb4094c7234f8cf4eb7c212966678
2016-01-15 01:04:29 +01:00
Lynix 856df11d5c Math/Algorithm: Fix compilation (C++14 constexpr is not supported by all major compilers)
Former-commit-id: 83c2d98885763160cedcf03cfb08aa44571703f4
2016-01-01 16:34:49 +01:00
Gawaboumga 139c495966 Documentation for Vector4 + static DotProduct & Normalize
Former-commit-id: 4a190589292f299d266e20f7b9723594f2c32468
2015-12-30 15:36:38 +01:00
Gawaboumga 95400fdfab Documentation for Vector3
Former-commit-id: 15f770065aa66e03928d7086403c697be334cb3a
2015-12-30 15:36:12 +01:00
Gawaboumga 844e31fb38 Documentation for Vector2 + static DotProduct & Normalize
Former-commit-id: 6f0aa15cd725f9dfaa7f6f99b10c6d2dde4e94a1
2015-12-30 15:35:37 +01:00
Gawaboumga cec0567fdd Documentation for Sphere + new Unit sphere
Former-commit-id: 8f7dd89c3669f0a791b76ef7cb89d998ce6b336a
2015-12-30 15:34:59 +01:00
Gawaboumga d733a9c5d1 Documentation for Rect
Former-commit-id: 4cb6ff983f7f01611847d29699dab5ca06e17d4a
2015-12-30 15:34:36 +01:00
Gawaboumga 137bc33770 Documentation for Ray + New method intersection Ray-Triangle
Former-commit-id: 29989ec859e609582fdb60a67a7fb353a03091a0
2015-12-30 15:33:55 +01:00
Gawaboumga 9efce81eac Documentation for Quaternion
Former-commit-id: b19bd792823e1f49ff088fc95be26f0db185a8a6
2015-12-30 15:33:26 +01:00
Gawaboumga 40d3d6b235 Documentation for OrientedBox
Former-commit-id: 77f7c82d7ca16348774ccdf1d4e98432710a585a
2015-12-30 15:32:59 +01:00
Gawaboumga 53f4bacab6 Documentation for Plane + add MakeXY methods
Former-commit-id: 688a65089e6e332e3a2ffbed7966e4f9185b79cc
2015-12-30 15:32:41 +01:00
Gawaboumga f131fd2121 Documentation for Matrix4 + Check for affine
Former-commit-id: 9ddb4e85f860b12d06afaa2d32139bea4053eb66
2015-12-30 15:32:09 +01:00
Gawaboumga fa48b750ae Documentation for Frustum
Former-commit-id: 38c09bfa36e663a77ebeb19f5b2c16f60f99ea14
2015-12-30 15:31:27 +01:00
Gawaboumga 5d0624f03f Documentation for EulerAngles + change Return of Set
Former-commit-id: 7e269b89e880156d66d92cff202095c4e30f344d
2015-12-30 15:30:13 +01:00
Gawaboumga e2213cac61 Documentation for BoundingVolume & Box
Former-commit-id: 0fc14422dc32677f329f95dc7a554127f1b8ba0a
2015-12-30 15:29:07 +01:00
Gawaboumga 007b40b1b3 Documentation for Algorithm + constexpr
Former-commit-id: d77905d0ee9a2dde655f548bd175042aa3f5d22d
2015-12-30 15:28:13 +01:00
Lynix 9cf5e4b68c Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: 83435ab51753299b30a102871fbcd5558d2ac4f1
2015-12-09 00:59:07 +01:00
Lynix 6bc285cb00 Fix compilation for GCC
Former-commit-id: 7c51c59904fa86f952b704d175b09b32640d9395
2015-11-28 02:07:56 +01:00
Lynix bbe8a776e8 Fix a shitloads of warnings on VS
Former-commit-id: fca61118f4e0530ed2eaaf9ff96de29806aa5aa8
2015-11-25 18:19:26 +01:00
Lynix eaf1bb3601 Merge branch 'NDK-Refactor' into NDK
Conflicts:
	examples/HardwareInfo/main.cpp
	include/Nazara/Renderer/Enums.hpp
	include/Nazara/Renderer/GpuQuery.hpp
	include/Nazara/Renderer/OpenGL.hpp
	include/Nazara/Renderer/RenderBuffer.hpp
	include/Nazara/Renderer/RenderTexture.hpp
	include/Nazara/Renderer/Texture.hpp
	src/Nazara/Graphics/AbstractRenderTechnique.cpp
	src/Nazara/Graphics/DeferredRenderTechnique.cpp
	src/Nazara/Graphics/Material.cpp
	src/Nazara/Graphics/SkyboxBackground.cpp
	src/Nazara/Renderer/GpuQuery.cpp
	src/Nazara/Renderer/OpenGL.cpp
	src/Nazara/Renderer/RenderBuffer.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp
	src/Nazara/Renderer/Shader.cpp
	src/Nazara/Renderer/ShaderStage.cpp
	src/Nazara/Renderer/Texture.cpp

Former-commit-id: 2f1c7e9f9766f59ab83d9405856a1898ac4ab48f
2015-09-25 23:16:58 +02:00
Lynix df8da275c4 Switch from Nz prefix to namespace Nz
What a huge commit


Former-commit-id: 38ac5eebf70adc1180f571f6006192d28fb99897
2015-09-25 19:20:05 +02:00
Lynix aa303f9028 Merge branch 'NDK' into NDK-ShadowMapping
Conflicts:
	include/Nazara/Math/Matrix4.inl

Former-commit-id: e4b7d178a7acba17c03de2b585af86324b8d75a6
2015-09-13 12:10:30 +02:00
Lynix 505f1dbb03 Merge branch 'master' into NDK
Conflicts:
	include/Nazara/Core/Algorithm.inl
	include/Nazara/Core/ByteArray.hpp
	include/Nazara/Math/Algorithm.inl
	src/Nazara/Graphics/SkyboxBackground.cpp

Former-commit-id: 42f52f71989fa805f69527fd07edb8405df06566
2015-08-21 18:55:58 +02:00
Lynix dea48a289d Merge branch 'master' into NDK
Conflicts:
	include/Nazara/Core/ConditionVariable.hpp

Former-commit-id: 84320f0a55ae9d8f80ff5211d30d99184c7b4213
2015-08-21 12:49:05 +02:00
Gawaboumga 89e0f631d6 No problems
No problems found in Rect, Sphere, Vector2, Vector3 and Vector4


Former-commit-id: 6688608a2beaa9cf5328daf7e5108b6cfebd843d
2015-08-21 12:05:46 +02:00
Gawaboumga cb8ab90300 Quaternion bug fix: missing 'x'
And indentation


Former-commit-id: 87e7cc0f69604f3c4593395b15068b9ded59ba1a
2015-08-21 12:04:46 +02:00
Gawaboumga 19e1cb05bb OrientedBox no problem
Former-commit-id: ad1256baf4bf6d832cb376fe62b1b52f25479e67
2015-08-21 12:03:37 +02:00
Gawaboumga 9d7dc63574 Wrong place
Former-commit-id: 909750e9bca284c2a0096a51c782c1083b258cef
2015-08-21 12:02:55 +02:00
Gawaboumga 282bdf9864 Consequences of the plane change + change perspective
The perspective matrix now as in glm (because the near frustum plane was
wrong). So there is a factor "2" on the component w and the skybox must
be changed in consequence.


Former-commit-id: 09dd049c177532b9ace34a5a60b1b96014652297
2015-08-21 12:01:52 +02:00
Gawaboumga 077584ec49 EulerAngles simplification
Former-commit-id: 775b07a51077e6f17b9fe05773dc5c277c49919d
2015-08-21 11:53:16 +02:00
Gawaboumga b4f926d3ca Test box
No problem except indentation


Former-commit-id: 58d711b48164363fd672c51c005e16eb5ce55e9e
2015-08-21 11:52:44 +02:00
Gawaboumga f0660d5da8 Fix operator== with infinite BoundingVolume
Former-commit-id: 47cee9fb8d8d2b8188d3918527aeebab56b03992
2015-08-21 11:52:05 +02:00
Gawaboumga c2161f2a8b Fix NumberEquals with unsigned
Former-commit-id: 30b573278e84991a9d76604a359bd3110f13d87c
2015-08-21 11:49:37 +02:00
Gawaboumga 2d07922478 Add Unit for vector2
Former-commit-id: 4a143363f24e08d0be12a5ef6bfb46c71b11be4a
2015-08-21 11:34:08 +02:00
Gawaboumga 376df6a3b7 Indentations
Former-commit-id: 0d82a4464cb9369bc4ca5cf2d7780c921eff953d
2015-08-21 11:32:29 +02:00
Lynix 34e8271d24 Fix warnings
Former-commit-id: 42f2d38f7bf5143d91da6a0fa7dc7d3b88ce56ea
2015-06-30 20:44:37 +02:00
Lynix 7dd4965f9a Math/Matrix4: Fix cotangent in projection matrix
Former-commit-id: 57ccfc4fd2a1a8245272328204afa6590a5cb3fb
2015-06-26 14:05:50 +02:00
Lynix 35066a3451 Math/Sphere: Fix (Squared)Distance
Former-commit-id: d91c0d6e8a193e47c3ed45babaf3b83bf1cbe7ee
2015-06-17 23:35:06 +02:00
Lynix f4c3ec51ed Final VS fixes
Former-commit-id: 6da44f94127f61de39710a52b8b3b73ce19c1269
2015-06-14 16:18:37 +02:00
Lynix 009d860d6c Math/Algorithm: Clean code
Former-commit-id: 5133320f4cf04e78d3cf7d66dbbe6f87f44b4bdc
2015-06-13 17:34:06 +02:00
Lynix 3aa6fb9efd Math/Algorithm: Fix Visual Studio error
Former-commit-id: c426979b55e11db423f08a713cb41c7407886d02
2015-06-07 15:19:37 +02:00
Lynix 2bba1be938 Math: Add M_SQRT3 constant, fix sphere radius calculations
Former-commit-id: 71ac4d3522f427fda60a0e71d76eca7558539187
2015-05-26 23:39:01 +02:00
Lynix b0f418c481 Math/Matrix4: Add GetSquaredScale() method
Former-commit-id: c1ce74560b735dbcd5a4c377a7577a9d2c1bae09
2015-05-26 23:38:06 +02:00
Lynix 41afb3a3a1 Math/OrientedBox: Add Update(Vector3) overload
Former-commit-id: 3d9e75d78d1242b4ee75500c2b9ef4e38b2a7453
2015-05-26 00:07:48 +02:00
Youri Hubaut 2cb669a558 TaskSchedulerImpl for POSIX and compilation fixes
Former-commit-id: a402d40ac90cacf444b5832c49cfbdaf61f7f747
2015-05-16 13:10:54 +02:00
Lynix 446f537e3f Merge branch 'master' into NDK
Conflicts:
	src/Nazara/Physics/Geom.cpp

Former-commit-id: 8fd71e34dbe105890042acc55e30b64e7c457ed4
2015-05-06 23:45:41 +02:00
Lynix 55b94f2bbf Math/Matrix: Removed deprecated comment
Former-commit-id: f29b0b453b1313e991f783e8e3be183faa29d8bd
2015-05-06 23:33:07 +02:00
Lynix 3fd217b8a3 Merge branch 'master' into NDK
Former-commit-id: 7f2646da9f2e2c29157e645afbcfcf974f0e0709
2015-03-19 13:13:20 +01:00
Lynix 0363a1a8fa (Box|Rect) Fixed Contains method excluding edge vectors
Former-commit-id: f3281ad9f7af268fceccfdb9d4f67ac0ac76b445
2015-03-19 12:49:08 +01:00
Lynix 5c3720feb1 Merge branch 'master' into NDK
Former-commit-id: f118c029ca94296495957816f910d412ae8a56f2
2015-03-18 20:44:52 +01:00
Lynix 2bde611d33 (Math) Added CountBits function
Former-commit-id: 11e825a95a7bda300e46eb321f0fdb51bea93343
2015-03-16 15:16:05 +01:00
Lynix 458fba2180 (Math) Improved code and added comments
Former-commit-id: 3cf198715ac83e3d85d572d4ed0a3c6988074d0d
2015-03-16 14:54:07 +01:00
Lynix 3e214678c3 (Math) Added IntegralLog2(Pot) functions
Former-commit-id: 2def88ebf1e0ec2c908b2da4df60ff9e8075f8f1
2015-03-16 13:53:48 +01:00
Lynix ca88c5bae4 Optimized NumberToString algorithm
Fixed useless allocation made by String::Reversed


Former-commit-id: c41c1d5fea3ebb55978fd63284d25c2ad3971ac1
2015-02-18 21:03:36 +01:00
Lynix cdff689403 (Ray) Fixed Intersect(Plane, T) method
Former-commit-id: 5acfae80d778087a2e2b423d34da8a218a802cd4
2015-01-24 16:18:06 +01:00
Lynix 0e48f052e5 Fixed GetNearestPowerOfTwo function
Returning the next POT even if the number was a POT itself


Former-commit-id: 812f35d13a99985ca5c12517cd84de22292e52c7
2015-01-24 14:34:36 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Gawaboumga 3933b07094 Suppression of warnings
OffsetOf: use of static_cast
Updatable: API and virtual destructor
Drawable: virtual destructor
Vector: std::abs should be "the" abs.
AbstractClass: API
+Updatable: Like for others abstracts
Buffer: nullptr for pointer to function.
Image: wasn't returning a vector.

Former-commit-id: 57e0009286a02b9e3b0b81945e500d7d9e466ae2
2015-01-21 13:51:49 +01:00
Lynix 7e9c5e9a06 Improved NomalizeAngle function
Former-commit-id: 79793b0c57a333e6d2d4a41a14f2b7fdc1d1f093
2015-01-20 15:05:37 +01:00
Lynix 304b46b17d Merge remote-tracking branch 'origin/Particle-Update'
Former-commit-id: 272203af1d740dc32e9714e00e4f889db6b13350
2015-01-19 02:23:07 +01:00
Lynix 5daf09e41b Added OpenGL-like Vector constructors
Former-commit-id: 302389b6a915d66a0a0fb4cc9a748ed5266ae98c
2015-01-05 02:32:57 +01:00
Lynix 7c47a93a72 Renamed Corner enum to BoxCorner
Added RectCorner and Rect::GetCorner method


Former-commit-id: dc99823ceb17f6e91cdf12779c982ab7e024ec24
2015-01-03 22:31:25 +01:00
Lynix a1624af969 Improved [Box|Rect]::Intersect performances
Allowed early returns


Former-commit-id: 59001afdd9734666640d440cb8b87b5a426973ce
2015-01-03 22:15:15 +01:00
Lynix 5ae54677f1 Fixed Matrix4::IsIdentity()
Former-commit-id: 7f3dfb47241ec2625e7ba02decb53ad5fd3d60ac
2014-12-07 03:04:04 +01:00
Lynix 68bd3304c6 Renamed Degrees|Radians functions to From[Degrees|Radians]
Also added To[Degrees|Radians] functions


Former-commit-id: b7445a42e5ee88319009db9d664d8d9f8fe88c18
2014-09-06 11:52:37 +02:00
Lynix 1b94977722 Added Quaternion::Normalize static method
Former-commit-id: a4530be00673dec5b9731b75fb4edbac7ccd69d5
2014-09-03 13:30:12 +02:00
Lynix 4acd61cf30 Fixed Vector[2|3]::Normalize returning NaN for zero vectors
Former-commit-id: e849a14189ff178134358d4ceed87955bc9f8eae
2014-08-05 17:38:49 +02:00
Lynix 43b4f696b2 Added FIXME
Former-commit-id: 61dfdb35eb265a34c94913947f4ae9164e79c0d9
2014-08-05 09:41:57 +02:00
Lynix d9cce5d7ce Fixed compilation error
Former-commit-id: febc503b22cedaa4edf0efe3677cf38a205d7230
2014-07-29 10:30:49 +02:00
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