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
Lynix
8b67d17e38
Added texture samplers
...
I hate Git branchs
Former-commit-id: 6978f1489cdc841d36fbcd6f1a8e01a4adbfcb8a
2012-12-17 14:56:29 +01:00
Lynix
025ed1cfd0
Renderer update
...
-Added Renderer::GetRendererName()
-Added Renderer::GetVendorName()
-Renamed VertexArrayObject to VertexArrayObjects
Former-commit-id: 93489d5f93f8258dec0c4d8bcf72185abd7f75a8
2012-12-13 20:16:09 +01:00
Lynix
8376fb38cf
Module can now initialize optionnal classes
...
Former-commit-id: 899007b7879451d15d0808a03b8dfea0cd3413a4
2012-12-08 22:21:20 +01:00
Lynix
dc9f202155
Fixed calling Uninitialize when not Initialized
...
Former-commit-id: 1d0bb01f881be76e163a5ac27c91d7fb6a873bb7
2012-12-08 21:51:43 +01:00
Lynix
700a09b9c9
Fixed typo
...
Former-commit-id: a2a050220608320d0b13c7bb69b0752a36a253ae
2012-12-03 23:50:18 +01:00
Lynix
b06acfcffd
Index buffer no longer permit 8 bits index size
...
Modern graphics cards don't like 8 bits index size, so I introduced
"Large indices" option, it means 32 bits indices when used otherwise the
index size is 16 bits
Former-commit-id: 213902de6704ceef16c6ea311ba0c6c5d2f6e665
2012-12-02 17:01:02 +01:00
Lynix
a2eb55e74a
Fixed repo
...
Former-commit-id: 5992da5ec759f05dabf82009e660ec58eed96365
2012-11-29 10:15:10 +01:00
Lynix
0a2e19fa22
Merge remote-tracking branch 'origin/3D-Engine'
...
Former-commit-id: 1781615fc780accbe6c11d55fd896038d97ffec9
2012-11-29 10:11:30 +01:00
Lynix
38c1cf2ad0
Added Texture-to-Material loader
...
Former-commit-id: 789185ca38b4a995c67dfd054306cb920ca56b74
2012-11-25 19:33:58 +01:00
Lynix
18baa6b8c1
Fixed typo
...
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix
70ef422950
Big skeletal animation update
...
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp
-Animation:
Renamed Create to Create[Keyframe|Skeletal]
-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method
-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method
-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory
-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object
-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function
-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material
-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise
-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function
-Quaternion:
Added ComputeW method
Added Conjugate method
-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration
-RenderWindow:
Made CopyTo[Image|Texture] method constant
-Resource
Fixed RemoveResourceListener crash
-ResourceLoader:
Loaders are now used in a LIFO context
-Stream:
Renamed GetLine method to ReadLine
-String:
Fixed Simplified
-Utility module
Added configuration define for strict resource parsing
-VertexBuffer
Now takes a VertexDeclaration pointer
-VertexDeclaration
No longer throw an error when getting a non-existing element
Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Lynix
6301bd8f38
Fixed matrices not updated when changing shader
...
-Ugly fix
Former-commit-id: 19140fcf8966b1db9c2c324f4654db77f6a4aeef
2012-11-03 00:34:12 +01:00
Lynix
1b3129868f
Added NzRenderer::[Get/Set]LineWidth
...
Former-commit-id: 827f762294bb67debb2a7faed07b595df2b9d20d
2012-11-01 18:28:49 +01:00
Lynix
5c2f94f953
You can now change the point size
...
Former-commit-id: b0018b14973d36f822524e8e5b94ba940a63897f
2012-11-01 18:20:15 +01:00