Commit Graph

82 Commits

Author SHA1 Message Date
Lynix f4ef89bb32 Made Matrix4::ConcatenateAffine more robust
Former-commit-id: 7d6f74959b29a597fa9b08d8d3c58fbaf9e2555e
2013-06-27 18:56:05 +02:00
Lynix 7f9455b947 Added Matrix4::(Make)ViewMatrix
Former-commit-id: 4a21da456f90c5d0c53c291885b3a214be893b5e
2013-06-10 16:41:25 +02:00
Lynix a478926570 Fixed (I hope) Matrix4::GetRotation()
Former-commit-id: 9480437dde664034d7e44c81a3931922c215b646
2013-06-09 16:00:44 +02:00
Lynix a3f1417abd Added Matrix4::Apply[Rotation|Translation]
Former-commit-id: 1c59aa48f057d4bdc4b4413e349d2b4290dec055
2013-06-03 12:57:20 +02:00
Lynix 465a7c246d Added Identity Matrix optimization
Former-commit-id: c426c3098659f9cf74fd7da33cadabe38a158358
2013-05-30 02:58:20 +02:00
Lynix 6d2a1118bc Implemented Matrix4::GetRotation
Former-commit-id: 90e0b6942497c1337ac3873d3990515284df4aa6
2013-05-16 22:21:16 +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 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 b75c04b16a Fixed Matrix4::MakeOrtho
Former-commit-id: 04b75d7c82e34cce4e27b761861747a6375241b3
2013-03-01 18:37:29 +01:00
Lynix 1b5215d4c2 Removed AxisAlignedBox (Replaced by BoundingBox)
Former-commit-id: 931dd6710caf49aeaede51efe209d714f080c44b
2013-02-21 18:28:32 +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 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 4fbe508960 Removed debug error when copying a matrix
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25: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 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 94268ae6b2 Fixed typo
Former-commit-id: 3a47a8981692b57ccad50e1044c1139c34bf9c75
2012-10-08 15:35:02 +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 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 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 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 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 71b4262c51 First commit 2012-05-01 16:43:48 +02:00