Commit Graph

41 Commits

Author SHA1 Message Date
SirLynix 6b8be23fa0 Switch index/vertex count to UInt32 2022-10-31 19:54:25 +01:00
SirLynix 4f08e7d848 Improve readability of tangent computing 2022-06-28 08:58:08 +02:00
SirLynix 3d15f3578b Utility: Use UInt64 to store index/vertex instead of size_t 2022-04-23 23:12:40 +02:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq cce32a64d4 Upgrade Utility 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Lynix c23b6dfa01 Copyright year update
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01:00
Jérôme Leclercq d94baf133b Utility/Mesh: Refactor Mesh & Submeshes 2018-05-03 13:32:17 +02:00
Lynix 9daadb73bc Utility: Make mesh loader use the parameters vertex declaration 2017-10-21 04:51:05 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Lynix d28142166e Utility: First code cleaning pass
Former-commit-id: 5e8a6fe1d39919f583d6ec52c3a6441ea16db0d1 [formerly 6013fccf81504ad739456c6bf2a0f32f51cd0976] [formerly 6eca34e7eb539427281a09520652f6b63a09d2ef [formerly 42f25260bb808235785af682cc8227be5ced64dd]]
Former-commit-id: 82fd5b55a89ae15950b1bae4164fc93f4761edf9 [formerly 7be9e16acf53f75829a6ef00cea4aca8032820de]
Former-commit-id: f96d5a14ced9e7aa0a16c63c0a9c467d752ecf05
2016-09-04 20:39:34 +02:00
Lynix b058819b9d Revert "Fix compile"
This reverts commit df4e466ee49accc9c19b2fe6da3c14e2779ca12b [formerly 752e14ea33208e0a1298a21b2be1c6aee56dfde1] [formerly a3eb1f7d2f090e0a63f64b3451198631e8d2c47e [formerly 4b89c5fafdc15330f909c62fd75a23885c7364e1]] [formerly 0b09aea025e4d8df0bdf33917571e81f1fe5c6a2 [formerly e192bf206e80f55897d26faf541bcc5afa0437fc] [formerly e9f0b2cd7d7dd709f6a0419b3ea4f6a599cbb823 [formerly 273f4a73bfed75ebec68969db3ae235ccec8600c]]].


Former-commit-id: c4f7092c80aaa52267789cffec29cd4bdd0890f5 [formerly d91460f5134fdca761c6152f72663cc8cdab7b88] [formerly 355bca8ae9dc9966992d43c2ebcdf693f1003af8 [formerly 8554f03b5f74c04ff6a7bb6c08de41eaf9cf0423]]
Former-commit-id: bd6254953c20e7971e70880d8598b6063ba21395 [formerly 43e67367ed1724862e9983598e843998688e46c0]
Former-commit-id: 11c10b5115995c7e96e0396032eeece6c301b90b
2016-08-02 13:20:31 +02:00
Lynix e8c89f158d Fix compile
Former-commit-id: b703781f87d0bd13e7e0436bb9ed5d20ef3cb09f [formerly 4a2bc52bfc39448000a6f3569fd8cfa657bc58ee]
Former-commit-id: 1e42734fafb9eb1a161cfcc3c781927f32c5ad07
2016-08-02 12:56:03 +02:00
Lynix d678951c33 Utility: Fix some warnings
Former-commit-id: 743eae3bfca7871bdd4c180c53a1ee09fa9dcc5a
2016-05-03 23:18:08 +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 a069b105e6 Fully replace listener system by signals
Former-commit-id: 032dfddd12cc3a792c71426148c758ffac3621f9
2015-06-07 20:42:41 +02:00
Lynix fc65b30f84 Improved code based on CppCheck results
None of this should change the engine's behavior, but the code is better
this way.


Former-commit-id: 0127769848fc1f7fc8006ee607985cfc0ead2965
2015-06-05 13:25:17 +02:00
Lynix 5e3fdbca89 (VertexMapper) Updated interface
Added access parameter
Removed useless GetVertexCount method


Former-commit-id: 670d16ed9668eb5df476a592929ed9c364b1f11a
2015-01-26 17:11:00 +01:00
Lynix 5f5be93992 Merge remote-tracking branch 'origin/master' into Resource-Update
Conflicts:
	include/Nazara/Audio/Music.hpp
	include/Nazara/Audio/SoundBuffer.hpp
	include/Nazara/Core/Resource.hpp
	include/Nazara/Core/ResourceListener.hpp
	include/Nazara/Graphics/Material.hpp
	include/Nazara/Renderer/Context.hpp
	include/Nazara/Renderer/RenderBuffer.hpp
	include/Nazara/Renderer/Shader.hpp
	include/Nazara/Renderer/Texture.hpp
	include/Nazara/Renderer/UberShader.hpp
	include/Nazara/Utility/Animation.hpp
	include/Nazara/Utility/Buffer.hpp
	include/Nazara/Utility/Image.hpp
	include/Nazara/Utility/IndexBuffer.hpp
	include/Nazara/Utility/Mesh.hpp
	include/Nazara/Utility/SkeletalMesh.hpp
	include/Nazara/Utility/Skeleton.hpp
	include/Nazara/Utility/StaticMesh.hpp
	include/Nazara/Utility/SubMesh.hpp
	include/Nazara/Utility/VertexBuffer.hpp
	include/Nazara/Utility/VertexDeclaration.hpp
	src/Nazara/Core/Resource.cpp
	src/Nazara/Core/ResourceListener.cpp
	src/Nazara/Graphics/DeferredRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderQueue.cpp
	src/Nazara/Graphics/SkinningManager.cpp
	src/Nazara/Renderer/RenderTexture.cpp
	src/Nazara/Renderer/Renderer.cpp
	src/Nazara/Utility/Mesh.cpp

Former-commit-id: 99b5ad26a19fe9c9f8118da7b5920bffe89f60f8
2015-01-25 19:29:55 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix 9e04e8a0e4 Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
2014-07-15 00:59:02 +02:00
Lynix b54be6e25f Renamed AttributeUsage and AttributeType
... to VertexComponent and ComponentType.

-Renderer:
Renamed IsVertexAttributeSupported static method to
IsComponentTypeSupported

-VertexDeclaration:
Added IsTypeSupported static method
Renamed [Disable|Enable|Get]Attribute to [Disable|Enable|Get]Component
Removed GetAttributeSize static method

-VertexMapper:
Renamed GetAttributePtr method to GetComponentPtr

Former-commit-id: 7115856e1d389610c35b26f63af5d93a5ad5c690
2014-07-10 18:31:56 +02:00
Lynix 18849e7d21 Reworked SubMesh methods
Former-commit-id: daff498f907bb28fdc9c7997c0ba602d640964c3
2014-07-08 11:28:01 +02: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 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 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52:56 +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 32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +01:00
Lynix 5d9bf5ed7b (SubMesh) Renamed GetSkinIndex to GetMaterialIndex
Former-commit-id: 7d28e3baa39342234495c9637e7e4886ffdc4b5a
2012-11-27 21: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 8132812c23 Interpolation factor is now only checked in debug
Former-commit-id: b5cf2b63740a0827403cac7843aca4b820b7687f
2012-10-29 09:59:55 +01:00
Lynix 49ac00f28d Fixed error message
Former-commit-id: f07c8fe20e7e11d49da8c114cdf518bf04484855
2012-09-23 18:07:31 +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 f8a0cdad39 Added Windows shortcut to generate CodeLite project
Changed two submesh's error message
Fixed OpenGL.hpp/.cpp spaces for some displayers
OpenGL loads GL_kdr_debug if possible instead of GL_ARB_debug_output
Refactored external includes
2012-08-10 02:03:25 +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