Commit Graph

502 Commits

Author SHA1 Message Date
Lynix f69d2f13e5 Changed light model
Former-commit-id: bdf192bd83dbb5ae3ce8c46d6414e5b4fbc0047a
2013-08-28 02:52:09 +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 7f2888a346 Remade shader encoder
Former-commit-id: f96b33ed36650931c78b58fae6d7fc7f68efab20
2013-08-26 10:46:58 +02:00
Lynix cb6563775a Fixed sprites vertex shaders
Former-commit-id: a4e69ceee77e91749853911038d624b74ceaa049
2013-08-26 01:01:02 +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 f1dc7b98e5 Separated Shaders from Manager
Former-commit-id: 7faddbd38bd729b2778f09be3f98105ef5219740
2013-08-25 19:55:03 +02:00
Lynix 6aa401b0fb Fixed GLSL error with OpenGL 2
Former-commit-id: 4d7b1d56b793742c58129dd900b23202ffa4e41a
2013-08-24 22:24:25 +02:00
Lynix 3e132cb445 Fixed crash with RenderTexture
Former-commit-id: d084da6fed345fa8a03023898578be75e10d8ab9
2013-08-24 21:58:58 +02:00
Lynix fe6816b089 Fixed buffer corruption bugs ! (Yeah !)
Former-commit-id: 3e2c82a786810a160d324f8ccf284f8e505613a0
2013-08-23 12:52:52 +02:00
Lynix 6556acfa32 Merge branch 'Graphics-Update'
Former-commit-id: 9855f235dd21d47d1cd9da8c3c0b4ede41e74472
2013-08-21 20:05:50 +02:00
Lynix c8414a39d8 Big Graphics update
Separated LightManager
Added Sprite class
Added View class
Camera is no longer a SceneNode
Fixed Material not invalidating programs
Renamed CameraPosition uniform to EyePosition
Renamed VisibilityTest to FrustumCull


Former-commit-id: ff7fbe4d9b31a3c269baab0b48c6faa347a12161
2013-08-21 20:05:33 +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 e31a670041 Minor changes
Former-commit-id: 5954ff863d8f51d7ed47a1b84ae9ff0a5348ecce
2013-08-16 00:27:42 +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 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 13b505f91f SceneNode::VisiblityTest now use Camera instead of Frustum
Former-commit-id: 71199e3e80c5fbd6116d5fedb13276480f4e4731
2013-08-09 19:04:29 +02:00
Lynix d509fddc82 Added RenderTarget listeners
Moved Camera matrices assignation to RenderTechnique


Former-commit-id: c8a4ff4b35d40702f047fdfd3fdbc4e4fbbbb1a9
2013-08-09 18:25:30 +02:00
Lynix d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix 2a0ceb16fa Fixed missing Renderer initialization message
Former-commit-id: 4e1fa706954593fc42454689072fea3a6c89668f
2013-08-08 16:31:40 +02:00
Lynix cfc8e46a99 Fixed search and replace problem :D
Former-commit-id: eb57fa9bb8bee5c7b6bb1331f527049ac765c24a
2013-08-07 11:03:48 +02:00
Lynix 69d150272f Remade instancing
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix c75887f600 Updated and fixed DebugDrawer
Former-commit-id: b567c3a02174dbdb68f4e2d549d37c2b2b0a942b
2013-08-07 01:16:51 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix 6de41bb9cf Fixed rare bug
Former-commit-id: 057e83b27377c1a8b0d8b652b86c3a2b837c4648
2013-08-06 23:46:26 +02:00
Lynix 1ebaf4749c Added static assertions to secure code
Former-commit-id: 207f1135b3b40cee74fbf8ba98e6fb7379ba8c33
2013-08-03 20:58:50 +02:00
Lynix a8ab9e2c74 Added Material::HasCustomShaderProgram
Former-commit-id: bdd119b41d5312a65aec2d781a78283343ef4b4c
2013-08-03 17:14:30 +02:00
Lynix 059ea21b41 Added ShaderProgram::LoadFromBinary
Former-commit-id: fdc6b06173954bb9c382ed73e7cd9bb0c5fd01a5
2013-08-03 17:14:10 +02:00
Lynix 4b783f6f6f Renamed Shader to ShaderProgram
Former-commit-id: 492b12d8bb48cff46ea46c83141b6d5a1540ff8f
2013-08-02 18:39:20 +02:00
Lynix ea6e9d7d33 Fixed white spaces
Former-commit-id: de5ea701a3536c37d72ef3b1fb36acabe3608588
2013-08-01 23:22:55 +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 c276a4a623 Moved OpenGL header include
Former-commit-id: 655be533b7c01ae8817530fe434807ca5be62968
2013-08-01 23:21:08 +02:00
Lynix 8f9771ab8b Updated OpenGL headers
Former-commit-id: 78e59741ea4e8b2109bddf6f95d0453a7c40cb5a
2013-07-31 14:22:15 +02:00
Lynix fc56553021 Better handling of module initialization
Former-commit-id: 08d4b87a9b7cc10e672c23374306081fc9259de0
2013-07-31 14:17:48 +02:00
Lynix 48e5af6373 Added NazaraDebug macro
Former-commit-id: 5a8cec09bd4a7283f86d030ac2d867cda23736cd
2013-07-30 21:31:28 +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 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 291cdeddfa Enabled Geometry Shader
Former-commit-id: 06e64ab9019bd8f9ad4a4902e7d2bc23070a4383
2013-07-09 00:54:52 +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 321d4df911 Fixed potential shader bug
Former-commit-id: 5309ae4ab70cd7d2f8d29c8e21efacdd9e26cc06
2013-07-02 12:57:56 +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 30cb518c74 Added Alpha Test
Former-commit-id: 59dc6ef8f1dbff49bb13cf452bf75326ad7a6257
2013-06-27 19:02:31 +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 308c2cfd78 Decreased useless OpenGL calls (Optimization)
Former-commit-id: b07c32afa9aa98b91eb8bd146a175f693af539ed
2013-06-27 12:50:38 +02:00
Lynix 5b33a992ad Fixed MaterialDiffuse not used without lighting
Former-commit-id: b60d410dcc04b1e9f4d5f55a03390c007539dcec
2013-06-26 20:15:55 +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 0bd70f8df1 Readded DebugDrawer::Draw[Binormals|Normals|Tangent]
Former-commit-id: 7e5f98670914da0618d40b2e5fcf49b66f0627a1
2013-06-25 00:31:31 +02:00
Lynix 3b88cd936c Fixed bug with threads and OpenGL contexts
Former-commit-id: 044923d57873f4e1a1eb4001395a83dbe97aabed
2013-06-25 00:26:18 +02:00
Lynix 050f9c2eb7 Fixed (?) potential bug with Shader::SendTexture
Former-commit-id: bd59f728396589aec5a420d675cf290019c0c042
2013-06-24 00:31:57 +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 3e82794b70 Fixed warning with AMD drivers
Occured when deleting a shader created by a deleted context, but since
shaders are shareable, this should not be an issue (OpenGL 4.2: D.1.1)


Former-commit-id: 2427ec045bbb9d7415aaa4f8670b724601a07fe3
2013-06-23 13:17:39 +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 35dec6160a Removed useless code
Former-commit-id: 620d12e1e2a0d5c53d9190cd096086e210b08e47
2013-06-19 14:59: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 ca758f9682 Fixed DebugDrawer drawing black lines and points
Former-commit-id: 800ef6a53263bb18d8ca798e421c80309e8c9315
2013-06-18 02:30:01 +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 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 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 a9c53a9c2c Fixed potential crash
Former-commit-id: 2fd792cef599915d9f73a176e462aa8c74b91987
2013-06-13 19:37:38 +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 7080719287 Fixed some Renderer bugs
Former-commit-id: 5a9a4be7282c4b43c47056064d344d41c42cbaba
2013-06-09 11:31:00 +02:00
Lynix 8897531618 Shaders no longer warn when location is invalid
Former-commit-id: ca6318b765f18f7ffadcc747465fde6cc76155f4
2013-06-09 11:30:19 +02:00
Lynix fbc0d7404e Improved code
Former-commit-id: 33082b8f9d55c7a3b9550c788eb27fc613c08032
2013-06-05 13:24:33 +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 810b45fbb7 New emission-map algorithm
Former-commit-id: a45adb79b885d41a2d461a1d672fc8f63dedff65
2013-05-25 10:07:55 +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 f232c82d1c Improved comment
Former-commit-id: 1e8b4bb77ccf710bbc4ee688905bf02e42899938
2013-05-21 13:55:00 +02:00
Lynix d3986d40cd Improved emission map effect
Former-commit-id: 44b8332a05d87175edd5e2e5f831c4b7f6b33f25
2013-05-21 13:54:50 +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 0b66452e33 Fixed textures updated twice per state update
Former-commit-id: fb4d79e920899e6761225d72928ea62878f2c485
2013-05-16 22:45:40 +02:00
Lynix f7fb7e10fb Improved unsupported texture format error
Former-commit-id: 63c12416baadd82f6b6f3fa9442034a9a18d0704
2013-05-16 22:22:23 +02:00
Lynix b69963e93f Made uniform caching less error-prone
Former-commit-id: 0512daf3c54ed1e546ff7b12a6c9e82675504d5f
2013-05-11 14:30:39 +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 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 780bcf122c Nazara now use thread_local (GCC 4.8 is required)
Former-commit-id: 09c0c24ede4a6860acfc71b9532f286bd1381dda
2013-05-03 02:55:26 +02:00
Lynix 6699ce328f ResourceLoader SteamChecker now return a ternary
Former-commit-id: 2ee274ebb2b61f39e93f6ff2306b5a326b158594
2013-04-27 11:51:42 +02:00
Lynix 38a28c26d2 Added user-friendly method for loading maps
Former-commit-id: 4990988256a37c55c6d07b273fd48430221235ae
2013-04-09 11:33:03 +02:00
Lynix 4afe078e9d Added cubemap helpers for Image/Texture
Former-commit-id: 3c0dfb9e9b78369b8a552a55f2c70b978e626ce9
2013-04-07 02:08:08 +02:00
Lynix 633b3bb7ba Improved emissive mapping
Used a different way to achieve this effect, thanks to Fissal


Former-commit-id: c08b82ca1609e73f1dfcc171a515c8456dee86eb
2013-04-06 21:27:35 +02:00
Lynix b448709836 Fixed OpenGL faces
Former-commit-id: 90968526c37926c56d7a569a9c2e0265028d0d86
2013-04-06 20:26:33 +02:00
Lynix 578523b4bf Added emissive mapping support
Former-commit-id: f469b1bcada16f0f2350cc10e9dc25fcf3c24abe
2013-04-06 15:07:29 +02:00
Lynix aa6d4c5b52 Reworked Image/Texture
Improved performances
Fixed some bugs
It is now possible to use non-contiguous buffer


Former-commit-id: 0fa7d13a740f62dae511a1549b267e2f2011d5a6
2013-04-06 13:53:45 +02:00
Lynix 1c59676051 Fixed ShaderBuilder code with old hardware
Former-commit-id: b837de273f7e685c54c6133faed3a1171222b702
2013-04-06 00:13:25 +02:00
Lynix 8694f71c2a X::Initialize no longer takes arguments
Former-commit-id: a8233235e89112630f2d31c637723443bd0829a4
2013-04-03 16:41:57 +02:00
Lynix 4ebd391e05 Disabled default material face culling
Former-commit-id: 015ada0b4b9bd66400a0cb4fa380f3a183d63fb6
2013-03-29 16:30:58 +01:00
Lynix 83b6e429f8 Fixed typo
Former-commit-id: c9bce4378a7540595d376a4249a45883e0111f2f
2013-03-29 14:44:53 +01:00
Lynix 5dd2d0d6a7 Changed Resource::SetPersistent default argument
Former-commit-id: 803534a0216d85f96e6f6f7810e5e76ebcc8bb44
2013-03-24 01:07:01 +01:00
Lynix be894c5555 Fixed material texture loader leaks
Also made it exception-safe


Former-commit-id: db2b96d11fd6d604861911b2f4ea268b7fd3d5ad
2013-03-24 01:01:53 +01:00
Lynix 8f21a75c43 Reworked ResourceLoader
Former-commit-id: 9809e7fcd3657dfe90a0795986d0918f4ae1823c
2013-03-23 22:49:06 +01:00
Lynix a3a1538d9b Fixed RenderTexture
Former-commit-id: b67e9e5f49eb6339cf01cb4fa147ad9ed989d873
2013-03-22 17:44:26 +01:00
Lynix ea2cc97169 Added Texture backgrounds
Former-commit-id: 8aa98a9b8bee5fbf1b5eefa958a7b9095b784cf5
2013-03-22 11:15:17 +01:00
Lynix 5390bd49f0 Fixed pixel flipping (ex:horizontal was vertical)
Former-commit-id: 8fb8e6949ae1d2c3d53e42b979f1716e25d3bba9
2013-03-22 11:14:11 +01:00
Lynix 6999a60c3d Fixed crash with NzShader::SendTexture
Former-commit-id: 6851bb0842f32f5b34a3e8075cfeac6501d18914
2013-03-20 15:42:22 +01:00
Lynix 35ea331357 Fixed Material::Get[Height|Normal]Map
Former-commit-id: be0f6df3d5ec5bf0c6a45969b433442e7a8af521
2013-03-20 15:41:24 +01:00
Lynix 929c0db82d Added glDrawTexture (NVidia extension)
Former-commit-id: 51d43d7423adeef0f0f0c0de5c633ee3d3b6ce2a
2013-03-20 15:41:06 +01:00
Lynix c280457196 Fixed some shader flags not compiling
Former-commit-id: 4ae22cf904044b453247b78179083483efebdaf5
2013-03-18 21:09:07 +01:00
Lynix 086408f95f Renamed FillInstancingData to SetInstancingData
Former-commit-id: 081209d333fc8884a453e9052acfaac653d3133b
2013-03-16 01:08:28 +01:00
Lynix 200f46b442 Reworked texture samplers internal
Former-commit-id: d26f8f12ccc1730519c6fa7d4bec725a0396d9f1
2013-03-16 01:07:00 +01:00
Lynix 4ec2b7a120 Fixed possible bug with old hardware
Former-commit-id: 96cc4312570bd6b16fe6c5b4f9dee41bc2769580
2013-03-15 03:10:38 +01:00
Lynix 6c2fb1eb89 Added ResourceRef (Automatic resource reference)
Former-commit-id: 97a0b2732f4dc443b8e1676e68b33b1b53ddf4fb
2013-03-15 03:09:58 +01:00
Lynix 4ee6ca05ed Minor prevent fix
Former-commit-id: b07c861f348d0f232c365b63c46f2d41ee476b0e
2013-03-14 16:01:56 +01:00
Lynix 73c1b9508b Improved ShaderBuilder
Former-commit-id: 345b6389f3da460a6c4d6959a7fe808542f5f609
2013-03-14 16:01:46 +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 5cc0ce4758 Fixed shader bug with old hardware
Former-commit-id: c1d70b72de7a469b6cf29268d4351ee257dbae5b
2013-03-12 23:32:14 +01:00
Lynix 5890f26291 Removed useless header
Former-commit-id: 2672f3b9f7df3bb21973868e384d3f2d77b36d3b
2013-03-08 01:20:35 +01:00
Lynix 9f780ef2bd Optimized Buffer locking/filling
Former-commit-id: 41cb66257f3eeef375086bf51f26230a06ca9eb8
2013-03-06 22:40:15 +01:00
Lynix aa67a52e9c Added glInvalidateBufferData loading
Former-commit-id: faf3a0848548107302ab64f15808212da71d3e64
2013-03-06 22:39:39 +01:00
Lynix 7e60bc2d81 Fixed missing RenderWindow::IsValid code
Former-commit-id: bb2b8ae50755198fd0af9db1764eb01935ff1ee7
2013-03-05 13:34:30 +01:00
Lynix cd48d70844 Made Context/RenderTarget usage constant
Former-commit-id: 07a2655ea642664bc49ca335cf5147ebf9fb9f26
2013-03-02 19:09:13 +01:00
Lynix 2f85b258e9 Fixed normal lighting rotation
Former-commit-id: 06c71dd9d5ee90fa9d3fbce8e87dcff6b8a455d9
2013-03-02 19:06:24 +01:00
Lynix b4d7e16749 Updated Renderer
Former-commit-id: 74ad349814a5624cdf1c61bfb9e0123b82be06f2
2013-03-02 00:22:49 +01:00
Lynix c3b2a0a03f Fixed RenderTexture bug
Former-commit-id: daedd6e95b7825389438585cbaff60ae07a07eef
2013-03-02 00:21:10 +01:00
Lynix 347b267d43 Added shader flags
Renamed ShaderBuilder enum to ShaderFlags


Former-commit-id: b3440bac5491f0a0a90cbd7f9ed8e396c16c0864
2013-03-01 21:54:41 +01:00
Lynix 3b0751fb88 Added support for Instancing
Former-commit-id: 62f5f3186423b01f7a0ac2762969dca12bea1327
2013-02-26 01:40:57 +01:00
Lynix 1b5215d4c2 Removed AxisAlignedBox (Replaced by BoundingBox)
Former-commit-id: 931dd6710caf49aeaede51efe209d714f080c44b
2013-02-21 18:28:32 +01:00
Lynix 2828ced694 Fixed tangents/binormal not being normalized
Former-commit-id: 1d2d90bc76ddc590cde07607ac4cf3189d4e365e
2013-02-21 02:43:10 +01:00
Lynix add363a290 Moved AxisAlignedBox to mathematic module
Former-commit-id: 2cb5b151941a431b5c12457f0decf7b39195052d
2013-02-19 12:32:11 +01:00
Lynix d56900fe01 Added DebugDrawer::Draw(Frustum)
Former-commit-id: 595204759c54ccc1e7cec38fe3e26b6b3400e723
2013-02-19 01:24:46 +01:00
Lynix 857d2dd9ed Replaced std::map with std::unordered_map
Not possible yet with NzString-key map


Former-commit-id: faa628a1c9c10e7bc009bf5a67e112ad5f873bd8
2013-02-17 14:08:12 +01:00
Lynix f14a68fc04 Fixed ShaderBuilder bug
Fixed: When GLSL 140 is supported and MRT is not (As reported by
Renderer), then the ShaderBuilder will write incorrect code

Former-commit-id: 38080a5685634b2da21eadbb1939a21e00cc48de
2013-02-17 00:36:00 +01:00
Lynix f5cc6ba8fc Added FIXME comments
Former-commit-id: a26466fef726879d1e73f09aa1448711ffdcc0b0
2013-02-15 13:40:58 +01:00
Lynix 43b5e493f6 Added face culling boolean to materials
Former-commit-id: ed651beb3545b85d5496bb5739c4caa9c81df8a3
2013-02-13 01:35:01 +01:00
Lynix 7970752a5b Disabled lighting on default material
Former-commit-id: 2e4f87bda64d2dbb8b76d3ca9fb165255484bd64
2013-02-04 01:42:23 +01:00
Lynix 81f9f54688 Fixed Material not applying changes
Former-commit-id: 6e2f9a428213195360516ffcd8efd11b325e08a4
2013-01-30 01:38:02 +01:00
Lynix ff9c61735c Fixed ShaderBuilder inserting unused varying
Former-commit-id: bb61f7332c41440901560838f6cda8b071f7422b
2013-01-30 01:36:54 +01:00
Lynix 56e66673d9 Material::Apply now apply shader
Former-commit-id: f0b221a29eb7a678b5544f20468d1956c7233f25
2013-01-29 01:59:40 +01:00
Lynix 00d636fb1c Changed module initialisation behavior
Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314
2013-01-29 01:57:51 +01:00
Lynix cf47081224 Optimized spot light shader
Former-commit-id: e8e345dc7d02f605b0df80146e9ffe47b10a304d
2013-01-24 01:01:49 +01:00
Lynix 09e0ab898d Relaxed constant access
Former-commit-id: 885a7f065ccf9ff1fdbef23c88b852bb2e48fac7
2013-01-15 16:53:59 +01:00
Lynix 4a28e42d4d Improved Node interface
Former-commit-id: cbc204748d8cf30771743f26270324dee6ada242
2013-01-12 01:38:58 +01:00
Lynix a00d2d4c12 Increased source code reserved size
Made ShaderBuilder slightly faster


Former-commit-id: 412b2cd6e6081d4ccf5d6497244f3fa1f9800d32
2013-01-11 23:16:17 +01:00
Lynix c108deb999 Fixed specular mapping
Also made code clearer


Former-commit-id: f27a9214f356218fdf7e75003317a1678079fe2a
2013-01-11 14:37:50 +01:00
Lynix f8aedb2df1 Fixed reference bug
Former-commit-id: 9340098ca4eb052dabba384e9b7cee9130667104
2013-01-11 14:33:56 +01:00
Lynix 5a40e0d373 Fixed DebugDrawer color
Former-commit-id: 08b654b1d3002c76634f8ca3b2aa57e66f33e7ae
2013-01-11 14:33:43 +01:00
Lynix e5731bee91 Added shader support to materials
Also fixed a lot of bugs related to materials


Former-commit-id: 54086eb3aa36c1a7b31b55056967275e6c24a4c6
2013-01-09 20:15:42 +01:00
Lynix e3293c6fe1 Added normal mapping
Former-commit-id: 7e54b1f01de7d5cf99c42d08d13ba606f73c453d
2013-01-09 01:36:18 +01:00
Lynix 946754d7be Added specular mapping
Former-commit-id: 329bcfc6b3d92809538c9416578329f11c6ef56f
2013-01-09 00:34:39 +01:00
Lynix 81472079c4 Optimized lighting shader
Former-commit-id: d8fb14c7ffe7dd4ec436661dc6b698f76ab900cb
2013-01-09 00:17:16 +01:00
Lynix a6c109ca1d Reverted back default GLSL version to 140
If supported, 110 if not


Former-commit-id: 65ae51fa9fa9c437d17de2e8b3158b8c2897dc80
2013-01-09 00:08:36 +01:00
Lynix abb806f27b Updated ShaderBuilder to support lighting
Compile into 150 core GLSL (or 110 if not supported)
When the ShaderBuild fails to build a shader, it returns the default
shader


Former-commit-id: ca04a6968bb104b9a63d40025d7eeba813a588b0
2013-01-08 18:38:00 +01:00
Lynix 093d0ab0b5 Changed default material ambient color
Former-commit-id: ad2260abbe06940413ee2cdabd58176364b54365
2013-01-08 17:31:59 +01:00
Lynix e6cef2ddbf Added move constructor/operator to Shader
Former-commit-id: b947e0ac0dcddcfe64c83b63cf89df0e0850cbd2
2013-01-08 17:31:42 +01:00
Lynix e194d11374 Fixed color alpha not being sent
Former-commit-id: 0f7d355b22790aa5487ff69b325c41613a94961e
2013-01-06 02:47:46 +01:00
Lynix da341001ab Made shader uniforms less verbose
Former-commit-id: aa77b9be3f84cad30b13ebe5d47bb9febd17631e
2013-01-06 01:06:55 +01:00
Lynix c93e8eb585 Updated shader convention
Vertex input are now prefixed by "Vertex" (VertexPosition, VertexNormal,
..)
Same for Material input (MaterialAmbientColor, MaterialShininess, ...)


Former-commit-id: 1fbf8b8b32546a21ee23ff83714c860a9a8fce4f
2013-01-05 23:52:41 +01:00
Lynix e6198f6b3d Fixed default value of shininess
Former-commit-id: c640ed5b74cc56bf9b4acf8af4fad40be1c55e76
2013-01-05 19:51:28 +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 29755989fd Fixed specular color not being applied
Former-commit-id: ab41e431e2f9ec0f9b3cd81d032f6218c7114c5b
2013-01-05 01:54:14 +01:00
Lynix 80d4159faa Added DebugDrawer::DrawTangents
Former-commit-id: 9116b5a878752ff193073ac6c156ddca54f8c501
2013-01-04 22:02:47 +01:00
Lynix 182c667603 Added DebugDrawer::DrawNormals(submesh)
Former-commit-id: 9a2100f8df288b63d3b64c05871ae42c1fad97f6
2013-01-03 19:41:23 +01:00
Lynix 844ab809d3 Fixed warning
Former-commit-id: 93cbeb5f38e5663a0d8960b139c6cd5fc530e695
2013-01-03 03:50:30 +01:00
Lynix 27dcd15d26 Fixed ShaderBuilder requirement
Former-commit-id: 39ddf1db5bec377afd478dcf557925d70925401c
2013-01-02 21:51:37 +01:00
Lynix 520643140c Fixed last commit
Former-commit-id: 5034392dbdab232be71f8537638ed75c1c81eab8
2013-01-02 13:41:26 +01:00
Lynix 15888b0f42 Fixed debug line width not applied
Former-commit-id: 374173039602080e82e0e4ce0967caea90599155
2012-12-28 23:08:37 +01:00
Lynix e5650698d2 Added copy/move constructor/operator to Material
Former-commit-id: a96676391754ee027bdd6c7b04118db3ea044eb3
2012-12-27 22:22:11 +01:00
Lynix 91b85589d9 Simplified code
Former-commit-id: f80280c30dad6c0a2dd1b5ff36ace6825963fc4c
2012-12-27 02:36:39 +01:00
Lynix 0a11e82432 DebugDrawer now use ShaderBuilder
Fixed demo not initializing debug drawer


Former-commit-id: a14612a374507501496f895ef6ba94886db98ec9
2012-12-25 12:29:19 +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 a9e82f6014 Changed Shader conventions
Uniform variable are now CamelCase


Former-commit-id: 7b08fb6b7d32f0f9a92b5086719f3e9981483e16
2012-12-25 12:14:32 +01:00
Lynix ea1275e4f5 Fixed camelcase
Former-commit-id: 1f94fefc2f0ce07720ff19538903b9795605795a
2012-12-25 12:02:16 +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 dc3cfa40ec Made Texture constructor consistent
Former-commit-id: 92be798524a48cb979c09fa04558602bf3717391
2012-12-24 20:38:20 +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 84496ee8b6 Fixed typo
Former-commit-id: f9c38ea20c5afe8b4656c04c2ac3543ee94fc1d4
2012-12-24 18:08:10 +01:00
Lynix 0e6215a47e (Material) Added non-constant sampler access
Former-commit-id: d2799fc353628afda09fdc45b04134aa541ee480
2012-12-19 00:38:06 +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 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 feda7eec4d Changed default debug line width to 1.5f
Former-commit-id: 15b1858aa40eb5d7b562f5ea8562b69f7aecf3cf
2012-12-13 11:38:19 +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 eb585116b1 Shader::SendTexture can now return texture unit
Former-commit-id: 38d5e5dedf94113933bb2090040feec602a4716c
2012-12-08 11:49:07 +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 dc3af6ae69 Fixed typo
Former-commit-id: 3cd820fe6778c6731b051ff707ef576c3344451e
2012-12-06 12:05:56 +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 700a09b9c9 Fixed typo
Former-commit-id: a2a050220608320d0b13c7bb69b0752a36a253ae
2012-12-03 23:50:18 +01:00
Lynix 86c4899100 Fixed debug drawer not setting line width
Former-commit-id: 2fd8f6e6c4b3e42183955e047aaaf4c95e12841a
2012-12-03 23:50:11 +01:00
Lynix 780da2cfa5 Resolved conflicts
Former-commit-id: 4bd4e4f8435d701d16d3864dd030a6c1cff48c47
2012-12-02 21:49:14 +01:00
Lynix 0a88b6531c Added Texture::HasMipmaps()
Former-commit-id: 4d21c32579e26e95a9376a4352fd50edd4ba0ed3
2012-12-02 17:01:57 +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 f48b9ba370 (Material) Added methods to loads and get default
Former-commit-id: 9169e84208b0cddbe698daa9286c8b7eb6a8244c
2012-11-27 21:37:14 +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 b662bca33d Added Material class
Former-commit-id: db16249b1ecbfdc59ecdca709cb75f4bf1b6d10b
2012-11-25 14:32:19 +01:00
Lynix 42de28c037 Shader constructor no longer throw an exception
Former-commit-id: f66607a019bd8498623e350b9a4399d7b2028d1f
2012-11-24 10:15:24 +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
Jérôme Leclercq 94bb765a77 Added Shader::SendColor(Color)
Former-commit-id: e3af0e2cb75a437304ee274a6123114b41dd7d94
2012-11-08 14:25:48 +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 c82b2510f0 Fixed NULL caracter in shader logs
Former-commit-id: 998033458dce185715f7539167fb88a402a34ff3
2012-11-03 00:15:16 +01:00
Lynix 6b9c88221a Added Shader::IsValid()
Former-commit-id: 829320e4fd92dafb829019d875135ca9b75a3db2
2012-11-02 23:47:09 +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 7bab3d9443 Cleaned code
Former-commit-id: 65b235b0c8326e060ec7032bb2a153e22518a25a
2012-10-04 09:32:55 +02:00
Lynix 8d057fb3b1 Renamed GetBPP to GetBytesPerPixel
Also added GetBitsPerPixel


Former-commit-id: 9cc1df58133c538b1dc74215a9022d13dfd9d7f6
2012-09-30 23:11:00 +02:00
Lynix a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00
Jérôme Leclercq cd5a1b7a5e Added RenderTextures (And many others things)
-Added Forward, left and up vector (Vector3)
-Added Matrix4::ConcatenateAffine shortcut
-Added Quaternion::GetInverse() and Quaternion::Inverse()
-Added Resource listeners
-Added Depth and stencil pixel formats
-All enums now have an ending "max" entry
-Animation/Mesh::Add[Sequence/Skin/SubMesh] now returns a boolean
-Contexts are now resources
-Enhanced AnimatedMesh demo
-Fixed MD2 facing
-Fixed Vector3::CrossProduct
-Made Resource thread-safe
-Made OpenGL translation table global
-Many bugfixes
-MLT will now write malloc failure to the log
-Most of the strcpy were replaced with faster memcpy
-Occlusion queries availability is now always tested
-OpenGL-related includes now requires NAZARA_RENDERER_OPENGL to be
defined to have any effect
-Pixel formats now have a type
-Renamed RenderTarget::IsValid to IsRenderable
-Renamed Quaternion::GetNormalized() to GetNormal()
-Renamed Texture::Bind() to Prepare()
-Renamed VectorX::Make[Ceil|Floor] to Maximize/Minimize
-Removed MATH_MATRIX_COLUMN_MAJOR option (all matrices are column-major)
-Removed RENDERER_ACTIVATE_RENDERWINDOW_ON_CREATION option (Render
windows are active upon their creation)


Former-commit-id: 0d1da1e32c156a958221edf04a5315c75b354450
2012-09-20 22:07:30 +02:00
Lynix 15afde86c8 Rewritted ResourceLoader and moved it to core
Added creation constructor to NzImage
Added member function functor
Added option to build Nazara as one library (instead of many)
Fixed some 2011 copyrights
Made use of "using def = T" C++11 feature instead of some illigible
typedefs
Removed unused premake file
2012-08-18 01:46:01 +02:00
Lynix 5619ddb0b1 Changed all the files encoding to UTF-8
Named modules in licence informations
2012-08-10 03:21:37 +02:00
Lynix f8a0cdad39 Added Windows shortcut to generate CodeLite project
Changed two submesh's error message
Fixed OpenGL.hpp/.cpp spaces for some displayers
OpenGL loads GL_kdr_debug if possible instead of GL_ARB_debug_output
Refactored external includes
2012-08-10 02:03:25 +02:00
Lynix b442ab0bd2 Refactored mathematics module
Added AABBs
Added code examples
Added experimental support for texture arrays (1D/2D)
Added initialisers (new way of initialising modules)
Added global headers (Plus a global header generator script)
Added pattern support for directory
Added support for spinlocks critical section on Windows
Added NzRenderWindow::SetFramerateLimit
Core project now includes Mathematics files
Fixed color implementation using double
Fixed declaration needing renderer include
Fixed MLT not clearing nextFree(File/Line) after Free
Fixed move operators not being noexcept
Fixed thread-safety (Now working correctly - If I'm lucky)
Moved Resource to core
New interface for modules
New interface for the renderer
Put some global functions to anonymous namespace
Removed empty modules
Renamed ThreadCondition to ConditionVariable
Replaced redirect to cerr log option by duplicate to cout
Setting mouse position relative to a window will make this window ignore
the event
Shaders sending methods no longer takes the uniform variable name (it's
using ID instead)
Using new OpenGL 4.3 header
2012-08-08 04:44:17 +02:00
Lynix 06eda4eba9 Added Meshes and Animations (And many more)
Added NzTexture::IsMipmappingSupported
Color::(FromTo)HSV now takes hue and saturation in degrees
Fixed Context::EnsureContext
Fixed COW thread-safety (String, Image, Matrix4)
Fixed Quatenion<T>::operator*(const Vector3<T>&)
Fixed ResourceLoader
Fixed String::Resize with a size of 0
Fixed Texture mipmapping crash
Fixed per-class thread-safety
IndexBuffer and VertexBuffer are now resources
It is now possible to use more than 8 texcoords per shader
Moved all enumerations into separate files (Core/Enums.hpp,
Utility/Enums.hpp, ..)
Removed NzContextParameters::defaultWindow
VertexDeclaration has been rewritten (New interface/COW)
2012-07-13 15:22:14 +02:00
Lynix 7ed9e16664 NzString::Clear now takes an optional argument
Fixed NzString::ToDouble rejecting legal strings
NzString::Clear can now keep the internal buffer to improve performances
NzStringToNumber now takes an optional argument to check if the
conversion went well
Optimized NzString::ToInteger
2012-07-01 00:44:53 +02:00
Lynix 71cf7876c5 Optimized image flipping
Added new extensible flipping system
Optimized NzTexture::Update(Face)
2012-06-22 23:18:37 +02:00
Lynix acc9b99ad2 Fixed typo 2012-06-22 09:57:24 +02:00
Lynix 445d6d236d Added NzBuffer::SetStorage
Fixed (Index/Vertex)Buffer::(Fill/Map) not filling/mapping the entire
buffer when the third argument was zero
Fixed Renderer not accepting sequential index buffer
2012-06-21 16:37:28 +02:00
Lynix ec9470ceb6 Moved buffers to Utility
Fixed NzVector4::operator/
Replaced enumName_Count by enumName_Max
Renamed (Index/Vertex)Buffer::GetBufferPtr by GetPointer
2012-06-21 09:49:47 +02:00
Lynix be0a5d2819 Fixed many bugs
Added NzOpenGL::GetEntry
Activated preprocessor error if not compiling with a C++11 compliant
compiler
Cube can now be constructed with a Rect
Desactived utility option "threaded window" (bugged)
Epured Image interface (No more UpdateFace, use Update with z = the face
you are targetting)
Fixed compilation errors (Thanks to RafBill)
Fixed predefined colors not exported
Fixed uplading pixels not aligned by 4 bytes
Fixed Thumbs.db files not ignored by git
NzImage now supports Filling and Flipping (Horizontally and vertically)
NzImage::Get(Const)Pixels now support pixel location
NzVector(2/3) can now return floatting distance/length with all types
NzVector(2/3/4) can now be constructed by a vector of smaller dimension
Premake now set "-std=c++11" build option for GCC
Renamed NzImage::(Get/Set)Pixel to (Get/Set)PixelColor
Updated new([])/delete([]) in the leaks tracker to the new C++11
signatures
2012-06-15 11:03:43 +02:00
Lynix e2a38b3790 First part of render texture commit
Added NzContext::EnsureContext and NzContext::GetThreadContext
Added NzCube
Added NzRect::GetCenter
Added methods to send vectors to shaders
Added NzRenderer::SetViewport
Fixed NzRect::ExtendTo calculations
Fixed NzImage::Update checks with level > 0
No longer use glTexStorage when creating a texture to prevent a bug
NzBuffer's Lock and Unlock operations renamed to Map and Unmap
NzVector2/3/4 can now cast implicitly to a pointer
Optimized compilation time of String.hpp
Optimized normalisaton of quaternions
Optimized passing uniforms to shaders
Quaternion now automaticaly Normalize h
Removed macro definition of NAZARA_RENDERER_OPENGL from Renderer
Removed implicit cast from NzVector2/3/4 to NzString
Renamed nzBufferLock to nzBufferAccess
Renamed NzRenderTarget::CanActivate to IsValid
2012-06-13 07:40:31 +02:00
Lynix ddd2a2f310 Added CopyTo(Image/Texture) to NzRenderWindow
Added several methods to NzRenderer
Optimized NzRenderer::GetMax*();
Nz(Render)Window::GetSize now returns an unsigned vector
Fixed textures being flipped
2012-06-05 23:06:47 +02:00
Lynix a176648265 Added NzTexture
Added levelCount parameter to NzImageParams
Added NzPixelFormat::HasAlpha
Reformatted OpenGL debug messages
2012-06-05 10:54:06 +02:00
Lynix 49353cb636 Fixed crash with NzContext::Destroy
Fixed crash when calling NzContext::Destroy two times without recreating
a new context
2012-05-31 23:42:39 +02:00
Lynix dd4cb97a37 Added support for OpenGL debug mode
When NzContextParameters.debugMode is true, Nazara will receive OpenGL's
debug message and send them to Nazara's log
NzString::Pointer now have the "0x" prefix
Added support for ARB_texture_storage extension
Nazara now try to load core texture 3D before trying to load
EXT_texture3D
Added NazaraNotice macro, writing raw text into Nazara's log
Added NzContext::Destroy (called in Create)
2012-05-31 23:33:47 +02:00
Lynix f4b194f6fe Fixed rendering with OpenGL core profile
Added (automatic) support of Vertex Arrays Objects (VAO) to fix
rendering with an OpenGL core profile (OpenGL 3.2 require the use of
VAOs)
Added level check to NzImage::GetDepth/Height/Size/Width
Fixed occlussion query support not correctly setted
2012-05-31 18:18:28 +02:00
Lynix b220e00c88 NzImage now handles mipmaps
Added NzRenderer::SetClearColor(const Color&)
Added describe comment for pixel formats
Fixed NzPixelFormat conversion for RGBA4 and RGB5A1 types
Fixed NzRenderer::Clear prototype
Renamed NzLock to NzLockGuard
ResourceLoader's loaders are now tested from newest to oldest
2012-05-30 18:10:17 +02:00
Lynix b243d15c74 Added formats conversion
Functor, NonCopyable, Tuple are now parts of NazaraCore (NazaraCore no
longer needs NazaraUtility)
Added loadFormat image parameter (ask loader to load image in specific
format)
Fixed utility project building
It is now possible to convert, get validity or get name of pixel formats
Changed endianness macros' name
Removed useless NazaraEndianness macro
Removed unused files
2012-05-24 18:55:48 +02:00
Lynix 9b3f4e794a Added Image
Added pixel format support
Added MemoryStream
Added Rect
Added ResourceLoader
Added generic loader (bmp, gif, hdr, jpg, jpeg, pic, png, psd, tga)
Added PCX loader
Added utility module initializer
Fixed Config.hpp include
Prerequesites.hpp now overwrites _WIN32_WINNT when defined
version is less than requiered version
Renderer's initialisation will implicitly initialize utility module
Removed RENDERER_SINGLETON option
Shaders are now resources
2012-05-21 21:54:13 +02:00
Lynix 8c420b48c3 Fixed compilation in debug mode 2012-05-04 16:06:18 +02:00
Lynix a215920818 It is now possible to send uniforms to shader when they are not mounted; Added shader locking 2012-05-04 08:56:35 +02:00
Lynix a4cbe46e15 Restablished core context creation, removed debug messages 2012-05-04 07:34:43 +02:00
Lynix 5d816122c8 NzHardwareBuffer::Fill now call glBufferSubData instead of glMapBuffer is the locked size is under 32k 2012-05-03 00:26:06 +02:00
Lynix 63a220a349 Added occlusion queries 2012-05-03 00:07:58 +02:00
Lynix 7d117ce97c Laid the basis for rendering 2012-05-02 16:45:44 +02:00
Lynix e8ef4b59da Fixed collaborator's name 2012-05-01 17:44:14 +02:00
Lynix 71b4262c51 First commit 2012-05-01 16:43:48 +02:00