Commit Graph

502 Commits

Author SHA1 Message Date
Lynix fe25249136 Replace Listenable system by signals
Former-commit-id: 16fb0b3e703ca4b41ceb97fab938cebb05f677d4
2015-06-07 15:16:11 +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 f82446dda3 Merge remote-tracking branch 'origin/master' into NDK
Former-commit-id: 9298de8cee7d3d204c80d974dafb315e3049fd10
2015-05-19 01:06:56 +02:00
Lynix 602dd561d2 Renderer/RenderTexture: Fix size miscalculation
Former-commit-id: e1f3b7b72a3c9de192bab34021aa4e7fbf04a1ff
2015-05-13 14:03:26 +02:00
Lynix 446f537e3f Merge branch 'master' into NDK
Conflicts:
	src/Nazara/Physics/Geom.cpp

Former-commit-id: 8fd71e34dbe105890042acc55e30b64e7c457ed4
2015-05-06 23:45:41 +02:00
Lynix 44ff678002 Core: Added Listenable class (Made class Listener system generic)
Former-commit-id: 3baed32d6720c6455f50af51f262292ece9943fa
2015-05-06 18:17:18 +02:00
Lynix 40321cf9b1 (RenderTexture) Fixed size computation
Former-commit-id: 67f6408f0fe88af5066f9eb2c29f2426673db7cd
2015-03-28 14:54:52 +01:00
Lynix 5ecddb20c6 Remade RenderWindow::CopyToImage
Former-commit-id: a903cc8ea67d13ff7cf231d075235c3c17593a60
2015-03-18 22:24:07 +01:00
Lynix ee6ca790a5 Fixed missing includes and warnings under VS
Former-commit-id: c06756b62b616e7322aced01062966247bb7654f
2015-02-21 15:04:07 +01:00
Lynix 622fce6f9c Regenerated global headers (and updated copyright year, again)
Former-commit-id: b5b24f4a3610e1dead2883afaded48bf3554669d
2015-01-30 22:33:41 +01:00
Lynix 2462a6f4bf Removed conditional support of PBOs
Altough the Renderer doesn't support them yet


Former-commit-id: 8417f465c913bea1226fa7d742fe1dc614ecf72b
2015-01-30 15:44:34 +01:00
Lynix db4a499151 Removed support for OpenGL 2
Former-commit-id: e796c333d6c2ef0550ff4427d36dcfbaf00ef924
2015-01-30 15:39:25 +01:00
Lynix 7a73314ef5 Added resource managers
Former-commit-id: 9c071230c1e325ec672c9dfe30ee7e498baa1d08
2015-01-28 20:53:40 +01:00
Lynix 53162c1722 Added a Library to most reference-counted classes
Former-commit-id: 3ed409a71dcd5ce4eec7672ac26f8fff00e3b136
2015-01-28 18:06:05 +01:00
Lynix e18e490c59 Replaced (Uber)ShaderLibrary by template class ObjectLibrary
Former-commit-id: d488cfd4e5e3ff31112fffebce2b7cdb86cc2e55
2015-01-28 15:49:04 +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 d0bd62705b Fixed FaceFilling bug introduced with 38a3c1455187e72e8fced0b92debc87288c8c770 [formerly f16751c0d98bcc87ad6f976c7b7052cdb4b16a05]
Former-commit-id: 8cb2b02c3f960a74827ec81aa36f76c349cc5dda
2015-01-24 16:20:11 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix 47fa5dc731 Moved resources includes to the top of the implementations
Former-commit-id: 788a62f66aa47fe76e32ef0b76e9e962b1c5f2e6
2015-01-19 20:34:09 +01:00
Lynix c18fc4cb14 Removed ShaderUniform_[EyePosition|SceneAmbient]
Former-commit-id: 89dedaf78d86def598531f472a1a6ecd56fe8371
2015-01-19 00:15:01 +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 86502df849 Merge branch 'Font-Update'
Former-commit-id: d293f78c891a74554c6b990afafdc1eb1cc0a584
2015-01-17 00:36:28 +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 09856d42e3 Fixed Texture::Download with mipmaps
Former-commit-id: 1c2f6bd9fdd580e3fd5a6425bfa49251766676d2
2015-01-07 23:42:07 +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 72a24c4d7c Aded Renderer::GetMaxTextureSize()
+ minor changes


Former-commit-id: 6b80280d018c323ceb393c58aab96d68a15f3ff2
2015-01-06 19:03:39 +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 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 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 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 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 58fbed1dbd Improved error message
Former-commit-id: ca50bb0afe38364cb4f3bfe71b057fa8721337bd
2014-12-17 13:56:01 +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 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 e14789830c Removed useless line
Former-commit-id: 3499a0aa828a9886f55ad7c5da55e52ef930eb49
2014-12-07 02:56:05 +01:00
Lynix 91471e048f Moved comment
Former-commit-id: 63d8ff7494668696550efdf258c372a8e3f3bce4
2014-09-14 19:50:46 +02:00
Gawaboumga fc4d84f206 Littles fixes
-Light Manager: I prefer iterators
-OpenGL: The UV problem is solved, but you forget to change the cubemaps
-Texture: GetSize() could return a int instead a NzVector2ui
-Algorithm: Simplification
-Utility: Couldn't compile

Former-commit-id: db890711b451d03427871fb997549a1b13c7d80a
2014-08-27 14:34:35 +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 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 b3351037c7 Changed some error messages
Former-commit-id: e578d813dd7a8691506af080b79bc1ec99b65e3c
2014-08-18 18:15:19 +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 8640f86f44 Added TODO
Former-commit-id: f655a6d2bb7788480536503b9370019454961e27
2014-08-18 18:02:36 +02:00
Lynix 2a29dcf6e9 Improved Texture class code
Removed some code duplication


Former-commit-id: affa0bf18ea317b3276a7e8d0a6351f28037dfba
2014-08-18 17:59:06 +02:00
Lynix 7266111834 Fixed missing include
Former-commit-id: c63f03fa2233f3d5ac0cd24cb796c48693c0ff39
2014-08-18 17:20:14 +02:00
Lynix f56e0504e6 Buffer, [Render]Window now always throw on error
Former-commit-id: a739cd4c7d96e7cf497338c525e9ab1b5d6a844a
2014-08-18 15:45:37 +02:00
Lynix 0d69da09b9 Fixed Renderer testing non-enabled vertex components
Former-commit-id: d624d98b7b8a61fc3dc92d4c10441e759a50f310
2014-08-18 15:42:17 +02:00
Lynix f154dbfb31 Fixed rare bug when initializing debug drawer
Former-commit-id: 287d10c05a481a139449068014780aa7119096bb
2014-08-18 15:41:42 +02:00
Lynix b413727a21 Added required flags to UberShaderPreprocessor
Former-commit-id: 1118fb08d1c0a7f6ebd18042f9a2044738bc4169
2014-08-05 09:43:19 +02:00
Lynix bbecdf4a92 Fixed DrawInstanced required OpenGL version
Thanks to Raakz


Former-commit-id: c82bf27371817fe05cce789ef84548e3cf64abab
2014-07-30 00:40:05 +02:00
Lynix 60d5c09c18 Renamed Basic.hpp to Algorithm.hpp
Former-commit-id: ba2858d26fb55069313fafc3e4464dc2e9224b7d
2014-07-28 15:18:39 +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 9137357725 (Renderer) Improved vertex attribute code
Former-commit-id: eacb4df1848e7ae807ca607496a50a38451ea083
2014-07-12 14:59:14 +02:00
Lynix 8128079927 Fixed error message
Thanks to Raakz


Former-commit-id: 71f2febaa811c19f7c3da69d1154d0e6e97da726
2014-07-11 23:06:46 +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 ebb13d3bf2 Added DebugDrawer::DrawLine and DebugDrawer::DrawPoints
Former-commit-id: e1b2278a7c11ebfc8050bad23aef7a9a4cbf3c25
2014-07-10 10:12:25 +02:00
Lynix 9de90a78e5 Disabled the use of glTexStorage* when creating a proxy texture
Looks like AMD drivers does not like it


Former-commit-id: 854492215bb977df39d06cf7b1beab97c0961e08
2014-07-08 11:02:27 +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 28471925ac Fixed possible bug in computing sampler id
Former-commit-id: 29c20403571218c05e3d4405482bb312adda5a35
2014-07-02 01:08:58 +02:00
Lynix 126cd75e4d Fixed possible bug
Former-commit-id: cc37ef2c51011d7a679a10d5386f9bbf0241d51f
2014-06-27 21:17:23 +02:00
Lynix 4d27f12fec Fixed typo
Former-commit-id: 746c6caea0f7f806db0e7554deb125030009e069
2014-06-25 19:34:55 +02:00
Lynix 9ba6258478 Made context creation exception-safe
Former-commit-id: d55687cea712a34e905b3f2f2d85611d1d0b1b74
2014-06-18 20:34:05 +02:00
Lynix cc8a3033ca Re-added proxy textures and glTexStorage2D optimization for cubemaps
Former-commit-id: 95ff10767a906c602bab4d0cf75acc27c68ddd41
2014-05-28 00:25:43 +02:00
Lynix 579b22e753 Disabled error exception during Renderer::EnsureStateUpdate
Former-commit-id: c09ad9e1da95b483ce65a04100182c787cc0aafb
2014-05-28 00:24:10 +02:00
Lynix b899ff294b Improved RenderWindow context creation
Former-commit-id: a744a433603e4f14ce6d7e7c269d5ff659b1a0f7
2014-04-26 12:58:07 +02:00
Lynix beb1879aca Added support for double and integer attribute (VertexDeclaration)
Improved Renderer error handling


Former-commit-id: 8cded7c0a7d1ba7c8583ef3e7b74b1d9604088e3
2014-04-25 21:11:14 +02:00
Lynix 4898018396 Fixed static_assert tests
Former-commit-id: 4cc139b350d34b2b753b5cd0167d74a014c26e24
2014-04-25 20:24:42 +02:00
Lynix b16f2bf763 Added OpenGL function loading
glVertexAttrib[I|L]Pointer
Also removed useless test (since unsigned can't be under zero..)


Former-commit-id: 628172ca764956349db5498b6ac7fec6400febfa
2014-04-25 20:17:00 +02:00
Lynix bd61d07998 Made Renderer use OpenGL::DeleteVertexArray
Former-commit-id: 16619f9be146e3201350299ff6d288655c7c2130
2014-04-25 20:02:23 +02:00
Lynix c23649c363 Improved comments
Former-commit-id: 41b9a4704712f96c155c518f321e59415adf9294
2014-04-25 18:55:21 +02:00
Lynix 3035fb8fa2 Made Context::Create exception-safe
Former-commit-id: 913e87b684028ca6f9c41e529628c77c171761c1
2014-04-25 18:34:48 +02:00
Lynix fe8ff688e8 Improved OpenGL context implementation
Former-commit-id: 20988bd4a0fa85b7c073a189e71dab25571be617
2014-04-25 14:03:01 +02:00
Lynix 7ac3fee3a5 Added OpenGL::Delete[FrameBuffer|VertexArray]
Also renamed OpenGL::OnContextChange to OnContextChanged (since it
happens after the context change)
Also improved RenderTexture implementation


Former-commit-id: d845b1405294dd3aa134d392585069bbb28a77a3
2014-04-25 12:38:53 +02:00
Lynix 4ef5f6fb3d Fixed leak from UberShaderPreprocessor
Former-commit-id: 4415e602b2b226dbb434dfd6b8d5133952b49c04
2014-04-21 22:15:36 +02:00
Lynix c606599e19 Updated MemoryManager
Renamed MemoryLeakTracker[.hpp|.cpp] to MemoryManager[.hpp|.cpp]
Added MemoryManager::GetAllocatedBlockCount()
Added MemoryManager::GetAllocatedSize()
Optimized MemoryManager (no longer allocates a time buffer)


Former-commit-id: 0e9c720cbb48fbed7006db3bd1000ebbc22c9583
2014-04-21 22:13:31 +02:00
Lynix 7d99550925 Made Initialize/Uninitialize static methods from non-submodules private
Former-commit-id: 78dac32c8650dc9eb4fd2c7f0bece030012497cf
2014-04-21 00:08:34 +02:00
Lynix 9b74459ea8 Updated comments
Former-commit-id: 77b83bdf6f52325efdc3e3b9a1d2743124426531
2014-04-20 22:34:10 +02:00
Lynix 70e57a338f Optimized hardware buffers
Former-commit-id: 59f96166fb259137b5e0445eb5faa0b912b0f29c
2014-04-20 22:32:09 +02:00
Lynix ae316394f9 Fixed instancing rendering
(Finally fixed that bug)
Lowered required instance count to ten


Former-commit-id: 6aeb69eb8ca08727a029e07080aed558e1d1f089
2014-04-20 21:27:53 +02:00
Lynix 9d35e40a23 Made Shader::Send* ignore invalid location
Former-commit-id: 22bd15678df54b3cd35fb3333046a7c43bd3ed9e
2014-04-20 14:32:13 +02:00
Lynix 3ddcd3b7ed Optimized Renderer
Renderer was doing useless glActiveTexture calls


Former-commit-id: 5b27c6dcf9382cae79f5fc92577b42e92b851351
2014-04-16 09:11:38 +02:00
Lynix 4026e310bc Optimized OpenGL samplers binding
Former-commit-id: 6afb2ed4d9851e09ff1006cf7c81df0cac0bed7d
2014-04-16 09:02:32 +02:00
Lynix 9428097b53 Alphabetical commit
Former-commit-id: 0d591ff3ddbd8d7536c6c18a9e88fd25d78e4bba
2014-04-12 14:40:03 +02:00
Lynix b30d325ca5 Made Submodules initialized when used
Former-commit-id: 203a4a3b07e18301ce003129bb6af22e0478d07a
2014-04-12 14:19:29 +02:00
Lynix 55ce80b524 Added UberShaderPreprocessor::IsSupported "implementation"
Former-commit-id: 753dbc41d008bd33ed996ac1a745d8e11d836c48
2014-04-09 23:05:13 +02:00
Lynix f88c6cf0d7 Fixed debug shader not compiling on some configurations
Former-commit-id: 7e31eec475dc5e40491f480e9f45476acab5fdb6
2014-04-04 14:56:45 +02:00
Lynix 970c0c8ef8 Optimized String usage
It will no longer initialize the buffer if not necessary


Former-commit-id: b8c910268ed3db6affb8f88b45d043d1dc021aa7
2014-03-15 00:26:29 +01:00
Lynix 2c3d8ee5f4 Fixed ShaderStage::Destroy
Former-commit-id: 87b67ba4e459a698bef9cd899ed7d5eb2cb6259c
2014-03-06 10:33:16 +01:00
Lynix 00caa6b74a Optimized Renderer (it no longer makes useless allocations)
Former-commit-id: c62e1acd27643103f736d0fdc2f4fb13018004b2
2014-03-06 10:16:23 +01:00
Lynix cd73159d5b OpenGL class now uses CallOnExit class
Former-commit-id: c8c5bb7e50e73ba007e095eaf801fa7d5e3aa215
2014-03-06 09:55:26 +01:00
Lynix dcccc8a5ad DebugDrawer no longer create shader
Former-commit-id: a7f0f19b01b96fde835624d4a0ac7b029a40a039
2014-02-28 12:14:48 +01:00
Lynix 86bdab9055 Big UberShader update
-Added GRAPHICS_MAX_LIGHTPERPASS macro
-Added glGetActiveUniform OpenGL function
-Added (Uber)ShaderLibrary
-Added (Uber)ShaderName parameter to models
-Changed uniform system
-Fixed Node copying
-Moved Material class to Graphics module
-Optimized lights
-Remade Shader class
-Renamed Node::Invalidate to Node::InvalidateNode
-Renamed ShaderProgram to Shader


Former-commit-id: 15f0cad52969e91a2442e7d750ba2dc412f3549d
2014-02-21 19:27:39 +01:00
Lynix fd958fd9ac Updated the way module are initialized
It's safer and prevent a bug when initialisation fails


Former-commit-id: a04f18e18f2d9db11ec595a9b8096c2792b39641
2014-02-21 11:13:14 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix 9533f16e46 Fixed forward shading point lights for real
Thanks to Raakz


Former-commit-id: a6c2b282a18d2dfa94732afb401811c8dd5d4b93
2014-01-18 09:08:42 +01: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 6545b919c5 Fixed forward shading point-lights
Former-commit-id: 43b933a1f8f4be8e9a8c2189c73f86e4f33229a4
2014-01-12 10:02:07 +01:00
Lynix b9dca8966d Improved Deferred Shading performances
Former-commit-id: 7251e9f552230c31409f7780929fcc30f2b85bed
2014-01-11 19:16:36 +01:00
Lynix 9bf66e7e16 Added RenderTexture::Blit
Added RenderTexture::GetSize


Former-commit-id: f385ccc39a2051765db9befa3b77f75b17529447
2014-01-11 19:10:19 +01:00
Lynix 16578e728f Renamed RenderClearFlags to RendererBufferFlags
Former-commit-id: 7821709bc7310820e877db9bb26d1fb50d7ba217
2014-01-11 10:12:06 +01:00
Lynix f3f16144ab Modified comments
Former-commit-id: d66e58a05e212983a6522989ece76a7bdf0292c6
2014-01-05 15:28:57 +01:00
Lynix 3e0561830f Added Renderer::GetDepthFunc
Former-commit-id: 222cefb90f7fd4771bd5b9f9eab9f9adf02b72d9
2013-12-26 11:33:01 +01:00
Lynix 0d8572a60c Added DebugDrawer::DrawCone
Former-commit-id: 8c02ac50f3ca6a7fba1494f8f2a42eebfe949f7b
2013-12-09 14:16:48 +01:00
Lynix 9357079e1d Added RenderBuffer class (Usables with RenderTexture)
Former-commit-id: f32a2d5e5018ce3b1d41db87aec6fa910c8183a3
2013-12-07 23:48:21 +01:00
Lynix 3f10354461 Removed redondant comment
Former-commit-id: 29c54a7cf234b9f944c18b51a32e1eb8b1629d4e
2013-12-05 10:20:53 +01:00
Lynix 0e99205046 Fixed rendering
Resource encoder now store unsigned char instead of signed char


Former-commit-id: 648dd1d55facd40bc37075291782a54cbbc4811f
2013-11-26 15:25:43 +01:00
Lynix 37c45153af Fixed whitespaces
Former-commit-id: 56787f5a0cf0093ad63b33a8b4746968215e2a11
2013-10-19 18:28:15 +02:00
Lynix a88fe446bd Made use of lambda functions
Former-commit-id: d7d81da2a9fc73c9b3e44d292bda9fd47ac561f3
2013-10-09 10:14:15 +02:00
Lynix 14eda38cac Made static_assert useful
Former-commit-id: 135783fe3ee3f5304309dd6948f0a83a349e62b2
2013-10-09 10:14:14 +02:00
Lynix eefd0ddd35 Fixed Texture::Update behavior
Former-commit-id: 8d1de49226b72b3f1e063b9da87c3391bce9ea95
2013-10-09 10:14:13 +02:00
Lynix 239ce4e323 Fixed Render[Texture|Window] crash when released while on use
Former-commit-id: 30b4bd5b7eb7b665cecfe6366117b7a3b4290202
2013-10-09 10:14:12 +02:00
Lynix 185b450c64 Improved Lighting
Former-commit-id: 6ac2d8ec9a3b283a8179e5f0bb5d5896ec57a14b
2013-10-09 10:14:11 +02:00
Lynix b01fad269e Improved Texture mipmap support
Former-commit-id: 0fc3e003a6524e5c026712a3dc695cf80817ea88
2013-10-09 10:14:10 +02:00
Lynix 8ce5f879a8 Improved RenderTexture class
Former-commit-id: 0126eeefce5512a504024e1c0ef2e5f1345003b3
2013-10-09 10:14:09 +02:00
Lynix a410e8856a Improved Error system
Former-commit-id: ddd08841d30575713f4a28ac02566f92791e5539
2013-10-09 10:14:09 +02:00
Lynix 14a939d785 char -> const char
Former-commit-id: 2ffdcff37f29286517fb33c1b56151405f84bc53
2013-09-23 09:54:13 +02:00
Lynix cd46555acc Fixed Spotlights
Former-commit-id: c802da26d010dcf7df6f234be204690e718634a6
2013-09-23 00:23:28 +02:00
Lynix 3167531b39 Fixed some VS warnings
Thanks to Fraggy again !


Former-commit-id: bd0eea66714701b065892d8b69d576e7b3615dd2
2013-09-21 00:10:10 +02:00
Lynix cfa282bcca Fixed missing file from commit b373633
Former-commit-id: 1e9fc525f0d72e6c80028d0d456518a4c290e0c7
2013-09-20 21:47:35 +02:00
Lynix 8073e70090 DebugDrawer will now auto-initialize
Former-commit-id: 62756d6aa2e4cc25be93cb27c4698cfb3fc0e6d8
2013-09-20 16:21:50 +02:00
Lynix 197bddb6ba Transformed "Encoded shaders" into "Encoded Resources"
Former-commit-id: ead4cc9bb162d2f9e5c08756575e84f3a9056679
2013-09-20 16:20:51 +02:00
Lynix 15fa8378c9 Added a lot of methods to send uniforms
including arrays and integers vectors


Former-commit-id: c365cccdbad7eab1a1212e78759d7fda857012f9
2013-09-16 01:01:59 +02:00
Lynix 19a5a3e433 Updated Deferred shaders
Former-commit-id: 8f8f7529f952a65bfe1a34a06e3fdd5bd900f138
2013-09-06 18:35:41 +02:00
Lynix a7e0ec5984 Shared ShaderProgramManager flags to both fragment and vertex shaders
Former-commit-id: 10a5b3493df9c1e756702f572c90fbbd6e697039
2013-09-06 18:32:28 +02:00
Lynix c1dc2884b0 Forced Backgrounds fragments depth to maximum (1)
Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
2013-09-06 18:31:04 +02:00
Lynix fee15472d4 Fixed RenderTexture warnings
Former-commit-id: 0d9b7c6f27727f7e9d08fab00c18f55d6278c02b
2013-09-06 18:25:14 +02:00
Lynix 6732761108 Texture are no longer associated with a RenderTexture
Former-commit-id: 4430c36afd081f20b89322ca1e0c2b8c4ef73ce5
2013-09-06 18:23:24 +02:00
Lynix d4abb8fc49 Made stencil per face side
Former-commit-id: 093f2125886d47ebc79f97aaecfad3a5216f399a
2013-09-06 18:17:58 +02:00
Lynix 1ed8ea8ad5 Fixed missing files from previous commit
Former-commit-id: 0a757b5cfda97dd6f88d5a17b8dc41329c139d32
2013-09-06 18:05:39 +02:00
Lynix e92f388c65 Renamed FaceCulling enum to FaceSide
Former-commit-id: 7847dcd64e0b23d261a9ec07f3bc1a3c162985e5
2013-09-06 17:59:48 +02:00
Lynix 52b0ed7e72 Fixed compilation error
Former-commit-id: 32c37e6af9fcdb3409b32e84e8765657c2201a68
2013-09-06 17:50:54 +02:00
Lynix 0dd56560e2 Renamed StencilOperation_[Decrement|Increment]ToSaturation
Replaced incorrect "ToSaturation" part by "NoClamp"


Former-commit-id: a0bb122a332bdae291a8a7d46474980574ae168e
2013-09-06 17:43:34 +02:00
Lynix 9d4f7250aa Added RendererComparison_NotEqual
Can't figure out why it was missing


Former-commit-id: cf243f8a081208cc97924d802611d0e3376d8135
2013-09-06 17:41:14 +02:00
Lynix 10f7d185a6 Added conditional rendering
Former-commit-id: 30c062a469ad5f534b95a33c07c92c89036aacf7
2013-09-06 17:38:34 +02:00
Lynix e60b1c010e Added OpenGL functions
glBlendFuncSeparate
glStencilFuncSeparate
glStencilOpSeparate


Former-commit-id: 61d1a9fb2fe92232bee4421d8a4770a03f33d7ef
2013-09-06 17:23:32 +02:00
Lynix 66a64fb71c Fixed GpuQuery bug
Also added GpuQuery::GetOpenGLID()


Former-commit-id: 2a5d01a945ffeb576b5dce6756dbffcc511c237c
2013-09-06 17:17:47 +02:00
Lynix 0fd535a9e8 Added a lot more texture formats
Former-commit-id: b3a553ea39a174d84c5cd6fcca853ee83c1e6670
2013-09-06 12:07:38 +02:00
Lynix bed20692a6 Fixed OnResourceDestroy callback not called by the destructor
Former-commit-id: 8b961101f88343ddd3bb382d2c333052efb03164
2013-09-03 13:57:32 +02:00
Lynix 76abb5bf16 OcclusionQuery renamed to GpuQuery, and added query modes
Former-commit-id: b36a9b623653ac9b1eb422b09b3781ef46b81aca
2013-09-03 13:49:17 +02:00
Lynix 00fe872f27 Added matrices inverse to Renderer uniforms
Former-commit-id: 06333817aa0537e6dae80f8c72061f206023256a
2013-08-28 03:07:17 +02:00
Lynix df8449c13e Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
2013-08-28 03:05:46 +02:00
Lynix 866ff64548 Added Texture::GetSize()
Former-commit-id: da4b31cf95f605f83da17f63bc9a6dbd1d8b35c6
2013-08-28 02:52:47 +02:00