Commit Graph

847 Commits

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