Lynix
4e5cdea454
Core/Signals: Remove Connect/Disconnect macros
...
And make interface easier to use
Former-commit-id: 5b789c9acb694839cb173ae96392650d80d383b7
2015-06-07 17:28:19 +02:00
Lynix
004b53c590
Renderer/Renderer: Replace listeners by signals
...
Former-commit-id: c1293f7f7cc31c4122ba866fc44d93188917ad93
2015-06-07 16:52:19 +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
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
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
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
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
72a24c4d7c
Aded Renderer::GetMaxTextureSize()
...
+ minor changes
Former-commit-id: 6b80280d018c323ceb393c58aab96d68a15f3ff2
2015-01-06 19:03:39 +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
2bfb798dd9
Minor changes
...
Former-commit-id: fd74c48a546663f4d4802826ee2d396b0874e2c9
2015-01-03 21:45:37 +01:00
Lynix
58fbed1dbd
Improved error message
...
Former-commit-id: ca50bb0afe38364cb4f3bfe71b057fa8721337bd
2014-12-17 13:56:01 +01:00
Lynix
b3351037c7
Changed some error messages
...
Former-commit-id: e578d813dd7a8691506af080b79bc1ec99b65e3c
2014-08-18 18:15:19 +02:00
Lynix
0d69da09b9
Fixed Renderer testing non-enabled vertex components
...
Former-commit-id: d624d98b7b8a61fc3dc92d4c10441e759a50f310
2014-08-18 15:42:17 +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
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
126cd75e4d
Fixed possible bug
...
Former-commit-id: cc37ef2c51011d7a679a10d5386f9bbf0241d51f
2014-06-27 21:17:23 +02:00
Lynix
579b22e753
Disabled error exception during Renderer::EnsureStateUpdate
...
Former-commit-id: c09ad9e1da95b483ce65a04100182c787cc0aafb
2014-05-28 00:24:10 +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
bd61d07998
Made Renderer use OpenGL::DeleteVertexArray
...
Former-commit-id: 16619f9be146e3201350299ff6d288655c7c2130
2014-04-25 20:02:23 +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
3ddcd3b7ed
Optimized Renderer
...
Renderer was doing useless glActiveTexture calls
Former-commit-id: 5b27c6dcf9382cae79f5fc92577b42e92b851351
2014-04-16 09:11:38 +02:00
Lynix
00caa6b74a
Optimized Renderer (it no longer makes useless allocations)
...
Former-commit-id: c62e1acd27643103f736d0fdc2f4fb13018004b2
2014-03-06 10:16:23 +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
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
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
a88fe446bd
Made use of lambda functions
...
Former-commit-id: d7d81da2a9fc73c9b3e44d292bda9fd47ac561f3
2013-10-09 10:14:15 +02:00
Lynix
8ce5f879a8
Improved RenderTexture class
...
Former-commit-id: 0126eeefce5512a504024e1c0ef2e5f1345003b3
2013-10-09 10:14:09 +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
10f7d185a6
Added conditional rendering
...
Former-commit-id: 30c062a469ad5f534b95a33c07c92c89036aacf7
2013-09-06 17:38:34 +02:00
Lynix
00fe872f27
Added matrices inverse to Renderer uniforms
...
Former-commit-id: 06333817aa0537e6dae80f8c72061f206023256a
2013-08-28 03:07:17 +02:00
Lynix
f679f323c2
Made scissor rect/viewport Recti instead of Rectui
...
Also greatly optimized Renderer::Get[ScissorRect|Viewport]
Former-commit-id: 87945543144216715520a4c3ab30629636995afd
2013-08-26 13:37:33 +02:00
Lynix
72a57fbf4c
Fixed crash when resources in use by the Renderer are released
...
Former-commit-id: 98eedb556f0387f0a5c1cafde2fc74645d1d0457
2013-08-26 00:40:45 +02:00
Lynix
fe6816b089
Fixed buffer corruption bugs ! (Yeah !)
...
Former-commit-id: 3e2c82a786810a160d324f8ccf284f8e505613a0
2013-08-23 12:52:52 +02:00
Lynix
2bc30f4638
Improved error message
...
Former-commit-id: 5d40418cbadf107929c1a359a4415bd9aedf978a
2013-08-21 18:47:45 +02:00
Lynix
f73c99d502
Renderer::Clear now takes UInt32 instead of unsigned long
...
Former-commit-id: ea276bb13e4d5334422eb685ec1a9d908d6f9895
2013-08-18 21:00:04 +02:00
Lynix
699328aa1f
Fixed rare bug when creating VAO
...
Former-commit-id: 79ee6055feeb683ffc762d581fbe834a68d0bcef
2013-08-16 00:27:00 +02:00
Lynix
42a1b9cbe6
It is now possible to initialize VertexBuffer without VertexDeclaration
...
Former-commit-id: 3f8e82925dea8644384b4ceb962a06101bccc1a3
2013-08-16 00:26:35 +02:00
Lynix
2a0ceb16fa
Fixed missing Renderer initialization message
...
Former-commit-id: 4e1fa706954593fc42454689072fea3a6c89668f
2013-08-08 16:31:40 +02:00
Lynix
69d150272f
Remade instancing
...
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix
6507e1ed2d
Updated buffers interface
...
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix
4b783f6f6f
Renamed Shader to ShaderProgram
...
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
2013-08-02 18:39:20 +02:00
Lynix
c276a4a623
Moved OpenGL header include
...
Former-commit-id: 655be533b7c01ae8817530fe434807ca5be62968
2013-08-01 23:21:08 +02:00
Lynix
fc56553021
Better handling of module initialization
...
Former-commit-id: 08d4b87a9b7cc10e672c23374306081fc9259de0
2013-07-31 14:17:48 +02:00
Lynix
f681587c63
Fixed crash if OpenGL couldn't init
...
Former-commit-id: 32feaaa180df7f9f4c02ec5f593166df15aae234
2013-07-30 20:36:18 +02:00
Lynix
4352083c4b
Added ShaderManager (Experimental)
...
Former-commit-id: 327e373f2b932e31184e88c5f29bd5bd8fa3ba46
2013-07-15 00:23:04 +02:00
Lynix
380b65814a
Fixed compilation errors and bugs
...
Former-commit-id: f09f4135cafa7601b217b11b0ebda74789629b6e
2013-07-09 23:54:30 +02:00
Lynix
b31771471a
Added automatic uniforms: (Inv)TargetSize
...
Former-commit-id: 382351590abe98dc9ef8f6ab4ecb30c8b42806a4
2013-07-09 00:54:17 +02:00
Lynix
b035852576
Optimisations
...
Former-commit-id: 81d277a49b57f061a6339678bd953054e434c613
2013-07-03 01:17:22 +02:00
Lynix
3c1c04b2aa
Fixed HUGE memory leak (Thanks to Raakz, again)
...
Former-commit-id: 5a0acd6816b95b83484b20dbbdf8c5e9b4e9f237
2013-07-02 14:57:24 +02:00
Lynix
eecb0225c0
Instancing should work now
...
Former-commit-id: f1f70d19893030ee87e11e5b4d5a1a7c8a1b9a2a
2013-07-02 00:52:04 +02:00
Lynix
f7681df2eb
Fixed potential bug
...
Former-commit-id: e59fa471b79e9d07b815d69c988aaf2b4ac05768
2013-07-01 20:13:49 +02:00
Lynix
b120e14b21
Fixed compilation error
...
Former-commit-id: 8abcae77e3b62bb9ea1005a92be6bf8c88ae6cbe
2013-07-01 18:31:15 +02:00
Lynix
4abefc3e93
Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
...
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix
7172ceaa6b
Reworked (fixed and optimized) matrix handling
...
Former-commit-id: 6148748da07e228a746f51950231126b036b05eb
2013-06-27 19:04:22 +02:00
Lynix
984ade783a
Added Renderer::DrawFullscreenQuad
...
Made [Color|Texture]Background use a new shader-based algorithm
Former-commit-id: cfd319b33712c270726eb697e258d61db2ca6835
2013-06-27 12:54:20 +02:00
Lynix
abe56631dd
Changed default material
...
Former-commit-id: 60fe21986d8cdd22e89ea4ccfbb9c5b33ba8eed6
2013-06-26 19:59:34 +02:00
Lynix
f9c9c67076
Fixed depth buffer sometimes not cleared
...
Former-commit-id: a5bda481479a51787601549a306f3a6b809c6afb
2013-06-26 15:19:29 +02:00
Lynix
44fdb48384
OpenGL's VAOs are now used the right way
...
Former-commit-id: 04a944b55d7406bc6028a2d90a5550b0d5e888f0
2013-06-24 00:24:22 +02:00
Lynix
35dec6160a
Removed useless code
...
Former-commit-id: 620d12e1e2a0d5c53d9190cd096086e210b08e47
2013-06-19 14:59:11 +02:00
Lynix
3e8ed9b1e4
Fixed conflict between VAO and OpenGL::BindBuffer
...
Former-commit-id: b1182e3b0327a73431a8e81106df9109e9a80cc2
2013-06-18 02:29:31 +02:00
Lynix
7a45ff4884
Added RenderStates
...
Former-commit-id: c742cf2fc1cac807b9e2bcbd88c2b3d77327c106
2013-06-17 23:58:45 +02:00
Lynix
b44be269c1
Improved Renderer
...
Faster VAO search
Resistance against texture operation during rendering
Former-commit-id: ad9ec2f0ef81a88cb841add227d6d8fb3ee40d42
2013-06-15 16:21:57 +02:00
Lynix
7080719287
Fixed some Renderer bugs
...
Former-commit-id: 5a9a4be7282c4b43c47056064d344d41c42cbaba
2013-06-09 11:31:00 +02:00
Lynix
fbc0d7404e
Improved code
...
Former-commit-id: 33082b8f9d55c7a3b9550c788eb27fc613c08032
2013-06-05 13:24:33 +02:00
Lynix
cf6e2be0b0
Renamed PrimitiveType to PrimitiveMode
...
Also renamed RENDERER_INSTANCING_MAX to RENDERER_MAX_INSTANCES
Added RENDERER_SHADER_MAX_LIGHTCOUNT
Former-commit-id: bc26e087dd1b55c424836e6e2fa6e1dc0f17effa
2013-05-24 20:12:40 +02:00
Lynix
8f09eea340
Renamed XImpl to AbstractX (More consistent)
...
Where * is Buffer, Hash and Shader
Former-commit-id: a99681ab1d515c9b39e6ba5f447c9000ef1092b8
2013-05-21 13:54:10 +02:00
Lynix
0b66452e33
Fixed textures updated twice per state update
...
Former-commit-id: fb4d79e920899e6761225d72928ea62878f2c485
2013-05-16 22:45:40 +02:00
Lynix
28f46a5c90
Added ShaderUniform (Faster GetUniformLocation)
...
Former-commit-id: c8a01eccde07fc3b2aac46c5b974f8406ad949f0
2013-05-11 14:03:22 +02:00
Lynix
aa1399b750
Updated Renderer.cpp
...
Former-commit-id: 6d87af3cf87cba6ce0192f5e08e978c48cc1de2c
2013-05-03 21:46:23 +02:00
Lynix
4f3060a40d
Greatly improved Renderer
...
Separated Viewport from Scissor rect
Improved performances
Removed Lock/Unlock system from Shader/Texture class
Former-commit-id: f54bca6de58fe9d495d9192dc0d761f92594ee86
2013-05-03 02:58:35 +02:00
Lynix
8694f71c2a
X::Initialize no longer takes arguments
...
Former-commit-id: a8233235e89112630f2d31c637723443bd0829a4
2013-04-03 16:41:57 +02:00
Lynix
5dd2d0d6a7
Changed Resource::SetPersistent default argument
...
Former-commit-id: 803534a0216d85f96e6f6f7810e5e76ebcc8bb44
2013-03-24 01:07:01 +01:00
Lynix
ea2cc97169
Added Texture backgrounds
...
Former-commit-id: 8aa98a9b8bee5fbf1b5eefa958a7b9095b784cf5
2013-03-22 11:15:17 +01:00
Lynix
086408f95f
Renamed FillInstancingData to SetInstancingData
...
Former-commit-id: 081209d333fc8884a453e9052acfaac653d3133b
2013-03-16 01:08:28 +01:00
Lynix
4ee6ca05ed
Minor prevent fix
...
Former-commit-id: b07c861f348d0f232c365b63c46f2d41ee476b0e
2013-03-14 16:01:56 +01:00
Lynix
32b1d02cec
Updated copyright texts
...
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix
9f780ef2bd
Optimized Buffer locking/filling
...
Former-commit-id: 41cb66257f3eeef375086bf51f26230a06ca9eb8
2013-03-06 22:40:15 +01:00
Lynix
cd48d70844
Made Context/RenderTarget usage constant
...
Former-commit-id: 07a2655ea642664bc49ca335cf5147ebf9fb9f26
2013-03-02 19:09:13 +01:00
Lynix
b4d7e16749
Updated Renderer
...
Former-commit-id: 74ad349814a5624cdf1c61bfb9e0123b82be06f2
2013-03-02 00:22:49 +01:00
Lynix
3b0751fb88
Added support for Instancing
...
Former-commit-id: 62f5f3186423b01f7a0ac2762969dca12bea1327
2013-02-26 01:40:57 +01:00
Lynix
f5cc6ba8fc
Added FIXME comments
...
Former-commit-id: a26466fef726879d1e73f09aa1448711ffdcc0b0
2013-02-15 13:40:58 +01:00
Lynix
00d636fb1c
Changed module initialisation behavior
...
Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314
2013-01-29 01:57:51 +01:00
Lynix
07aa5d095c
Fixed matrices not being updated in the shader
...
Former-commit-id: 8eb208b656bec0d63163d2a00768a4216979a8b0
2013-01-05 19:51:01 +01:00
Lynix
c65e3d5def
It is now possible to use const shaders
...
A non-constant shader is no longer required to bind or to send uniform
Former-commit-id: 8fd7c03b65a2d9fcea69516c023fee034299148c
2012-12-25 12:26:40 +01:00
Lynix
df7b11d1d2
Added ShaderBuilder
...
Former-commit-id: 0eee75821b7bb4b2b69a020c8e79f3cbe18b522f
2012-12-25 12:14:57 +01:00
Lynix
1a4400facf
Fixed module initialisation failure bug
...
If a module initialisation failed, then it resources may or may not be
freed.
This is fixed.
Former-commit-id: 029e0844e392685a31b3afc02c5bf772e015a372
2012-12-25 01:56:49 +01:00
Lynix
1a5cf8cc0f
Fixed static variable in Renderer
...
Could not be used because of GPU-switching technologies like NVidia
Optimus
Former-commit-id: 7602e81747a40b1aceacc6b7d728ba269a30e333
2012-12-24 19:06:55 +01:00
Lynix
10730de74e
Refactored materials
...
(Renderer) Removed Apply function
(Renderer) Renamed SetTextureSampling to SetTextureSampler
Updated demo
Former-commit-id: d40a9ce05df35b078e645927451093da44eec314
2012-12-18 16:17:31 +01:00