Commit Graph

878 Commits

Author SHA1 Message Date
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