Commit Graph

488 Commits

Author SHA1 Message Date
Lynix ae53b01ca1 Added File::Write(ByteArray)
Former-commit-id: 7f064cc17d940b5d2e3229264598cb0f1c778c80
2013-08-03 17:13:34 +02:00
Lynix ccb3adfc1c Cleaned ByteArray class
Former-commit-id: a155b789634cb1e7d875be2f4d1ba6cc896b4212
2013-08-03 17:13:16 +02:00
Lynix c358e5ab6d Added option to disable menu keys under Windows
Former-commit-id: a596eb7ab2a24a7246d0bf08eeb00a3d746639d8
2013-08-03 00:20:48 +02:00
Lynix 4b783f6f6f Renamed Shader to ShaderProgram
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
2013-08-02 18:39:20 +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 29ee943871 Made non-filling version of ByteArray::Resize
Former-commit-id: 0fec6b5749a786fc1999b9fc718a481d47c52895
2013-08-01 23:14:49 +02:00
Lynix efd6185f56 Added Box::GetSquaredBoundingSphere
Former-commit-id: 12ecb5d84f44e39ddacb96b83a897f618337c2e1
2013-07-31 14:18:47 +02:00
Lynix 84ebd6043c Sphere::Distance now returns distance between center and point
No more negative distances


Former-commit-id: 1688b82e88621e20312b6b28090ed63941b3e02a
2013-07-31 14:18:27 +02:00
Lynix 48e5af6373 Added NazaraDebug macro
Former-commit-id: 5a8cec09bd4a7283f86d030ac2d867cda23736cd
2013-07-30 21:31:28 +02:00
Lynix 4352083c4b Added ShaderManager (Experimental)
Former-commit-id: 327e373f2b932e31184e88c5f29bd5bd8fa3ba46
2013-07-15 00:23:04 +02:00
Lynix 68d5f9a8e6 Added default subdivision value for planes
Former-commit-id: 3884f79e74e52b4d78140f3cf96c02768d7ba440
2013-07-14 00:47:23 +02:00
Lynix 405e14d9ae Added OpenGL::GetGLSLVersion and ImageLoadStore shader extension
Former-commit-id: 97afadc93465132e6a698c5bf88e4ec070aff3db
2013-07-13 17:07:16 +02:00
Lynix afbd002234 Minor changes
Former-commit-id: c66ee9a05270965921c48ab7b9faf3033a59ce20
2013-07-10 21:10:53 +02:00
Lynix 380b65814a Fixed compilation errors and bugs
Former-commit-id: f09f4135cafa7601b217b11b0ebda74789629b6e
2013-07-09 23:54:30 +02:00
Lynix 18cc3b16df Fixed leaks
Former-commit-id: 61b219e69fb048eef08ce03dca3a9cb2741760b4
2013-07-09 01:13:14 +02:00
Lynix 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +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 9197f05fdf Fixed typo
Former-commit-id: baf322c10dc625ca2f66e31525f1420a6a16fa7d
2013-07-01 16:31:00 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix 35d9a2fef7 Fixed Vector2 division operators
Former-commit-id: cceddfe0bdb1ac94355ad3d04e4c9dab51d2edce
2013-07-01 16:04:50 +02:00
Lynix 7172ceaa6b Reworked (fixed and optimized) matrix handling
Former-commit-id: 6148748da07e228a746f51950231126b036b05eb
2013-06-27 19:04:22 +02:00
Lynix 30cb518c74 Added Alpha Test
Former-commit-id: 59dc6ef8f1dbff49bb13cf452bf75326ad7a6257
2013-06-27 19:02:31 +02:00
Lynix f4ef89bb32 Made Matrix4::ConcatenateAffine more robust
Former-commit-id: 7d6f74959b29a597fa9b08d8d3c58fbaf9e2555e
2013-06-27 18:56:05 +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 1a6e55881b Renamed Background to AbstractBackground
Former-commit-id: c99ed2e48c4d82fb1100f412a85468c698142815
2013-06-27 12:53:04 +02:00
Lynix abe56631dd Changed default material
Former-commit-id: 60fe21986d8cdd22e89ea4ccfbb9c5b33ba8eed6
2013-06-26 19:59:34 +02:00
Lynix 245d6e105e Experimental new algorithm to sort transparents objets
Former-commit-id: ad8704584598e1edcd3699d234abaa132d88e581
2013-06-26 15:20:07 +02:00
Lynix d7a66d08b6 OBJLoader now support transparency
Mesh::AddSubMesh no longer return bool

Former-commit-id: 71217618d179c5853683f4615901565cb7cd3ab8
2013-06-26 15:17:53 +02:00
Lynix b7c4d607ce Improved interface of Primitive
Former-commit-id: bcd4f2eb247c8f7fb59d864884e6ecda5f60afb1
2013-06-25 14:06:04 +02:00
Lynix 0bd70f8df1 Readded DebugDrawer::Draw[Binormals|Normals|Tangent]
Former-commit-id: 7e5f98670914da0618d40b2e5fcf49b66f0627a1
2013-06-25 00:31:31 +02:00
Lynix 0e3a4fa90b Updated physics module (Still experimental)
Former-commit-id: 4852b7cf6eca5ba3177397586877fe3d3c39dbd9
2013-06-24 13:33:54 +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 3609f31708 Added std::hash for String, made use of unordered_map
Former-commit-id: 20f3d12bc3222873706949f0a7d0a131e237a247
2013-06-23 16:53:37 +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 b0c46b2384 Revised String class
Renamed String::Substr to SubString


Former-commit-id: 6aa925799e71af6916f7808368a3faa26efbe1bc
2013-06-19 02:25:19 +02:00
Lynix c1e57c829c Added experimental implementation of ByteArrays
Former-commit-id: c95729bb45059c199344471a61042d98090034c8
2013-06-18 21:07:53 +02:00
Lynix ebf402f138 Added GetNearestPowerOfTwo
Former-commit-id: 609d470e8478c659b816ad7d34fb9d56ad551b07
2013-06-18 21:06:41 +02:00
Lynix 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +02:00
Lynix 3e8ed9b1e4 Fixed conflict between VAO and OpenGL::BindBuffer
Former-commit-id: b1182e3b0327a73431a8e81106df9109e9a80cc2
2013-06-18 02:29:31 +02:00
Lynix 6c659410cd Made use of RenderState
Former-commit-id: 500aba0d0dd60e7371dea6c219d6a5ccfdcbadf8
2013-06-18 00:38:18 +02:00
Lynix 88d3ec1ad1 Refactored Material interface
Former-commit-id: 9a00be1b73b2c879fc77c9fdddc0192baa241fda
2013-06-18 00:37:40 +02:00
Lynix 7a45ff4884 Added RenderStates
Former-commit-id: c742cf2fc1cac807b9e2bcbd88c2b3d77327c106
2013-06-17 23:58:45 +02:00
Lynix 84cb7cb731 Cleaned LuaClass code
Former-commit-id: bba27b339435b22773255f9f69c55968505454ba
2013-06-17 23:58:17 +02:00
Lynix 54bc1d77fd Removed useless config defines
Former-commit-id: 37daf78c04fe1e810ab4e0ca6880c857797f7020
2013-06-15 16:11:19 +02:00
Lynix bb99d044bb Nazara now use meters as units
Added scale mesh parameter
Added smooth camera to FirstScene demo


Former-commit-id: b3985e10d84512e3b32f2569ac034ba63ace589a
2013-06-13 19:29:59 +02:00
Lynix 3294f18608 Added Node::Get*Direction*
Former-commit-id: e9c4f04da7b92965dc1236313ddebf66d0eaad8d
2013-06-13 17:05:21 +02:00
Lynix 28175f3170 Camera not longer use a LookAt view matrix
Former-commit-id: c07e1db9f939bcfe9ef09a1fdab88176f79b61e8
2013-06-10 16:42:17 +02:00
Lynix 7f9455b947 Added Matrix4::(Make)ViewMatrix
Former-commit-id: 4a21da456f90c5d0c53c291885b3a214be893b5e
2013-06-10 16:41:25 +02:00
Lynix f3d0618ae6 Added Mesh::Transform
Former-commit-id: c0680b23ff81a10a580934fc24d1ae4a13780595
2013-06-09 22:05:33 +02:00
Lynix 6b2af70f1d Cleaned interface
Former-commit-id: cdd284de8396d5988853c84d5db17bfa6fa0ba51
2013-06-09 22:05:05 +02:00
Lynix ca5fb44ecf Really fixed AABBs
Former-commit-id: 003979537f2ea5362849df8a65611739aea6d298
2013-06-09 22:03:42 +02:00
Lynix 40bf1723f5 Added Node::SetTransformMatrix
Former-commit-id: ca5c457f48b12b5603ee6a7629159a74388a9b42
2013-06-09 16:16:42 +02:00
Lynix e689f6f09f Added Mesh::Recenter()
Former-commit-id: 07ef8b3296b835e207bfa904af29546f724e6dc3
2013-06-09 16:15:13 +02:00
Lynix 542ce665c2 Added ComputeVerticesAABB algorithm
Made TransformVertices template
Removed TransformVertex


Former-commit-id: 68c7bdae2bd21adbed3fc7c54361c439ea0e5d37
2013-06-09 16:10:12 +02:00
Lynix a478926570 Fixed (I hope) Matrix4::GetRotation()
Former-commit-id: 9480437dde664034d7e44c81a3931922c215b646
2013-06-09 16:00:44 +02:00
Lynix 273391d8cb Added optionnal parameter to NumberEquals(a, b)
Former-commit-id: 30e69529d7e15857046327edd6cbe587a3951fa3
2013-06-09 15:53:49 +02:00
Lynix 7a7cfc3092 Added [Box|Rect]::Translate
Former-commit-id: 72b4cd351a7233df89709366fbe7ce59e4ba94e7
2013-06-09 15:50:56 +02:00
Lynix bb31a1666f Added [Box|Rect]::Get[Maximum|Minimum]()
Former-commit-id: 5226f2dfd2beaec2bc9075543f555cc48a457e3a
2013-06-09 15:41:57 +02:00
Lynix c940abdb75 Renamed [Box|Rect]::GetSize() to GetLengths()
Former-commit-id: 3c122057634a6472034b284bfe7091acbb41d004
2013-06-09 15:34:36 +02:00
Lynix c76c419867 Cleaned interface
And fixed some VS warnings


Former-commit-id: 8c89fa1d4dc92a362053e4cdeabe20537fcec2a6
2013-06-09 11:25:17 +02:00
Lynix 8460a96744 Regenerated global headers
Former-commit-id: 36bc6f9b3f71af890c98c2d9f2e716382bcfda7b
2013-06-09 11:24:13 +02:00
Lynix f74f9e964e Replaced Mesh::Build by BuildSubMesh(es)
Former-commit-id: c5b034aa764cdda0ea0c48182f2562968a10c226
2013-06-07 12:22:43 +02:00
Lynix f233db0b4e Changed default recursion level of icospheres
When used with PrimitiveList


Former-commit-id: b0010d2eb22535c7a2574f76546dc5d42ab4da5a
2013-06-05 19:49:56 +02:00
Lynix 928c0aaaf7 Added IndexBuffer optimization to Mesh parameters
Former-commit-id: 073b37fa9ede92f88861110fb4fb0b84d54e26ae
2013-06-05 19:40:54 +02:00
Lynix ccb6f5b729 Added indices optimisation algorithm
Former-commit-id: 89086e814ca11a048949fe0fc6e20648824bbb36
2013-06-05 19:39:48 +02:00
Lynix 910a79fc84 Cleaned interface
Former-commit-id: b5f1871c164dd72098e389b76edf0994fb1fb124
2013-06-05 15:56:51 +02:00
Lynix 146ca80a63 Added index iterators
Former-commit-id: de3ed77ba9e3c48aa68020e23ded679066b9878f
2013-06-05 15:33:43 +02:00
Lynix fbc0d7404e Improved code
Former-commit-id: 33082b8f9d55c7a3b9550c788eb27fc613c08032
2013-06-05 13:24:33 +02:00
Lynix 573b4ebf79 Fixed forgotten file in last commit
Former-commit-id: ac75cc7dacda565f0a12ac0afa58cf939b2b2e5d
2013-06-04 14:52:12 +02:00
Lynix 9239ff8881 Box primitives now uses vec3 lengths parameter
Instead of a Box parameter


Former-commit-id: 6c433e883252c6db8eba3b791d1e9364ce5d3b1e
2013-06-03 17:14:09 +02:00
Lynix fb839de33e Renamed (Oriented)Cube to (Oriented)Box
Also renamed BoundingBox to BoundingVolume


Former-commit-id: 795c70c265ba17f6b96fc30799e89f140c52852b
2013-06-03 14:18:31 +02:00
Lynix a3f1417abd Added Matrix4::Apply[Rotation|Translation]
Former-commit-id: 1c59aa48f057d4bdc4b4413e349d2b4290dec055
2013-06-03 12:57:20 +02:00
Lynix f712ed1c73 Merge remote-tracking branch 'origin/Physics-module'
Former-commit-id: d4e2c3b0633ac7916b646e6fe33c75ed94e68bf1
2013-06-01 12:06:09 +02:00
Lynix 714e3e01bc Added mesh generator functions
Added Mesh::Build


Former-commit-id: dcfc6587b67ab4ec350ab7ca04ae7f45475f6b1b
2013-05-30 13:25:45 +02:00
Lynix 65c08442ce Added Primitive(List)
Former-commit-id: 3080a1846616fb2dac25e6d341c8a9220f406de4
2013-05-30 13:22:10 +02:00
Lynix ac9e200e83 Merge remote-tracking branch 'origin/Graphics-update'
Former-commit-id: 6050b694c2c97ec65e7573d729985e5b7aacec84
2013-05-30 13:17:23 +02:00
Lynix c99ab36ebe Made Cube/Rect more user-friendly
Former-commit-id: 13ac0b9f6428059596c98f636caf61afd2a436b7
2013-05-30 03:02:43 +02:00
Lynix e0229ab390 Cleaned Thread class code
Former-commit-id: d8c918c7a3c50ed3ed2f225303540d3860863d4e
2013-05-30 02:59:08 +02:00
Lynix 465a7c246d Added Identity Matrix optimization
Former-commit-id: c426c3098659f9cf74fd7da33cadabe38a158358
2013-05-30 02:58:20 +02:00
Lynix b3f60e90fd Fixed Quaternion::(Make)RotationBetween
Could not handle parallel vectors


Former-commit-id: 3fed3a46d443b208dc95a5bcd29dd43fb7960114
2013-05-30 02:56:58 +02:00
Lynix 355d52324a Fixed licence text
Former-commit-id: c4f7c3c0fffc0449ebf0a405632877d902c3da62
2013-05-29 01:35:21 +02:00
Lynix 5f36817209 Rewritted rendersystem
Former-commit-id: 9cbc601413e057047b94b8b872ee2316a86638c4
2013-05-25 10:07:36 +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 8014f67eb8 Added Physics module
Former-commit-id: acc3ffe119ebfae9c0199eb878a621325c28844a
2013-05-23 23:16:36 +02:00
Lynix c934d8ed6b Added NazaraStringify(Macro)
Former-commit-id: 1b4b3165153013e9d2ff5e78c54c4a214deb7ac4
2013-05-23 02:12:22 +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 3ff5761703 Fixed missing headers
Former-commit-id: 85c27f12d393c087a455433b2bf7298a25f13b44
2013-05-21 14:00:23 +02:00
Lynix 3b8072c921 Regenerated Core and Utility global header
Following d46df4f changes


Former-commit-id: e1475d9f72469e0c4a3541265f23d292f6947fc0
2013-05-21 13:59:51 +02:00
Lynix 864fcc639c Fixed missing include
Former-commit-id: fac04e2c5524993a0499cb65d44a79d926d22452
2013-05-21 13:54:29 +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 4b68ff0118 Added alpha-mapping support
Former-commit-id: ba4598e9e5efc47e04e72dc709d64d214d77e9a1
2013-05-16 22:48:16 +02:00
Lynix c05c22c97a Fixed Frustum::GetPlane not compiling in debug
Former-commit-id: efe801b21f50803368aea4c5442a43c1621545f6
2013-05-16 22:21:33 +02:00
Lynix 6d2a1118bc Implemented Matrix4::GetRotation
Former-commit-id: 90e0b6942497c1337ac3873d3990515284df4aa6
2013-05-16 22:21:16 +02:00
Lynix 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52:56 +02:00
Lynix 6c743a89b9 Added Quaternion::(Make)RotationBetween
Former-commit-id: e28517580bd17970e77a38f54e7c114cdaf402d5
2013-05-13 12:52:39 +02:00
Lynix 16004fd41c Added IntegralPow function
Former-commit-id: c04d3bf6365f3ced475405a85285b3956a066c47
2013-05-13 12:52:12 +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 28f46a5c90 Added ShaderUniform (Faster GetUniformLocation)
Former-commit-id: c8a01eccde07fc3b2aac46c5b974f8406ad949f0
2013-05-11 14:03:22 +02:00
Lynix 991d841d57 Made String(char) explicit
Former-commit-id: 02f5ead8fe60b825464f956d9fc6ea4689bda44b
2013-05-11 13:51:56 +02:00