Commit Graph

117 Commits

Author SHA1 Message Date
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
0fd535a9e8 Added a lot more texture formats
Former-commit-id: b3a553ea39a174d84c5cd6fcca853ee83c1e6670
2013-09-06 12:07:38 +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
df8449c13e Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
2013-08-28 03:05:46 +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
e31a670041 Minor changes
Former-commit-id: 5954ff863d8f51d7ed47a1b84ae9ff0a5348ecce
2013-08-16 00:27:42 +02:00
Lynix
cbc92364f4 Fixed rare crash within OpenGL::[GetRendererName|GetVendorName]
Former-commit-id: a5b12a391178eef87129c9c8c9a58e7016a6279b
2013-08-12 22:03:46 +02:00
Lynix
5bc3d3b46e Fixed OpenGL Renderer and Vendor names
Former-commit-id: ce962b69924f6e78e51b6f2e86f1b6cccf7dc13e
2013-08-12 01:09:01 +02:00
Lynix
1ebaf4749c Added static assertions to secure code
Former-commit-id: 207f1135b3b40cee74fbf8ba98e6fb7379ba8c33
2013-08-03 20:58:50 +02:00
Lynix
d751718a16 Added methods to retrieve shader binary
Added support for GL_ARB_get_program_binary


Former-commit-id: 3c23cfd237680f7832d15279af9e4248f9fa4678
2013-08-01 23:22:48 +02:00
Lynix
48e5af6373 Added NazaraDebug macro
Former-commit-id: 5a8cec09bd4a7283f86d030ac2d867cda23736cd
2013-07-30 21:31:28 +02:00
Lynix
405e14d9ae Added OpenGL::GetGLSLVersion and ImageLoadStore shader extension
Former-commit-id: 97afadc93465132e6a698c5bf88e4ec070aff3db
2013-07-13 17:07:16 +02:00
Lynix
4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix
308c2cfd78 Decreased useless OpenGL calls (Optimization)
Former-commit-id: b07c32afa9aa98b91eb8bd146a175f693af539ed
2013-06-27 12:50:38 +02:00
Lynix
3b88cd936c Fixed bug with threads and OpenGL contexts
Former-commit-id: 044923d57873f4e1a1eb4001395a83dbe97aabed
2013-06-25 00:26:18 +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
00c2e824d1 The OpenGL wrapper now handles context change
Fixed some bugs
Thanks to Raakz


Former-commit-id: f156ba7aa3307cccd83c9c02987dadad02cd8185
2013-06-21 01:28:11 +02:00
Lynix
5886238e2e Fixed srcBlend not being updated
Former-commit-id: 84ae24fdc116c48b91b356810d3637b6510f971e
2013-06-18 18:31:30 +02:00
Lynix
274aa96037 Fixed condition (Thanks to Raakz)
Former-commit-id: 57b41719ccfea5d60ca4edb79da5b2f0548a56d5
2013-06-18 18:28:54 +02:00
Lynix
3e8ed9b1e4 Fixed conflict between VAO and OpenGL::BindBuffer
Former-commit-id: b1182e3b0327a73431a8e81106df9109e9a80cc2
2013-06-18 02:29:31 +02:00
Lynix
9e906c2568 Fixed gl(LineWidth/Pointsize) useless calls
Former-commit-id: 6636228886473d140981ed23db0d5dc9781535d4
2013-06-18 01:07:53 +02:00
Lynix
7a45ff4884 Added RenderStates
Former-commit-id: c742cf2fc1cac807b9e2bcbd88c2b3d77327c106
2013-06-17 23:58:45 +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
0717823b0e Renamed depth test to depth buffer
Because disabling depth test also disable depth write


Former-commit-id: 0e0b3353c309fb1d702d030accc4349f1f0c6d96
2013-05-21 16:16:36 +02:00
Lynix
c484bd38c9 Added OpenGL::BindTexture(unit, type, id)
+ Fixed OpenGL::DeleteTexture


Former-commit-id: 124ac3316f604e436378aed8d663f0d2b5889cd3
2013-05-11 14:04:41 +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
b448709836 Fixed OpenGL faces
Former-commit-id: 90968526c37926c56d7a569a9c2e0265028d0d86
2013-04-06 20:26:33 +02:00
Lynix
929c0db82d Added glDrawTexture (NVidia extension)
Former-commit-id: 51d43d7423adeef0f0f0c0de5c633ee3d3b6ce2a
2013-03-20 15:41:06 +01:00
Lynix
32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix
efd0f5eaf6 Fixed FBO extension not loading on old hardware
Former-commit-id: 5353ce64e5c2508f7cbc624139e4c823c86bf0fc
2013-03-13 00:31:59 +01:00
Lynix
aa67a52e9c Added glInvalidateBufferData loading
Former-commit-id: faf3a0848548107302ab64f15808212da71d3e64
2013-03-06 22:39:39 +01:00
Lynix
3b0751fb88 Added support for Instancing
Former-commit-id: 62f5f3186423b01f7a0ac2762969dca12bea1327
2013-02-26 01:40:57 +01:00
Lynix
ea1275e4f5 Fixed camelcase
Former-commit-id: 1f94fefc2f0ce07720ff19538903b9795605795a
2012-12-25 12:02:16 +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
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
68c6aa664a Replaced OpenGL namespace with static class
Fixed OpenGL functions not being exported
It is also more consistent


Former-commit-id: 3eddcb6f72412443eb56580180d0b9544ae4a9df
2012-12-13 15:47:29 +01:00
Lynix
73fdb9baaf Added TextureWrap enum<->OpenGL association
Also made array syntax consistent


Former-commit-id: 65794e3eec2ea326da0ee71bcd7b8c31632ab71c
2012-12-13 11:39:15 +01:00
Lynix
119a1420d1 Fixed OpenGL 4 not loading sampler objets
Also fixed file encoding


Former-commit-id: 51683c2d9dff8a56c96ad972c8b6d6006004f1f2
2012-12-08 11:48:30 +01:00
Lynix
e699969b64 Added OpenGL support for sampler objects
Also prevented an exception launch by the SeparateShaderObjects code to
escape.


Former-commit-id: ae594e16a85c02f0c649ef573189b4b722f713c3
2012-12-04 13:50:08 +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
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
Lynix
a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00