Commit Graph

980 Commits

Author SHA1 Message Date
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 ab538e0e2d Fixed comment
Former-commit-id: e15fa14a9f6c14d0660a5ec702ca6b8a2288dc83
2015-01-26 16:14:03 +01:00
Lynix 8fad28bccd Fixed SparsePtr::operator->
Former-commit-id: 29be487addb68b8621d5205c779d4a47aceeb27b
2015-01-26 16:13:44 +01:00
Lynix eed90cb683 (SceneNode) Added Remove() method
Former-commit-id: 191834826b1c6651dab62c77aabb072ba59a301b
2015-01-25 23:53:00 +01:00
Lynix 0db92e671d Added a static New method to RefCounted-derived classes
Former-commit-id: efd9e68e050fb6cc7e0df7a7c222ca759c502dc5
2015-01-25 23:41:09 +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 a185f03abc Merge remote-tracking branch 'origin/Scene-Update'
Former-commit-id: 4185e7a826476d3d5b4275b3900fe695bd791f3a
2015-01-25 16:35:18 +01:00
Lynix 4a2f386c80 (Drawable) Made destructor virtual
Former-commit-id: ab35592cf015a3056de5d533b29d3c469cb29d29
2015-01-25 16:34:34 +01:00
Lynix bc6dd44009 Made SceneNode name change reflect on the Scene
Former-commit-id: b924b0b9d103e4fce6ab2faf952b9153d49cce06
2015-01-25 16:34:19 +01:00
Lynix 6d8b266b4c (Scene) Added FindNode(As) and RemoveNode methods
Former-commit-id: 35b0d6a61e99383fffa8048b3c0f6a48b8f0f66c
2015-01-24 22:00:55 +01:00
Lynix 9ebd023848 (SkeletalModel) Added virtual constructor implementation
Former-commit-id: 4a7f356e14f629a728a77f94db7e26c6c4af3b72
2015-01-24 16:42:49 +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 090263d847 Moved name attribute from Node to SceneNode
Former-commit-id: 6f920af67cd6c339d132a67b364742fdf172d5e9
2015-01-24 14:13:11 +01:00
Lynix e46cb43ef5 Removed useless code
Former-commit-id: 8e65848eed8c3ceb829a7c556f4686676ea946f4
2015-01-24 12:03:24 +01:00
Lynix 0a7711d85b (Scene) Added CreateNode and Clear methods
Former-commit-id: de92f4a4be45e5cbd1d2d83191300e0b46764f0e
2015-01-23 22:35:41 +01:00
Lynix cf12552358 (SceneNode) Added virtual constructor idiom
(Light) Added default constructor


Former-commit-id: 591e6a8435d2cea6238e70c0058d381b8d547f3e
2015-01-23 21:04:29 +01:00
Lynix d1f1906f37 Fixed comment
Former-commit-id: a587575ad7e7c651eaf9c5cb9483a002615e4d4a
2015-01-23 20:21:19 +01:00
Lynix 01a1badac7 Removed useless std::function from rendering code
Former-commit-id: eaba729d5047d326fb2e746cec0621bfcf2eb1c5
2015-01-23 20:21:00 +01:00
Lynix f6df10dacf Removed unused file
Former-commit-id: 374fc27dca13c38dfa94928841cefb031e7b32ed
2015-01-23 20:07:24 +01:00
Lynix 1f043b61df (Scene) Removed useless Pimpl idiom
Former-commit-id: ffbca2a6b6e16792f58e77195a08911368f64f57
2015-01-23 14:35:26 +01:00
Lynix c5ec2af361 (Scene) Added RenderFrame method
Former-commit-id: ba02b2f0d65858fdabdedf5f0a9f7f9b1baa7268
2015-01-23 00:02:33 +01:00
Lynix a39988ac46 Removed unused file
Former-commit-id: 42b523c8da74800166935602755e554f26d7fa40
2015-01-22 23:46:55 +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 8a3c410d60 Made bounding volume handing part of SceneNodes
Former-commit-id: d09d06ac4515ce09aa16fd92dd045c2a06730a99
2015-01-20 20:35:16 +01:00
Lynix bce3cadfd5 (ParticleEmitter) Added lag compensation
Former-commit-id: 914a976ba52b2629190ded068cc23e1cf7dee4d4
2015-01-20 17:48:11 +01:00
Lynix bbfbec1aa3 (ParticleSystem) Moved controllers update to a function
Former-commit-id: 47586e675c202d871e3ea3561dc19781bdb264f3
2015-01-20 16:59:50 +01:00
Lynix ac25c4a041 (TextSprite) Renamed SetText method to Update
Former-commit-id: 798baecaaf919c20d43f036f361d10d459270d0b
2015-01-20 15:12:41 +01:00
Lynix 7e9c5e9a06 Improved NomalizeAngle function
Former-commit-id: 79793b0c57a333e6d2d4a41a14f2b7fdc1d1f093
2015-01-20 15:05:37 +01:00
Lynix e2d4ba030c Alphabetical commit
Former-commit-id: bacf8ab447d3022b48aac5f5ca2d337bc1283f8c
2015-01-19 11:57:19 +01:00
Lynix 304b46b17d Merge remote-tracking branch 'origin/Particle-Update'
Former-commit-id: 272203af1d740dc32e9714e00e4f889db6b13350
2015-01-19 02:23:07 +01:00
Lynix ead44173ba Merge remote-tracking branch 'origin/Particle-Update'
Conflicts:
	include/Nazara/Graphics/Enums.hpp
	include/Nazara/Graphics/ForwardRenderQueue.hpp
	include/Nazara/Graphics/ForwardRenderTechnique.hpp
	include/Nazara/Graphics/Sprite.hpp
	src/Nazara/Graphics/DeferredRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderQueue.cpp
	src/Nazara/Graphics/ForwardRenderTechnique.cpp
	src/Nazara/Graphics/Material.cpp
	src/Nazara/Graphics/Resources/Shaders/Basic/core.frag.h
	src/Nazara/Graphics/Resources/Shaders/Basic/core.vert
	src/Nazara/Graphics/Resources/Shaders/Basic/core.vert.h
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.frag
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.frag.h
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.vert
	src/Nazara/Graphics/Resources/Shaders/PhongLighting/core.vert.h
	src/Nazara/Graphics/Sprite.cpp

Former-commit-id: 73139ce47d7721635d87c74b2ca1183c2f67c090
2015-01-19 02:20:28 +01:00
Lynix c18fc4cb14 Removed ShaderUniform_[EyePosition|SceneAmbient]
Former-commit-id: 89dedaf78d86def598531f472a1a6ecd56fe8371
2015-01-19 00:15:01 +01:00
Lynix 911babc283 Changed meaning of return value from resource events
Returning false from a resource event will remove the listener from the
resource, instead of decrementing it's counter


Former-commit-id: ba47da0e8de5c0adb3d31f29af0ef7835beefd5a
2015-01-19 00:00:54 +01:00
Lynix 8f9ea9db17 Added ResourceListenerWrapper
This class wraps the call to
Resource::AddResourceListener/RemoveResourceListener using RAII and help
a lot with some of the dependencies.
Thanks to this, the render queues now handle their resources listening
properly.

Former-commit-id: 7f215ffa4ccadcc4f44f777656970e92ce01087a
2015-01-18 23:59:01 +01:00
Lynix a6183fae69 Added missing SkeletonRef typedef
Former-commit-id: 7c6671664dcc28e2fc8f2a0beeacb76b80828f4f
2015-01-18 14:30:30 +01:00
Lynix 0b1f10bf72 Alphabetical commit
Former-commit-id: a62b1812e59371e4ca7f1d77bf438859514e0ac7
2015-01-18 12:20:32 +01:00
Lynix 81e38d1431 Fixed comment
Former-commit-id: 02e09bb9eac10da9693c07db00c837784a6edf4e
2015-01-18 12:19:05 +01:00
Lynix e30c447bd5 Added default font
Former-commit-id: 84fc15f2c6d46bcfb55236863611f2fb96961a6d
2015-01-18 10:38:50 +01:00
Lynix c02fe6c8ff Fixed streaming loaders when used with memory streams
Former-commit-id: ce39ee03f40682c00c78b08ac285b9ea36240fa5
2015-01-17 23:42:49 +01:00
Lynix 9f40fe12b1 (SimpleTextDrawer) swapped str and characterCount arguments
Former-commit-id: f009a36533158c37bcf4c996f62967df068a18af
2015-01-17 23:07:21 +01:00
Lynix 9662f4167d Fixed crash on Utility uninitialisation
Former-commit-id: ef9f53674fe21c4d7780e68c62f7981554663a85
2015-01-17 22:55:50 +01:00
Lynix cfe1bcf107 Fixed Font::[Get|Set]Atlas interface
Former-commit-id: 7670317dc2684fc0f9240a1f188e4ba92592a263
2015-01-17 22:48:27 +01:00
Lynix b699d06805 Fixed typo
Former-commit-id: 1482a9580b19f657cccaadbbf4eacc9724d0a1e3
2015-01-17 22:45:25 +01:00
Lynix 7fee649b49 (Font) Added default atlas
Former-commit-id: 876f42110d4053b09abf86c6158b3ba79fdea201
2015-01-17 22:42:33 +01:00
Lynix 77db6f5dd3 Added Font initializer
Former-commit-id: 9d64e5f28508ebfafe7504a9ba47f57a970e77ce
2015-01-17 22:11:29 +01:00
Lynix f1694fd6e9 (Font) Added mutable default values for glyph border and minimum step size
Former-commit-id: 9b69b591afb95fdea9d686ef9b775f965de40d9f
2015-01-17 22:03:04 +01:00
Lynix b787ce94cf (Font) Removed default move-constructor
Former-commit-id: 15ccd22b9333327e761500f7b07f0ef7db8ad857
2015-01-17 21:53:47 +01:00
Lynix 4a4b4e0fda Regenerated global headers
Former-commit-id: 01c6359d8fae9309dfd1003c3c786de57a93692c
2015-01-17 00:39:40 +01:00
Lynix 86502df849 Merge branch 'Font-Update'
Former-commit-id: d293f78c891a74554c6b990afafdc1eb1cc0a584
2015-01-17 00:36:28 +01:00
Lynix a244029e11 Fixed RenderTarget destructor not being virtual
Even though it's pretty useless


Former-commit-id: 9140fc3bc8aeabf041c5cf90ea3efcabc4ed4940
2015-01-17 00:35:20 +01:00
Lynix 18367d26da Added View::SetSize(width, height)
Former-commit-id: 9afd04b62e99702720cb10feae2462eaad33a90b
2015-01-17 00:34:59 +01:00
Lynix 3ed18e70da Added default material to sprites
Former-commit-id: 8a68d3d9b251ff93a793d4e001aed721558a8eef
2015-01-17 00:34:09 +01:00
Lynix a0054def7b Added TextSprites
Former-commit-id: 85bef5ec14336710b2fdc782d3d0d77787ab65dd
2015-01-17 00:16:52 +01:00
Lynix fdb722ef14 Made SceneNodes non-movable
Fixed SceneNodes copy constructor not parenting the right object


Former-commit-id: 21a08e3bb0931af426d97399dab86dda9acdf172
2015-01-17 00:15:01 +01:00
Lynix 6d3228477f Added TextDrawer classes
Former-commit-id: 4c5ace385f1a9b9ceebb774022bbc001b69a3bb4
2015-01-16 23:36:20 +01:00
Lynix 48ecb058f0 (Font) Added notification on atlas layer change
Fixed irrelevant error message when a font destroy an atlas


Former-commit-id: ddbd04e9172f2d35a8e0cf8a37fe48724aeb5c64
2015-01-16 23:34:56 +01:00
Lynix 77347c8582 (Font) Added notification on atlas change
Will only clear glyphes when setting differents parameters


Former-commit-id: b16a289742c0f23fa5066d3c52ce35b4abc626c6
2015-01-16 18:57:09 +01:00
Lynix cd5399459d Made Resource copying/moving impossible
It is still possible to copy some Resource-based classes though


Former-commit-id: bbb6066f736c210015ff9fdfded7d95eb9695359
2015-01-16 16:28:38 +01:00
Lynix ff7cfa226e Improved Atlas class
It now handles layer resize failure and will notify listeners of a
pointer change


Former-commit-id: df5e2a129897128a4e41e0b3205f6a1dbeb2069c
2015-01-16 16:26:15 +01:00
Lynix 5eec0d2abe Improved (Fixed ?) Material Copy/Move
Former-commit-id: 8eb9b716e2b028c6d2e249f9706ad6f5567c95dc
2015-01-16 14:03:06 +01:00
Lynix c2f3ba00f2 Revert "Added ResourceConstListener"
This reverts commit 2492f87ba89bafa180308c60d2470b07e3aac27d [formerly 793b9a8884fb6153d5da152e2cf22659fc7e511b].


Former-commit-id: 05a9dff26921db1e7c1c5b90c0cd50073a839f3c
2015-01-16 13:02:53 +01:00
Lynix 40db7a7292 Fixed AbstractImage destructor not being virtual
Former-commit-id: fd93b711d9b4ffbd370a61d1a7515da71e3d6001
2015-01-16 12:53:23 +01:00
Lynix b5dbe6f03f Added XY_Color VertexLayout
Former-commit-id: 0f53126584b61738b25b1d86cec819d6166ad678
2015-01-16 12:52:10 +01:00
Lynix bdaa4f2838 Renamed TextStyle_None to TextStyle_Regular
Former-commit-id: 3bd44c785f8c6f011bcade1242b051d8662287d2
2015-01-16 12:45:29 +01:00
Lynix 9d83f3f474 (Font) Added spaceAdvance SizeInfo
Former-commit-id: 2767915c2554103615918347c6e742cb324092c5
2015-01-16 12:42:27 +01:00
Lynix 1781e93462 Renamed AbstractFontAtlas to AbstractAtlas
Former-commit-id: 2908a05a7d2d6d44e2e29e96c52cafe962382b71
2015-01-16 12:40:23 +01:00
Lynix e3de7e6f3c Added Atlas listeners
Former-commit-id: a487b6ed53d9b97bfee27b28ba5523e43c1e9e7e
2015-01-16 12:36:13 +01:00
Lynix 1b266e7d7c Allowed font to set glyph border
Former-commit-id: f410fb83ecd0e1ace639e32fd809d00caa4145bc
2015-01-08 14:24:35 +01:00
Lynix a9ef2f7e36 Added support for faux-bold and faux-italic
Former-commit-id: 259429e8d38b0299e30d539253b50e3aab12c76b
2015-01-08 14:19:53 +01:00
Lynix 88af94b987 Added ResourceConstListener
I don't know yet if it's a good idea but at least it's an idea


Former-commit-id: b034a787d8d8ccce0804f1276958b32c9e149147
2015-01-07 23:47:09 +01:00
Lynix b6c5668232 Separated atlases from Font class
First use of shared_ptr, yay!


Former-commit-id: 4c22341fba5674746d5299cf0e8dbf6dc31d5362
2015-01-07 23:46:26 +01:00
Lynix 904319ee90 Improved/Fixed Texture class
Allowed move constructor/operator
Fixed Texture::Download/Texture::Update
Made InvalidateMipmaps public


Former-commit-id: b8b6a54bc5d6250f640fed6582dc694df6405f73
2015-01-07 21:03:29 +01:00
Lynix 9293022e71 Added sprite overlay rendering
Former-commit-id: 1e25a7d85f06f4a4bc3ed0ead76df01db440671d
2015-01-07 19:27:15 +01:00
Lynix 6c4f8e7396 Added SparsePtr::operator[+|-](unsigned int) overload
Let's hope it will be enough to stop GCC from barking at me


Former-commit-id: 0bcdf37acdc2e49a4ddd310dcdeb5bd6c66225a1
2015-01-07 19:19:53 +01:00
Lynix 72a24c4d7c Aded Renderer::GetMaxTextureSize()
+ minor changes


Former-commit-id: 6b80280d018c323ceb393c58aab96d68a15f3ff2
2015-01-06 19:03:39 +01:00
Lynix 5cbdd8832c Turned DataStorage enum into flags
Allowing for example hybrid buffer implementation


Former-commit-id: 74af1ba5b11b945abdfa6b46d0c11d600eca6d7c
2015-01-06 13:36:58 +01:00
Lynix e3f7644831 Added class AbstractImage, inherited by Image and Texture
Former-commit-id: 16e5db4937a145ac244d6c70e4c74662622f86d9
2015-01-05 15:08:29 +01:00
Lynix 304b4d13cc Removed Texture::UpdateFace
Texture::Update is now able to update cubemaps faces (one at a time)

Former-commit-id: 7468761d1f08fc9477af8da5a38722508c044917
2015-01-05 14:32:34 +01:00
Lynix d13ab1a050 (Texture) Reflected Image interface (size getters)
Former-commit-id: 4d979671c7b49191fb44b5fae7e9bfb266cd1417
2015-01-05 13:51:46 +01:00
Lynix b2b18a9f51 Added Image::GetSize (returning the image's dimensions)
Renamed original Image::GetSize to GetMemoryImage


Former-commit-id: a2b54f171353b8197639b5f2b3911e4b3f2a8db2
2015-01-05 13:41:56 +01:00
Lynix 5daf09e41b Added OpenGL-like Vector constructors
Former-commit-id: 302389b6a915d66a0a0fb4cc9a748ed5266ae98c
2015-01-05 02:32:57 +01:00
Lynix 0f033eaed9 Added CallOnExit::CallAndReset()
Former-commit-id: 045ff61445203999757971deeeafee719fc5506a
2015-01-04 18:57:01 +01:00
Lynix 911e10fa84 Renamed Buffer::IsSupported to IsStorageSupported
Former-commit-id: 12309ca590820fd68ab2b15a4c41ffb554832603
2015-01-04 18:30:50 +01:00
Lynix d560975e09 Renamed (Set)BufferFunction to (Set)BufferFactory
Former-commit-id: 6165dcd881716461a9886be6ce7fd6bb2b335ef0
2015-01-04 18:23:06 +01:00
Lynix b3d72ec094 Renamed BufferStorage enum to DataStorage
Former-commit-id: 97eede03eb6bb85e506c640d40c9d6e7acb2e099
2015-01-04 18:16:31 +01:00
Lynix 8a836b2060 Added Font class (+ FreeType loader)
Former-commit-id: 1811304cd0efe9a86cbae83faaf4c39d9fae248f
2015-01-04 14:21:09 +01:00
Lynix 4de17fdffb Remade sprite rendering
Added VertexColor shader flag
Added color sprite attribute
Added VertexStruct_XY_Color(_UV) struct & declaration


Former-commit-id: b664f4520aa55f4502f85f9dedab9b92040a8c16
2015-01-04 13:19:07 +01:00
Lynix e69c2982b9 Minor changes
Former-commit-id: 1282e3600c687647f637aec42f05d033266e1d33
2015-01-04 13:08:26 +01:00
Lynix 97ff9bc4ac Improved texture creation
Fixed possible wasted space on NVidia hardware


Former-commit-id: 42a26c88d8bd03b1ac845c62984cf8c355f1902a
2015-01-04 12:50:56 +01:00
Lynix ed1cc7a092 Added viewer-relative directions
Former-commit-id: 9d80744bd227689426b76df7e3c273de13424041
2015-01-03 22:39:51 +01:00
Lynix 596f407a79 Added DebugDrawer::Draw(position, size)
Draws a "size"-sized box centered on "position"


Former-commit-id: 9385762a4118fe76364faa5819fd9a94efceefbf
2015-01-03 22:32:56 +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 4e9bec804a Merge remote-tracking branch 'origin/master' into Font-Update
Former-commit-id: c62f6317f401e200eff303fcf5b8945302fd89c6
2015-01-03 22:21:14 +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 ad3c70bbc8 Added SparsePtr substraction operator
Former-commit-id: e2dadc06b1f1abbd257689e6eaee77ebbfa0af5b
2015-01-03 21:50:37 +01:00
Lynix 2bfb798dd9 Minor changes
Former-commit-id: fd74c48a546663f4d4802826ee2d396b0874e2c9
2015-01-03 21:45:37 +01:00
Lynix 528969d0fa Merge remote-tracking branch 'origin/master' into Font-Update
Former-commit-id: ae0244334123a3442c7675df80b1a501a6837257
2014-12-17 14:00:20 +01:00
Lynix e55c521e96 Added support for skeletal models (WIP)
Former-commit-id: 6a6c2d9f2c68267df79dc48fa56450d2a563e323
2014-12-17 13:56:33 +01:00
Lynix 1ee02d4fcf Improved code, fixed missing includes
Thanks to d@rk-marouane (@progdupeu.pl)


Former-commit-id: 4147388501d4263e624f4c6402902ef071f88ffd
2014-12-17 13:53:59 +01:00
Lynix 20607238df SparsePtr: Allowed negative stride
Former-commit-id: 9ca3101347bdc071503ec9edb75b4f896a6dd2e0
2014-12-11 18:56:55 +01:00
Lynix 7316cbb694 Added OpenGL support for pixel formats A8/L8/LA8
Former-commit-id: b17942f7bf22daf90ddf5d8093da6c26b64a67ce
2014-12-10 19:01:03 +01:00
Lynix 96798da027 Added TODO
Former-commit-id: 11658e200641ba0846bc8b89376e034cd0b6c9a4
2014-12-10 14:41:56 +01:00
Lynix a393271f04 Improved GuillotineBinPack
Added explicit copy/move constructor/operator
Added Expand method
Added Insert overloads (you are now able to query which rectangles were
inserted)
Made occupancy computation more precise
Overloaded methods taking a unsigned int pair with Vector2ui


Former-commit-id: f063c04a1aea0d26594db642c2466264fe139450
2014-12-10 14:38:32 +01:00
Lynix d22c4a5ac9 Added A8 pixel format
PixelFormat::GetBytesPerPixel() will no longer warn with
less-than-one-byte formats

Former-commit-id: af41f0c2bc7a35c2ee617980878628ff1c8bf868
2014-12-07 03:09:39 +01:00
Lynix 15ddc29179 Added implicit conversion to SparsePtr
Former-commit-id: 5116a5e7687706640cd5d2ef99f5c181e00ee841
2014-12-07 03:06:12 +01:00
Lynix a51cbc1e49 Added Sprite::SetSize(float, float) overload
Former-commit-id: 672a2e4f5c2a2d40b4af42c7ee4b7b37d3774117
2014-12-07 03:05:27 +01:00
Lynix 42b28e732c Removed whitespace
Former-commit-id: e7bfe92a625f6102abc4fe3b11b498c43b371ee9
2014-12-07 03:04:24 +01:00
Lynix 5ae54677f1 Fixed Matrix4::IsIdentity()
Former-commit-id: 7f3dfb47241ec2625e7ba02decb53ad5fd3d60ac
2014-12-07 03:04:04 +01:00
Lynix b56e40f35a Added comment
Former-commit-id: 045a48cb1b0e798de31cd2aff0708324648da409
2014-12-07 03:03:45 +01:00
Lynix 3db73921c2 Made 2D nodes easier to use
Former-commit-id: 80c0340b93c203bd874568c9d4fb5e2fc88a5860
2014-12-07 03:03:35 +01:00
Lynix 90e6bf4493 Made Music class non copyable
Former-commit-id: ccbd014514b3c9f59c3fee940cc307afb890f634
2014-12-07 02:58:01 +01:00
Lynix df6fdf6784 Added a Size parameter to View class
Allowing independent from rendertarget size


Former-commit-id: c131b6dd95692c72a969bf0cc6edd997911bbe58
2014-12-07 02:57:30 +01:00
Lynix 4b2e3370d9 Added GuillotineBinPack algorithm
Former-commit-id: 9f2fb342e7bd9e1b33937a4fd462c993ae5cec3e
2014-11-26 02:35:59 +01:00
Lynix a008439cde Added depth sorting attribute to Material class
Only works for billboards for now


Former-commit-id: 50a46d3266a2e7fc6d75629103ad8b7193b13bf3
2014-09-11 00:10:24 +02:00
Lynix 04be41082c Added A LOT of oveloads to AbstractRenderQueue::AddBillboards
Former-commit-id: 51b73a110e61cee7ad8fca42b10afd59363de809
2014-09-06 11:59:57 +02: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 c86de3ed7e Merge pull request #31 from Gawaboumga/master
Some changes

Former-commit-id: f4ef15537da8edef3881def68dce39f6455f9b94
2014-09-03 13:47:39 +02:00
Lynix 023e41512f Merge remote-tracking branch 'origin/master' into Particle-Update
Former-commit-id: 8b2a22ff4546805cdbae394df3cdcdf4228198e5
2014-09-03 13:37:39 +02:00
Lynix 522ceb1e30 Improved SparsePtr class
Added implicit conversion from a normal pointer to a sparse pointer
Added implicit conversion to boolean
Added implicit conversion to normal pointer
Added support for const pointers
Renamed Get/Set to GetPtr/SetPtr


Former-commit-id: 32d5d2ec6a7b296c5b89b722de9ca142d5c64aae
2014-09-03 13:32:37 +02:00
Lynix e32c0c626e Fixed global math include
Former-commit-id: 0f1871a2ecf1e8b94d63612c7357d6fc0ab0287b
2014-09-03 13:30:21 +02:00
Lynix 1b94977722 Added Quaternion::Normalize static method
Former-commit-id: a4530be00673dec5b9731b75fb4edbac7ccd69d5
2014-09-03 13:30:12 +02:00
Lynix 00a35cd565 Removed useless enum
Former-commit-id: b342be41eda3271320954a0279cf0a2afdfcd8e2
2014-09-03 13:29:54 +02:00
Lynix 659eb31757 Added support for billboads
Improved ForwardRenderTechnique code


Former-commit-id: 2386de85c26839565f087885ffcb098ef263bdfa
2014-09-03 13:16:56 +02:00
Lynix aeec8ee0f4 Enabled new shader flags
Former-commit-id: df06f4faf4c7275c702338eee1ed14a2445662a1
2014-09-01 16:00:54 +02:00
Lynix 67ecefd380 Added sprite color attribute
Former-commit-id: 1db061b862315495cb40ff308348a0ac8d41e304
2014-09-01 15:42:51 +02:00
Lynix ea43edbaf3 Separated ParticleEmitter
Renamed ParticleEmitter to ParticleSystem
Added class ParticleEmitter

(First implementation, this will probably change)


Former-commit-id: a1f80db340983da5e85cedc974dd6b24a98e25b0
2014-08-31 14:09:43 +02:00
Gawaboumga 18cf235172 Update of two headers
Former-commit-id: 813c36932bf842d6ad6c26aace9249894359c8de
2014-08-27 14:30:22 +02:00
Lynix 54382afc37 Merge remote-tracking branch 'origin/master' into Particle-Update
Former-commit-id: 7ec9fba80c2b47a1fb811c7912df67262986c9f0
2014-08-25 23:09:36 +02:00
Lynix 98aa804de5 Flipped texture coordinates
Nazara now use a top-left corner origin for UVs (DirectX-like)


Former-commit-id: 550dd76cf15bc731d1e23060d1af15c3cd5cb4fd
2014-08-25 22:37:36 +02:00
Lynix 9b1f63ce11 Fixed possible bug
Former-commit-id: 3ce9541e99d91140547ed8b60297d3d3785a0630
2014-08-25 20:23:00 +02:00
Lynix 6e27acc492 Added Color vertex component
Removed Userdata4 vertex component to keep the count to sixteen


Former-commit-id: b048f11f44528d1cf6657d095768b188217421ba
2014-08-25 20:22:10 +02:00
Lynix fd293f8564 Fixed missing include
Thanks to lepiaff

Former-commit-id: 458060b52bbc74f632bfa8bef643d22e780a4a8f
2014-08-23 22:04:48 +02:00
Lynix f3baf9f9df Merge branch 'master' into Particle-Update
Former-commit-id: a015cefb77bfb41617e94368ac58f5cfe12266fe
2014-08-18 19:11:43 +02:00
Lynix 0d69267992 Added Image::LoadArrayFrom* (convert an atlas to an array)
Also added Texture::LoadArrayFrom* shortcuts


Former-commit-id: f3cde12d5b634c75de8745fa800c30749e0fe662
2014-08-18 18:13:30 +02:00
Lynix e76b57e120 Fixed Image level computation
Array depth will no longer be taked in consideration when computing
level count


Former-commit-id: 93bf114127b5e252c3f8a8cbf938fcd09534a9ca
2014-08-18 17:19:09 +02:00
Lynix df44d799c8 Added [Index|Vertex]Buffer easy constructor
Former-commit-id: 4536af8c833c15b49876c773defd3475a561df4b
2014-08-18 15:39:44 +02:00
Lynix a15e3abd0c Added Mass particle component
Former-commit-id: 491f488b7eab8aeb06a441701ca004f1738571e6
2014-08-09 00:31:01 +02:00
Lynix f395cb7579 Added ParticleEmitter::GetFixedStepSize()
Fixed missing implementation of ParticleEmitter::SetFixedStepSize


Former-commit-id: 255fcca4afe40cccf38a561f09f29a0a4ceccd71
2014-08-09 00:30:24 +02:00
Lynix 0976607eb9 Added fixed step update
Switched back to defaulted operator=(ParticleEmitter&&) since it can't
throw exception anyway


Former-commit-id: 178b040a735ef01dcda21b45a317b6c534b5782e
2014-08-08 21:21:04 +02:00
Lynix 202f675301 Changed particle callbacks arguments (offset, count) => (startId, endId)
Former-commit-id: 24550dad44e55aa9dfabaf916cbfb8e25df0451a
2014-08-08 20:59:49 +02:00
Lynix e9267d7f43 Added particles first implementation
Former-commit-id: 2b98ce2f007927690bdecd4092e211013bf568cb
2014-08-08 17:17:58 +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 b413727a21 Added required flags to UberShaderPreprocessor
Former-commit-id: 1118fb08d1c0a7f6ebd18042f9a2044738bc4169
2014-08-05 09:43:19 +02:00
Lynix 149ef145a3 Fixed DebugOff
Former-commit-id: ba77eb95c3b5b3d4d88730c0fa029fd4f40e9c91
2014-08-05 09:42:37 +02:00
Lynix 43b4f696b2 Added FIXME
Former-commit-id: 61dfdb35eb265a34c94913947f4ae9164e79c0d9
2014-08-05 09:41:57 +02:00
Lynix ce01892482 Fixed missing include
Former-commit-id: 2adfb798af325a6c56244a3218072be74be237fb
2014-08-05 09:41:22 +02:00
Lynix 7a2a10b390 Added VertexMapper constructor
Removed useless headers


Former-commit-id: e8925f48eec9c52dc4f2ad7bf6a61deb755bc0ee
2014-08-03 20:58:09 +02:00
Lynix 0415f32b86 Added some comments
Former-commit-id: 42fb1dd19abec2befd7cb065f794e4b765d1411e
2014-08-03 20:57:24 +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 dc146fdf61 Removed useless forward-declaration
Former-commit-id: b68020d18b9f4b62b8f060574a46433af56a599e
2014-07-28 12:21:05 +02:00
Lynix 35c0bc7087 Used std::forward for PlacementNew function
Former-commit-id: e77b64bb90d849d856d93426a68b4d76cb499971
2014-07-28 12:20:47 +02:00
Lynix 8b34e21e2f Improved code
Fixed Directory being copyable
Fixed ByteArray and String self-assignation
Made it clear Clock is copyable


Former-commit-id: 36702d8a389abe6d3faa1e283d9a20f0326041a6
2014-07-23 11:57:04 +02:00
Lynix 221e2583ac Removed useless file
Former-commit-id: 162cc21adea7dbdf6604ed8d8b25485ec1442d90
2014-07-23 10:21:49 +02:00
Lynix e6dea541a7 Added memory helpers
This will protect some memory-related code from new redefinition


Former-commit-id: 337e69e70acd0bf8dbc3ba1657c6bb0bddfd5df4
2014-07-22 17:26:31 +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 9e04e8a0e4 Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
2014-07-15 00:59:02 +02:00
Lynix 7a6195991c Added Quaternion component type
Not compatible with Vertex Declaration though


Former-commit-id: 3174553981ab23fe59ed616c2ce1a27bf7db0108
2014-07-13 09:29:12 +02:00
Lynix 7d5876d505 Updated VertexStruct
Former-commit-id: 988df22928da5cce6ab5c62f3e3f4d75a8cee57b
2014-07-13 09:28:15 +02:00
Lynix a1efed20a3 Fixed debug build error
Former-commit-id: a96aa0c4b78c4095ae461f5a4ee81be3074fc47d
2014-07-12 15:05:23 +02:00
Lynix cf95b128c5 SparsePtr: Fixed some operators not being const
Former-commit-id: 1393ab9299502328829efb0daa0b17c1a74fdd2e
2014-07-12 12:48:25 +02:00
Lynix 27aea8ae2a Fixed VertexDeclaration copy constructor
Former-commit-id: 54bd378364c987c975ca2e83187b3559f4b9d92c
2014-07-11 10:23:55 +02:00
Lynix ca54b6cdca Updated module headers (generation)
Former-commit-id: a9a2e4eaeda16caa67989ae81c55ac090b1454de
2014-07-11 10:23:19 +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 10a17bbf68 Removed debug code (Oops)
Former-commit-id: 48bd8955884352990a3a00b1453fcfc101fa7781
2014-07-10 10:41:50 +02:00
Lynix 55697908d1 Added TODO
Former-commit-id: 45750e5f2f198532f913c5b8abdbbfa190e7a749
2014-07-10 10:12:33 +02:00
Lynix ebb13d3bf2 Added DebugDrawer::DrawLine and DebugDrawer::DrawPoints
Former-commit-id: e1b2278a7c11ebfc8050bad23aef7a9a4cbf3c25
2014-07-10 10:12:25 +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 d84c2e040c Removed Identity test in TransformVertices
Former-commit-id: a9b3fc4ddd7af762e063f0faae3b0245e24f4e18
2014-07-08 11:56:47 +02:00
Lynix f19b89f947 Updated Skinning code
Former-commit-id: ae608042061847b2f710abce8101eb008ef2a661
2014-07-08 11:31:14 +02:00
Lynix d3c3ad5bb8 Improved code
Former-commit-id: 31d737ae9d45a14a59b85118b9797565610866ff
2014-07-08 11:29:30 +02:00
Lynix 5c2ae93d0b Reworked TriangleIterator
Will now output vertex indices instead of vertex data (making it way
more useful)


Former-commit-id: c82d61ca0ac3f2908d57e167dade74af42282b06
2014-07-08 11:22:32 +02:00
Lynix 70e1327071 Reworked VertexMapper to make it way more generic
Will work with any attribute and vertex declaration


Former-commit-id: ca99734bd8a9c3e57c99b1cc338f03e79dda55f6
2014-07-08 11:21:41 +02:00
Lynix af1d2d9146 Reworked SkeletalMesh class
It now uses a VertexBuffer


Former-commit-id: 81d5db90d9eb8a097342a1ae613468edcae730a6
2014-07-08 11:18:09 +02:00
Lynix d636174c04 Added SkeletalMeshVertex struct
Alias of VertexStruct_XYZ_Normal_UV_Tangent_Skinning


Former-commit-id: 1bec60d399dd3293aebb7a7b84370ff33e8b85dd
2014-07-08 11:13:07 +02:00
Lynix 8ab69fa3ab Improved VertexDeclaration class
Added AttributeUsage_Unused
Improved code and error handling


Former-commit-id: bd0f3755867d38e0f03b282970031fbadc10213e
2014-07-08 11:11:11 +02:00
Lynix 0ebf993ed8 Added UTILITY_SKINNING_MAX_WEIGHTS
Hopefully fixing compilation errors


Former-commit-id: 503c5c53a6fff9eb62e0037253fe4b54a90b806a
2014-07-08 10:59:42 +02:00
Lynix 9969d5f5f3 Removed UTILITY_MULTITHREADED_SKINNING config
Useless since SkinningManager is now handling this at runtime


Former-commit-id: 4a8b2d08de2f5c367821786d2cdff5dd45daadef
2014-07-08 10:58:58 +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
Lynix f819beb747 Added Nazara[Prefix|Suffix](Macro)
Former-commit-id: 2a6d67c5061f98b16f7107c64e9d73cf0036c9e8
2014-07-08 10:46:09 +02:00
Lynix c882de1a6f Made IndexIterator::operator[+|-] const
Former-commit-id: 5008803eaad4bb514ad85d1ae92ac2c624fa84a3
2014-07-07 12:08:45 +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
Lynix f45a9d5bf6 Added SparsePtr class
Which is basically a pointer with a different stride than it's type size


Former-commit-id: a025889d7f9fa70f99e9cd5944682aebbd02317e
2014-07-01 20:25:14 +02:00
Lynix b595f703da Added OffsetOf header and function
Designed to replace the old offsetof macro


Former-commit-id: faa45ebfd3c1f9cc817f6fccf5c94d2c1527349d
2014-07-01 19:26:39 +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