Commit Graph

73 Commits

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