Commit Graph

568 Commits

Author SHA1 Message Date
Lynix 0f382fd1ad Added new RenderTechnique system
Former-commit-id: 6d65a4537232bc705333c696f2478d47f16e074a
2013-10-09 10:14:17 +02:00
Lynix 6e20e7095b Fixed missing file
Former-commit-id: 1e0868cc05454a3c219676057af04921ffe03837
2013-10-09 10:14:16 +02:00
Lynix b01fad269e Improved Texture mipmap support
Former-commit-id: 0fc3e003a6524e5c026712a3dc695cf80817ea88
2013-10-09 10:14:10 +02:00
Lynix 8ce5f879a8 Improved RenderTexture class
Former-commit-id: 0126eeefce5512a504024e1c0ef2e5f1345003b3
2013-10-09 10:14:09 +02:00
Lynix a410e8856a Improved Error system
Former-commit-id: ddd08841d30575713f4a28ac02566f92791e5539
2013-10-09 10:14:09 +02:00
Lynix 0520de7ab0 Fixed Vector3::operator[==|<=]
Thanks to OveRdrivR

Former-commit-id: fa93eb7124e3b322407d1488c8530312c2019792
2013-09-30 23:19:38 +02:00
Lynix 1a561e42ff Added Light::SetLightType
Former-commit-id: 8f55cd7b3941496e97795ca920c7a657e555eeab
2013-09-23 09:49:03 +02:00
Lynix aa4d5f5ab8 Fixed typo
Former-commit-id: 291aec9c9969efdadd90017ea6cb81466c2d06e2
2013-09-23 00:22:46 +02:00
Lynix ffbff9e707 Fixed compilation errors
Former-commit-id: 1ba7f27b5e56aee1ffc34459ab64d56bfe359dfe
2013-09-23 00:22:18 +02:00
Lynix 2fd86dc406 Added texture rect parameter to primitive generator
Former-commit-id: 5efc0fd1bcc2aad9cd4b75ff9fb8b29d84bfd363
2013-09-21 09:05:37 +02:00
Lynix 3167531b39 Fixed some VS warnings
Thanks to Fraggy again !


Former-commit-id: bd0eea66714701b065892d8b69d576e7b3615dd2
2013-09-21 00:10:10 +02:00
Lynix 6440d38c5c Fixed some warnings about types
Thanks to Fraggy


Former-commit-id: e3b3a8421b4c49884e5757814f51cfcecc14a878
2013-09-20 23:25:04 +02:00
Lynix 0546019da1 Improved error message
Former-commit-id: d47c8651acc368bb7091785e156d99c849c19dc3
2013-09-20 21:46:58 +02:00
Lynix db2b33eda1 Fixed Vector2::Normalize
Former-commit-id: c781e64262c0fbce2782f635c2db13478f18a9d5
2013-09-20 21:31:07 +02:00
Lynix 693aec36c3 Fixed bounding box AABB
Former-commit-id: ef8ec52e7bffca69b1e41462f0971e00a1b73029
2013-09-16 01:03:06 +02:00
Lynix 15fa8378c9 Added a lot of methods to send uniforms
including arrays and integers vectors


Former-commit-id: c365cccdbad7eab1a1212e78759d7fda857012f9
2013-09-16 01:01:59 +02:00
Lynix f0eac2bc0d Fixed compilation error
Former-commit-id: 13b96b7bba638a1843a00264068e1c4858e6d301
2013-09-16 00:36:50 +02:00
Lynix b2dd572cfd Fixed warnings
Former-commit-id: ad7f020dde35087ed4c4fa81b531d5b9e74fc134
2013-09-06 18:38:13 +02:00
Lynix c1dc2884b0 Forced Backgrounds fragments depth to maximum (1)
Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
2013-09-06 18:31:04 +02:00
Lynix f9363ca764 Fixed global header
Former-commit-id: a6b45d3b7d94a42df22b08e4f97acb0f80439e4d
2013-09-06 18:25:43 +02:00
Lynix 6732761108 Texture are no longer associated with a RenderTexture
Former-commit-id: 4430c36afd081f20b89322ca1e0c2b8c4ef73ce5
2013-09-06 18:23:24 +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 e92f388c65 Renamed FaceCulling enum to FaceSide
Former-commit-id: 7847dcd64e0b23d261a9ec07f3bc1a3c162985e5
2013-09-06 17:59:48 +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 66a64fb71c Fixed GpuQuery bug
Also added GpuQuery::GetOpenGLID()


Former-commit-id: 2a5d01a945ffeb576b5dce6756dbffcc511c237c
2013-09-06 17:17:47 +02:00
Lynix 0fd535a9e8 Added a lot more texture formats
Former-commit-id: b3a553ea39a174d84c5cd6fcca853ee83c1e6670
2013-09-06 12:07:38 +02:00
Lynix bed20692a6 Fixed OnResourceDestroy callback not called by the destructor
Former-commit-id: 8b961101f88343ddd3bb382d2c333052efb03164
2013-09-03 13:57:32 +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 00fe872f27 Added matrices inverse to Renderer uniforms
Former-commit-id: 06333817aa0537e6dae80f8c72061f206023256a
2013-08-28 03:07:17 +02:00
Lynix df8449c13e Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
2013-08-28 03:05:46 +02:00
Lynix 866ff64548 Added Texture::GetSize()
Former-commit-id: da4b31cf95f605f83da17f63bc9a6dbd1d8b35c6
2013-08-28 02:52:47 +02:00
Lynix f69d2f13e5 Changed light model
Former-commit-id: bdf192bd83dbb5ae3ce8c46d6414e5b4fbc0047a
2013-08-28 02:52:09 +02:00
Lynix 83dc00dc60 Added forgotten file
Former-commit-id: c5fd96568c3d6d5ab889a718afc45f955310db34
2013-08-26 13:40:56 +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 7d9eac7660 Refactored code
Former-commit-id: 95c723425cc2ac626b5ddd6d77f69e0a4b0a630a
2013-08-26 13:36:41 +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 bf4b762a5d Renamed CORE_DUPLICATE_TO_COUT to CORE_DUPLICATE_LOG_TO_COUT
Former-commit-id: fc877ab4467261e052f167e39471bc8b3b0b6c5e
2013-08-24 21:59:21 +02:00
Lynix 24e56790cc Fixed transparent model rendering
Former-commit-id: da363be3b19951ae49996fe9d05998420e80911f
2013-08-24 16:22:55 +02:00
Lynix 8611f629cc Removed useless line
Former-commit-id: 3daf9f4b30a614b196d4f68711cfc5782c6e0d86
2013-08-24 15:31:08 +02:00
Lynix 1493da0466 Increased user-friendlyness
Former-commit-id: 9611bb08f0be314d65453b88d84c36299d9a22af
2013-08-23 22:05:17 +02:00
Lynix 7fa8f3dafd Moved Model::EnableDraw to SceneNode::EnableDrawing
Same goes for Model::IsDrawEnabled() => SceneNode::IsDrawingEnabled()
Is Drawable is now a pure virtual method from SceneNode


Former-commit-id: 217c6a21a98206ee0b283aaa216d419696a70faf
2013-08-23 13:16:42 +02:00
Lynix fe6816b089 Fixed buffer corruption bugs ! (Yeah !)
Former-commit-id: 3e2c82a786810a160d324f8ccf284f8e505613a0
2013-08-23 12:52:52 +02:00
Lynix 74d396a376 Added warning when clip matrix is not invertible
Former-commit-id: 4707faab0259062ad619a5e5c72fcbbfaf853e3c
2013-08-22 10:50:53 +02:00
Lynix 5d0ed4f27c Removed warning when Matrix4 is not invertible
Former-commit-id: d16c6153dfafadc628cb9af9e4ed707045833616
2013-08-22 10:50:39 +02:00
Lynix 198d13be20 Enabled Frustum culling for Sprites
Former-commit-id: 5c5bf7da97f10b43c204bb336c2e979899f506d0
2013-08-21 21:17:39 +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 26f120cc66 Fixed Matrix4::[Make]Ortho parameters name
Former-commit-id: ad6a90025e6502ceff9add2c5ecd6c7b83483f38
2013-08-21 19:39:04 +02:00
Lynix a6f26ff336 Added Window::OnWindowResized event
Former-commit-id: 61262182892d2dae3defb239e751cd4b996a5ad6
2013-08-21 18:48:15 +02:00
Lynix b9b572c60c Fixed warning
Former-commit-id: d6ac174b7ad2a365158ccda0300e62aed5bd8a7b
2013-08-19 23:37:23 +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 42a1b9cbe6 It is now possible to initialize VertexBuffer without VertexDeclaration
Former-commit-id: 3f8e82925dea8644384b4ceb962a06101bccc1a3
2013-08-16 00:26:35 +02:00
Lynix 3ff401e413 Removed useless forward-declaration
Former-commit-id: 5c9196995f51d3f3ad2a94f12411ce36d362c4df
2013-08-16 00:23:20 +02:00
Lynix 35bd693216 Fixed Matrix4::(Make)Ortho
Former-commit-id: fb65916496b8c28c21dcaf6c623ab1427a6e7767
2013-08-16 00:23:03 +02:00
Lynix 241e8fe9d9 Optimized ForwardRenderTechnique
Former-commit-id: a4e035c860ed2fcaeedadd5a41fb9f6251649000
2013-08-10 22:59:02 +02:00
Lynix 970cf1afc8 Fixed parameter name
Former-commit-id: 9197c406c3b1be915707a66eae04f5445453f8f5
2013-08-10 14:55:49 +02:00
Lynix 64ceeea544 Fixed linker error
Former-commit-id: 48d6cea8887c476916efbc44490857c566527ae5
2013-08-10 13:55:44 +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 bee3652604 Added TODO
Former-commit-id: 7ddbe20041836fcb4a7b2b82d57a191298b0e95e
2013-08-09 16:33:24 +02:00
Lynix d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix 28eff9af30 Instancing will no longer be used under X instances
*Experimental* optimization


Former-commit-id: 4dee4905d59739b3ec062ef283d4b7561160e21d
2013-08-09 00:33:18 +02:00
Lynix 69d150272f Remade instancing
Former-commit-id: b297ed84e86a714c58d42219cc1dd8337e3a732c
2013-08-07 01:17:20 +02:00
Lynix c6f89757b6 Fixed missing noexcept
Former-commit-id: 58276c2ba77d0242fade3b29034f28871b48a987
2013-08-07 01:10:52 +02:00
Lynix 6507e1ed2d Updated buffers interface
Former-commit-id: 8c8d60b6b22cc844740dbc3320af65575cec4feb
2013-08-07 01:10:26 +02:00
Lynix 901b917d37 Fixed Color::operator+ and operator*
Thanks to Overdrivr


Former-commit-id: 696e2a35f4e0243577a56feeb16e2268f25290d3
2013-08-06 23:15:22 +02:00
Lynix 19e02a900b Added Directory::Exists
Former-commit-id: 51e6b909b323074401b0200747db35f2e4b1c42a
2013-08-03 20:20:30 +02:00
Lynix f47ecfe414 Added unsigned int constructor to ByteArray/String classes
Former-commit-id: 2b52c0dabcd6fbf4ad33b31ef3cb84e668edcd54
2013-08-03 20:18:12 +02:00
Lynix ce028e497a Made current file relative to engine directory
Former-commit-id: 7a664df265a1d1b7f9b3594e34418163cc023eda
2013-08-03 17:35:08 +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 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