Commit Graph

1072 Commits

Author SHA1 Message Date
Lynix 8c6c58c677 Improved MD2, MD5 and PCX loader code
Former-commit-id: ab715a3d52030f1e514c1b0d250b8e6cb3883ad5
2014-04-12 14:09:20 +02:00
Lynix 55ce80b524 Added UberShaderPreprocessor::IsSupported "implementation"
Former-commit-id: 753dbc41d008bd33ed996ac1a745d8e11d836c48
2014-04-09 23:05:13 +02:00
Lynix 945c6514a9 Added Resource modification notification
Former-commit-id: b2fafa22ddf125ef2f1cbc0cd473ae06eb99bcd3
2014-04-08 10:21:50 +02:00
Lynix e36c42900d Fixed String::Resize not always setting the EOS character
Former-commit-id: 975fe786e70d760549a65b52bdf5cf6d945dd209
2014-04-08 10:18:36 +02:00
Lynix a09fbe6a9d Oops
Former-commit-id: cb32d05b5e59329860fea64aaf8bfee024621109
2014-04-04 19:27:11 +02:00
Lynix f88c6cf0d7 Fixed debug shader not compiling on some configurations
Former-commit-id: 7e31eec475dc5e40491f480e9f45476acab5fdb6
2014-04-04 14:56:45 +02:00
Lynix 3b48e556aa Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
Former-commit-id: 52c67ad3c3e137e1a7239775ae0c5eab899249d4
2014-04-04 11:39:12 +02:00
Lynix 04b9a13397 Fixed String::IsNumber with base > 10
Former-commit-id: 18feb64e18e2b0a5360d9ae2b6dfea169ede4365
2014-04-04 11:37:48 +02:00
Lynix 7196d8399f Made use of constexpr keyword
Former-commit-id: 79bc50ffaa21947dacd18578a34f6be65285821b
2014-04-02 01:02:47 +02:00
Lynix 103f80ca2a POSIX: Fixed DynLib implementation header
Former-commit-id: 381cfd9021f972662f1fc8c67536e884e58cb65c
2014-04-01 22:41:53 +02:00
Lynix 485b35684d Added comments and optimized TaskScheduler
Former-commit-id: 863338b4599fdee38cfebec7e9dff47b571ba203
2014-03-30 19:18:42 +02:00
Lynix 11c2f82835 Added LuaInstance::DumpStack
Former-commit-id: 89c3cca3debae881007df83106bb86886a6c26de
2014-03-26 21:24:06 +01:00
Lynix b212f7c890 Added parameters to Clock class
It is now possible to build a Clock object in a paused state, or to give
it an "already elapsed time" value


Former-commit-id: 20e9c55de8a12a9220f81dc7759a4113a794648f
2014-03-20 23:06:22 +01:00
Lynix 2ea87a601a Fixed Clock::Get[*] still running when clock is paused
Former-commit-id: f2063a94251fc27da492d0d37bd42355125a1a24
2014-03-20 23:00:54 +01:00
Lynix 8228d1799c Added LuaInstance::CheckBoolean
Former-commit-id: 2468e458001641cfc6741e271f848afeaad4ea2a
2014-03-20 20:33:26 +01:00
Lynix 044a00669d Improved Scene implementation
Will provide a default background/technique when necessary


Former-commit-id: 547cca512aed4f90c53fff33e8c69245913d3a09
2014-03-18 19:54:35 +01:00
Lynix 90ebf4940c Fixed potential overflow in OBJ Loader
Former-commit-id: 8356daec0fc094c8316d9f0cfabfb6f4ccb8a1e7
2014-03-18 19:53:24 +01:00
Lynix 37197a3840 Fixed sprite rendering in Deferred Shading
Temporary fix: In the future Deferred Shading shall work with some
sprites


Former-commit-id: 4c39ddf1b09511ee411713943d97cf807ee8f52d
2014-03-18 19:53:00 +01:00
Lynix 970c0c8ef8 Optimized String usage
It will no longer initialize the buffer if not necessary


Former-commit-id: b8c910268ed3db6affb8f88b45d043d1dc021aa7
2014-03-15 00:26:29 +01:00
Lynix 268d3ae86d RenderQueues now use std::map::insert only if necessary
It looks like my std::map::insert implementation allocates something,
even if the element is present (It's not a leak, just some useless
allocation)


Former-commit-id: 9490bfb7994c23f893a74d5710381ba5919bb38c
2014-03-14 23:55:14 +01:00
Lynix 0ca2c9ccb2 Removed [*]RenderQueue::AddModel
Former-commit-id: 74b3e2b59b7a2ced16edca8dd7027dd8ae1db861
2014-03-14 23:48:10 +01:00
Lynix 2c3d8ee5f4 Fixed ShaderStage::Destroy
Former-commit-id: 87b67ba4e459a698bef9cd899ed7d5eb2cb6259c
2014-03-06 10:33:16 +01:00
Lynix 00caa6b74a Optimized Renderer (it no longer makes useless allocations)
Former-commit-id: c62e1acd27643103f736d0fdc2f4fb13018004b2
2014-03-06 10:16:23 +01:00
Lynix 9a129ec733 Disabled face culling on default material
Former-commit-id: 112868ff6fe6b4fdd820bbe0839127c5c6b27824
2014-03-06 09:59:27 +01:00
Lynix cec6f29e1e Fixed UberShader leak
Former-commit-id: 2d84fadee8ed55f068d30a28510500fe64df6365
2014-03-06 09:58:26 +01:00
Lynix cd73159d5b OpenGL class now uses CallOnExit class
Former-commit-id: c8c5bb7e50e73ba007e095eaf801fa7d5e3aa215
2014-03-06 09:55:26 +01:00
Lynix 67951074b1 Improved File class source code
Made use of smart pointers to be exception-safe
Made use of StringStream (again)


Former-commit-id: 9b139468e5045abf7ee4832c40bdec25a2a9af50
2014-03-06 09:53:03 +01:00
Lynix 42c10268d2 Fixed thread-safety
Fixed huge mistake in Clock code (Allocating a mutex everytime instead
of locking it)
HashDigest and StringStream class are no longer thread-safe (That was
stupid anyway)


Former-commit-id: d07a6859df27eac2c5171e75720b3963b6a5fbbb
2014-03-06 09:49:39 +01:00
Lynix ef9592a0fd Added repetition constructors
Former-commit-id: ee33ef8aa01ec14a89f47b3581f86cfe499299b8
2014-03-06 09:24:38 +01:00
Lynix 24be314b86 Fixed spaces
Former-commit-id: 570c1fb8c0ffa6d140112a9cdaa14c05c752d916
2014-03-05 00:47:26 +01:00
Lynix 5e9201cb22 Optimized Scenes configuration
The scene class no longer create a default background/default
rendertechnique at construction, instead it waits for Scene::Cull method
and create them if they are invalid


Former-commit-id: b5d031abc5d7df4be5ad4edd6036ad7d60cacbb4
2014-03-04 20:21:33 +01:00
Lynix 2990843f31 Added warning
Former-commit-id: b6956df1ded62a23140f4c44f0fd8b677c63c981
2014-03-04 19:35:51 +01:00
Lynix 0f2cab56ff Forward RenderTechnique now handles non-lighting shaders
Former-commit-id: f243ba8aea76ada91510f6b36c292ae0e18e2add
2014-03-04 19:35:40 +01:00
Lynix 05e7e11356 Made default material wireframe
Former-commit-id: c65d5b74dd430ecd5dd71a1b3167dc4afdf6dbf9
2014-03-04 19:34:07 +01:00
Lynix edaac1ded4 Fixed last commit
Thanks to Raakz for his patience


Former-commit-id: 4b423f3d271fcbdc3e33937e8170843681a3b096
2014-03-01 12:55:43 +01:00
Lynix 4cd0ece11e ModelParameters no longer contains shaderName field
Instead it will now set the shaderName field of the material field to
PhongLighting


Former-commit-id: 55b7f5500c7dc2c147f32a7c214a8e75ea434ff1
2014-03-01 12:25:11 +01:00
Lynix 5018787e3e Reworked InputImpl::IsMouseButtonPressed Windows code
Former-commit-id: 216192b459f4b0ce6dcceb06d954eb883ced2410
2014-03-01 12:23:17 +01:00
Lynix 02275293ee Fixed Texture loader not setting shader
Former-commit-id: 9a2e54c28f42a9390ab51d0909c92b7454aba476
2014-03-01 12:20:52 +01:00
Lynix 0e4b1a8ffa Fixed unused variable warning
Former-commit-id: 7a3752dfc8b68620162ef13fe40ac60c97611af9
2014-02-28 13:40:41 +01:00
Lynix dcccc8a5ad DebugDrawer no longer create shader
Former-commit-id: a7f0f19b01b96fde835624d4a0ac7b029a40a039
2014-02-28 12:14:48 +01:00
Lynix 4fb70f8b9f Removed useless include and added TODO comment
Former-commit-id: 99c33e1725fac1a5e08038b7bb013a7d72bc61c2
2014-02-21 19:45:21 +01:00
Lynix 86bdab9055 Big UberShader update
-Added GRAPHICS_MAX_LIGHTPERPASS macro
-Added glGetActiveUniform OpenGL function
-Added (Uber)ShaderLibrary
-Added (Uber)ShaderName parameter to models
-Changed uniform system
-Fixed Node copying
-Moved Material class to Graphics module
-Optimized lights
-Remade Shader class
-Renamed Node::Invalidate to Node::InvalidateNode
-Renamed ShaderProgram to Shader


Former-commit-id: 15f0cad52969e91a2442e7d750ba2dc412f3549d
2014-02-21 19:27:39 +01:00
Lynix 4ee2ceaef0 Fixed debug compilation
Former-commit-id: d2e8883f65ebc6a3025676d69211e54b6e115333
2014-02-21 11:43:54 +01:00
Lynix fd958fd9ac Updated the way module are initialized
It's safer and prevent a bug when initialisation fails


Former-commit-id: a04f18e18f2d9db11ec595a9b8096c2792b39641
2014-02-21 11:13:14 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix d05cc9ce0c Improved ParameterList interface
Made it easier to handle errors and use default value


Former-commit-id: 1891efa0b0196b2c6602e52631e5e6cefb529137
2014-01-19 12:02:59 +01:00
Lynix 47959eaaeb Added ParameterList class
Former-commit-id: c592d0a09c33aa23b5efe635734c52b726364085
2014-01-19 10:56:45 +01:00
Lynix 9533f16e46 Fixed forward shading point lights for real
Thanks to Raakz


Former-commit-id: a6c2b282a18d2dfa94732afb401811c8dd5d4b93
2014-01-18 09:08:42 +01:00
Lynix 4016d2fdcf Fixed LuaInstance:To[Boolean|Integer|Number|String]
Former-commit-id: 7ab510da1474fa0020981f8d5c90cf866087fa36
2014-01-15 14:40:50 +01:00
Lynix 151a34b35b Added String::Set method
Also improved performances in some cases


Former-commit-id: f88dbd0685b8779715e316e9d85ec005ab72e1fb
2014-01-15 14:40:15 +01:00
Lynix c096756dab Happy thousandth commit Nazara
Updated copyright year (Yay, 515 file updated)
Regenerated global headers
Fixed some typo
Improved some shaders
-Blah blah blah-

Thank you all for supporting my project !
-Lynix


Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
2014-01-12 20:16:21 +01:00
Lynix 9389e1ea05 Changed DynLib internal
Fixes the "Assimp32.dll not found" bug


Former-commit-id: 662adba33c5d9cfbd23c8b0af0670626070baaa9
2014-01-12 10:33:03 +01:00
Lynix 6545b919c5 Fixed forward shading point-lights
Former-commit-id: 43b933a1f8f4be8e9a8c2189c73f86e4f33229a4
2014-01-12 10:02:07 +01:00
Lynix bcfe357be7 Fixed String constructor (Close #24)
Former-commit-id: 4be4b713375ab4285776ec22b598117e3ede418a
2014-01-12 08:42:48 +01:00
Lynix b9dca8966d Improved Deferred Shading performances
Former-commit-id: 7251e9f552230c31409f7780929fcc30f2b85bed
2014-01-11 19:16:36 +01:00
Lynix 9bf66e7e16 Added RenderTexture::Blit
Added RenderTexture::GetSize


Former-commit-id: f385ccc39a2051765db9befa3b77f75b17529447
2014-01-11 19:10:19 +01:00
Lynix cbce6e6e64 Reunited Deferred Point Shader and Spot Shader
Former-commit-id: 0a77f57d8af98387690748102f6cdcea5d5514ed
2014-01-11 10:21:33 +01:00
Lynix 16578e728f Renamed RenderClearFlags to RendererBufferFlags
Former-commit-id: 7821709bc7310820e877db9bb26d1fb50d7ba217
2014-01-11 10:12:06 +01:00
Lynix d902eea49e Added "force mono" option to Music and SoundBuffer
Former-commit-id: 1f46d1461a8289a590a71e368f282a955d7d8234
2014-01-10 20:09:13 +01:00
Lynix faed82426f Fixed missing implementation of Music::GetFormat
Former-commit-id: e3d8ca822a46d00a5eec6e0512dd089e88049cf7
2014-01-10 20:01:33 +01:00
Lynix 601346a566 Fixed possible bug in NzMusic
Caused by sending a non-updated buffer to OpenAL


Former-commit-id: 4441bcc9cd8cee874ba8bc5f66f1234cfffd3621
2014-01-09 21:04:58 +01:00
Lynix 26fb8abbbd Fixed broken Audio module
Former-commit-id: 72adc46d13bb165c1a2f3bf72dc60f64b0b5973e
2014-01-09 19:54:36 +01:00
Lynix 6088e439e3 Fixed last commit
I hope one day i will merge without any error !


Former-commit-id: 2634ffc2a05aa8ce018ee4849ae5ca14c36ac8f5
2014-01-08 12:09:09 +01:00
Lynix 0702e2e7bd Merge remote-tracking branch 'origin/Audio-update'
Conflicts:
	include/Nazara/Core/ResourceLoader.hpp
	include/Nazara/Core/ResourceLoader.inl
	src/Nazara/Audio/Loaders/sndfile/Loader.cpp
	src/Nazara/Audio/Sound.cpp
	src/Nazara/Utility/Loaders/MD2/Loader.cpp
	src/Nazara/Utility/Loaders/MD5Anim/Loader.cpp
	src/Nazara/Utility/Loaders/MD5Mesh/Loader.cpp
	src/Nazara/Utility/Loaders/PCX/Loader.cpp
	src/Nazara/Utility/Loaders/STB/Loader.cpp

Former-commit-id: e0706cc0feafb1ad182b8cc51e2b18f8f3664b97
2014-01-08 12:03:52 +01:00
Lynix 351618f93b Fixed instancing not enabling in some conditions
Former-commit-id: a6a29acd1896f44a7f82dd64fd53740b9021b422
2014-01-08 11:27:29 +01:00
Lynix 5132ada030 Fixed DynLib::Load not emitting error on failure
Former-commit-id: 73d792ccaf18533a04f834f6cefcd2eb844c2100
2014-01-08 11:25:37 +01:00
Lynix b85a5bd5d5 Some changes in DynLib internals
Former-commit-id: cfd8cbbdf30e2b0a6faa3a283c860001b07ae6de
2014-01-08 11:12:34 +01:00
Lynix 26a6158f8f Audio update
OpenAL is now loaded dynamically
Added (back) Audio::[Get|Set]ListenerRotation


Former-commit-id: d99ba9f15ec250f3963cd50d6a4a892209235c4a
2014-01-08 11:06:40 +01:00
Lynix 9ac4df3c6c Added move constructor/operator to DynLib
Former-commit-id: af6c6b2ad7803a9ae6d7106188a0b69e341835c0
2014-01-08 10:48:23 +01:00
Lynix d72486d400 Modified PluginInterface internal
-No more warning when adding a non-existing directory


Former-commit-id: 778ebe57678288293556616fd66d3cdee9d09c79
2014-01-05 15:31:56 +01:00
Lynix 3dd8b8fce1 Modified DynLib/PluginManager interface
Former-commit-id: 2dae56cad852a46c9bac828cc7775a4da42c96cf
2014-01-05 15:30:27 +01:00
Lynix 3625713914 Fixed bloom pass
Former-commit-id: 114db3f6b8857f2ef95da88a118d90eb203806c3
2014-01-05 15:29:34 +01:00
Lynix f3f16144ab Modified comments
Former-commit-id: d66e58a05e212983a6522989ece76a7bdf0292c6
2014-01-05 15:28:57 +01:00
Lynix a332579c80 Deferred Shading update
-Deferred Shading now use a dynamics pass system
-Forward Shading is now capable of rendering more than three lights
(Multipass)


Former-commit-id: 74ed0b998d72aa9eb3bd2aab938a75985ebb2bf6
2013-12-28 10:22:03 +01:00
Lynix 3e0561830f Added Renderer::GetDepthFunc
Former-commit-id: 222cefb90f7fd4771bd5b9f9eab9f9adf02b72d9
2013-12-26 11:33:01 +01:00
Lynix efd3491b43 Fixed Bloom shader not compiling everywhere
Former-commit-id: ff47c90aefa7c54349dfe162c6d5b3e34957460a
2013-12-20 20:08:05 +01:00
Lynix ac7f5008ca Improved FXAA
Former-commit-id: aa3b64de5be93b05fab0ad45039e5aac74c4d197
2013-12-20 20:06:00 +01:00
Lynix f2bb457850 Updated Shaders for Deferred Shading
Former-commit-id: ab97c6e7b74bffad32d334a2d0e5bd4607047c03
2013-12-20 20:05:51 +01:00
Lynix 69479de643 Added center mesh parameter
Former-commit-id: e010a81e3f00ca6091e438d405e3e6ca14938b8f
2013-12-20 20:03:18 +01:00
Lynix d01d6009d0 Fixed SoundEmitter spatialization
Former-commit-id: 01619ceae0609421e590bd5ac0e6ed3828457e7e
2013-12-20 19:43:48 +01:00
Lynix bed3cc570b Fixed memory leak
Former-commit-id: 1cbf2fbe929dc3b210ce0c8ca0e4e5edfe4165b4
2013-12-20 19:41:36 +01:00
Lynix d87dc7bf50 Added Model::InvalidateBoundingVolume
Former-commit-id: 8298726f5170f1d0318e86173e7feba6d4e60e6c
2013-12-20 19:41:13 +01:00
Lynix 4f671db265 Added Sound::Is[Playable|Playing]
Former-commit-id: 526edb3f87884f45c6b677f44329a90457d3444b
2013-12-20 19:36:36 +01:00
Lynix bd98490d9f Made Sound class safier
Former-commit-id: 4d75f94086b2bddcd84bed5b17204f99a3d78ef4
2013-12-20 19:33:27 +01:00
Lynix 56438f6ecd Fixed sndfile loader sometimes not working
Former-commit-id: b76e823dff63ae125fc25336a0b730bcf8f86901
2013-12-20 19:30:26 +01:00
Lynix 19d5b62009 Fixed crash on ForwardRenderTechnique
Former-commit-id: 80181ffddf69a52af96814db54aa18a7809fa5d5
2013-12-16 17:22:23 +01:00
Lynix 16bf4bbcf2 Fixed SceneNode::operator=
Former-commit-id: 9c48148eeaeeadbea708dae3d8d30c594cf5a39f
2013-12-13 22:07:42 +01:00
Lynix 3c96d8a1a1 Added Keyboard::Decimal key (Numpad .)
Former-commit-id: ae01476de199e22d080508e88f2625c2f0332002
2013-12-13 22:07:03 +01:00
Lynix 054cde1c8b Fixed SpotLight bounding volume computation
Former-commit-id: 72c87aa9cdb8f0e98ff2e82522d85643896884df
2013-12-09 14:45:21 +01:00
Lynix 0d8572a60c Added DebugDrawer::DrawCone
Former-commit-id: 8c02ac50f3ca6a7fba1494f8f2a42eebfe949f7b
2013-12-09 14:16:48 +01:00
Lynix a9af5523ee Added cone primitive generation
Lacks normal/tangents/uv


Former-commit-id: 682bb7ea926361bfb10807f6addf98f8fd4e7d75
2013-12-09 14:15:34 +01:00
Lynix 9357079e1d Added RenderBuffer class (Usables with RenderTexture)
Former-commit-id: f32a2d5e5018ce3b1d41db87aec6fa910c8183a3
2013-12-07 23:48:21 +01:00
Lynix f7990e4521 Warnings no longer throw exceptions
Former-commit-id: 49545105cb8d5a56e493b5eb63ed745aeb02d2f6
2013-12-07 23:47:07 +01:00
Lynix 3f10354461 Removed redondant comment
Former-commit-id: 29c54a7cf234b9f944c18b51a32e1eb8b1629d4e
2013-12-05 10:20:53 +01:00
Lynix 0af23c11f5 Fixed TaskSchduler not releasing memory and handles
Former-commit-id: 4bf70d2ffdaaaea6b8ee122bb4589b3d8c68884f
2013-11-30 16:13:54 +01:00
Lynix ca76c4dfb3 Added some asserts
Former-commit-id: 703f3982d7fec1ac4ec46c185fbbdf2668e8a848
2013-11-30 13:48:12 +01:00
Lynix 55aed0ec68 Rewrote Task Scheduler
Better and faster implementation


Former-commit-id: d765415ca0576cd843480292e30c2d7bafa7f66a
2013-11-30 13:48:01 +01:00
Lynix 5eeb409484 Updated comment
Former-commit-id: 09c999fca26df0d9656e1ae0edf369e10a6855e8
2013-11-30 13:00:16 +01:00
Lynix 3c337c0191 Optimized ConditionVariable Windows implementation
Former-commit-id: 4f2e582d64e8f3a1f83cea2bd0f7220987aa4332
2013-11-30 12:29:39 +01:00
Lynix 0e99205046 Fixed rendering
Resource encoder now store unsigned char instead of signed char


Former-commit-id: 648dd1d55facd40bc37075291782a54cbbc4811f
2013-11-26 15:25:43 +01:00
Lynix a8a0bcf005 Made SSAO load its noise texture from memory
Former-commit-id: 69d5cd81c728e49be846c2be89d65ca2cd3e1e9b
2013-11-07 00:00:15 +01:00
Lynix 05f8b88b4d Disabled SSAO
Results were just terrible


Former-commit-id: 294b8729f876fe1b7af79520a4616b3f79c2ed3c
2013-11-06 23:59:10 +01:00
Lynix c647b61904 Fixed MemoryStream::Read crash when just skipping (null buffer)
Former-commit-id: 46072c0ebd093bcfa1e7f54d11deb034cbc55dae
2013-11-06 23:56:20 +01:00
Lynix f722d83955 PluginLoad now return an int instead of a bool
Since it's C-exported


Former-commit-id: 77ac90bd7151b086c555ffed50066991910e3cd8
2013-11-06 23:55:44 +01:00
Lynix 2489f46fb7 Changed default plugin directory
Former-commit-id: e730d1bfcdc339f8279084f3305488bf0aff5d3c
2013-11-06 23:55:10 +01:00
Lynix 7f7e8d8567 Fixed ErrorFlag not being exported
Former-commit-id: 0b24f1beb68333806bb6b29786e1ea05a0802638
2013-11-06 23:53:55 +01:00
Lynix b7b65d7119 Added Deferred Shading
Former-commit-id: 926022d6306144e2f87cd293291928bda44c7a87
2013-10-22 12:54:05 +02:00
Lynix 37c45153af Fixed whitespaces
Former-commit-id: 56787f5a0cf0093ad63b33a8b4746968215e2a11
2013-10-19 18:28:15 +02:00
Lynix cb007b48fd Fixed compilation error on POSIX
Former-commit-id: 92c425519f250d15f4fe71d2e08e987b965dac70
2013-10-19 18:28:05 +02:00
Lynix d97d4b62e4 Fixed missing files
Former-commit-id: e1f774f034503628ae7fbaa292142f5b6d1082ab
2013-10-09 10:55:37 +02:00
Lynix 3cbcc527cd Added Sprite::SetTexture
Former-commit-id: 275e689110fe7b86159b895a3016a64f1103effb
2013-10-09 10:14:17 +02:00
Lynix 0f382fd1ad Added new RenderTechnique system
Former-commit-id: 6d65a4537232bc705333c696f2478d47f16e074a
2013-10-09 10:14:17 +02:00
Lynix a88fe446bd Made use of lambda functions
Former-commit-id: d7d81da2a9fc73c9b3e44d292bda9fd47ac561f3
2013-10-09 10:14:15 +02:00
Lynix 14eda38cac Made static_assert useful
Former-commit-id: 135783fe3ee3f5304309dd6948f0a83a349e62b2
2013-10-09 10:14:14 +02:00
Lynix eefd0ddd35 Fixed Texture::Update behavior
Former-commit-id: 8d1de49226b72b3f1e063b9da87c3391bce9ea95
2013-10-09 10:14:13 +02:00
Lynix 282291ffad Fixed error message
Former-commit-id: e75016a246fdc912575cd82e3ac93b9e4e952e20
2013-10-09 10:14:13 +02:00
Lynix 239ce4e323 Fixed Render[Texture|Window] crash when released while on use
Former-commit-id: 30b4bd5b7eb7b665cecfe6366117b7a3b4290202
2013-10-09 10:14:12 +02:00
Lynix 185b450c64 Improved Lighting
Former-commit-id: 6ac2d8ec9a3b283a8179e5f0bb5d5896ec57a14b
2013-10-09 10:14:11 +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 672cbaed1d Optimized OBJ loader
No longer loading same material twice


Former-commit-id: 21e1842600722f4ba3c02816fbfc016a6e5175c5
2013-10-09 10:14:08 +02:00
Lynix dbbc931df1 Fixed MTL keyword "tr"
Former-commit-id: e5e4ff0a9f7adcc7ba01f9e1586794a9357f3218
2013-10-09 10:14:07 +02:00
Lynix 14a939d785 char -> const char
Former-commit-id: 2ffdcff37f29286517fb33c1b56151405f84bc53
2013-09-23 09:54:13 +02:00
Lynix 1a561e42ff Added Light::SetLightType
Former-commit-id: 8f55cd7b3941496e97795ca920c7a657e555eeab
2013-09-23 09:49:03 +02:00
Lynix 96974a9d2b Fixed Light copy constructor/assignment operator
Former-commit-id: dadf40b2e3a58ed32d9f38b8fea8d60d2297b767
2013-09-23 09:44:43 +02:00
Lynix 05712da240 Fixed MD2 translation
Former-commit-id: dfae1a1d0588c41fb647580623af7a69d367a01e
2013-09-23 00:25:11 +02:00
Lynix 06cda62c9a Fixed Model "Mesh" loader not using mesh parameters
Former-commit-id: 5fd20c30c3d9afa2651ddd17ca74dabf025ec826
2013-09-23 00:24:31 +02:00
Lynix cd46555acc Fixed Spotlights
Former-commit-id: c802da26d010dcf7df6f234be204690e718634a6
2013-09-23 00:23:28 +02:00
Lynix aa4d5f5ab8 Fixed typo
Former-commit-id: 291aec9c9969efdadd90017ea6cb81466c2d06e2
2013-09-23 00:22:46 +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 cfa282bcca Fixed missing file from commit b373633
Former-commit-id: 1e9fc525f0d72e6c80028d0d456518a4c290e0c7
2013-09-20 21:47:35 +02:00
Lynix 8073e70090 DebugDrawer will now auto-initialize
Former-commit-id: 62756d6aa2e4cc25be93cb27c4698cfb3fc0e6d8
2013-09-20 16:21:50 +02:00
Lynix 197bddb6ba Transformed "Encoded shaders" into "Encoded Resources"
Former-commit-id: ead4cc9bb162d2f9e5c08756575e84f3a9056679
2013-09-20 16:20:51 +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 ffb993c864 Fixed [Color|Texture]Background not rendering
Former-commit-id: a3bb4bd62176fea7ba88993b445b55e72c2c1835
2013-09-07 22:06:50 +02:00
Lynix 7d2981d9a2 Fixed Skybox not rendering
Former-commit-id: e2b40de7b096853edca855df6824f4c832d78bcc
2013-09-06 23:29:48 +02:00
Lynix b2dd572cfd Fixed warnings
Former-commit-id: ad7f020dde35087ed4c4fa81b531d5b9e74fc134
2013-09-06 18:38:13 +02:00
Lynix 19a5a3e433 Updated Deferred shaders
Former-commit-id: 8f8f7529f952a65bfe1a34a06e3fdd5bd900f138
2013-09-06 18:35:41 +02:00
Lynix a7e0ec5984 Shared ShaderProgramManager flags to both fragment and vertex shaders
Former-commit-id: 10a5b3493df9c1e756702f572c90fbbd6e697039
2013-09-06 18:32:28 +02:00
Lynix c1dc2884b0 Forced Backgrounds fragments depth to maximum (1)
Former-commit-id: 98af132b7cc61469af752d1210dfb03e0c9b63ec
2013-09-06 18:31:04 +02:00
Lynix fee15472d4 Fixed RenderTexture warnings
Former-commit-id: 0d9b7c6f27727f7e9d08fab00c18f55d6278c02b
2013-09-06 18:25:14 +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 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 66a64fb71c Fixed GpuQuery bug
Also added GpuQuery::GetOpenGLID()


Former-commit-id: 2a5d01a945ffeb576b5dce6756dbffcc511c237c
2013-09-06 17:17:47 +02:00
Lynix cbd7b1c36e Fixed crash
Former-commit-id: c4c873820026dfb348da515fa7bb0d4e6f97aba9
2013-09-06 17:17:20 +02:00
Lynix 0fd535a9e8 Added a lot more texture formats
Former-commit-id: b3a553ea39a174d84c5cd6fcca853ee83c1e6670
2013-09-06 12:07:38 +02:00
Lynix ae7c54a9fc Fixed LightManager crash
Former-commit-id: c9be4c0ee3343818c8b50b6fef29f64c198795e0
2013-09-04 00:19:33 +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 b1cd99a08b No more useless shaders will be generated
Former-commit-id: 9bc30fc69aac0c3c531b9fc56dd204ee70bfdf3f
2013-08-28 03:06:25 +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 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 75de88066b Fixed crash
Former-commit-id: 4388600646138181546d59d6602b1e1cacaf59ec
2013-08-26 12:27:27 +02:00
Lynix 7f2888a346 Remade shader encoder
Former-commit-id: f96b33ed36650931c78b58fae6d7fc7f68efab20
2013-08-26 10:46:58 +02:00
Lynix aafcd6bd03 Fixed crash
Plus fixed transparency comparison
Plus optimized material comparison


Former-commit-id: d812adc54e8ae529cd1a1fd29202f6aaae97544a
2013-08-26 01:01:26 +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 881d6eb3e2 Fixed Camera/View not activating RenderTarget
Former-commit-id: 69b332f3e0b7e4ddb296fa5c32804b84af557e0c
2013-08-25 01:35:01 +02:00
Lynix 6aa401b0fb Fixed GLSL error with OpenGL 2
Former-commit-id: 4d7b1d56b793742c58129dd900b23202ffa4e41a
2013-08-24 22:24:25 +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 3e132cb445 Fixed crash with RenderTexture
Former-commit-id: d084da6fed345fa8a03023898578be75e10d8ab9
2013-08-24 21:58:58 +02:00
Lynix 24e56790cc Fixed transparent model rendering
Former-commit-id: da363be3b19951ae49996fe9d05998420e80911f
2013-08-24 16:22:55 +02:00
Lynix 1493da0466 Increased user-friendlyness
Former-commit-id: 9611bb08f0be314d65453b88d84c36299d9a22af
2013-08-23 22:05:17 +02:00
Lynix 3bca9803ca Fixed order of rotation
Former-commit-id: 1b7b714192fdd4a4ad54fbd6e79f4570b0f584e0
2013-08-23 22:04:18 +02:00
Lynix 57df82a82f Made skyboxes not using Depth Buffer
Former-commit-id: 1370ab047a750f5f52bc905d26f4fc9892fbb69c
2013-08-23 13:17:12 +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 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 a6f26ff336 Added Window::OnWindowResized event
Former-commit-id: 61262182892d2dae3defb239e751cd4b996a5ad6
2013-08-21 18:48:15 +02:00
Lynix 2bc30f4638 Improved error message
Former-commit-id: 5d40418cbadf107929c1a359a4415bd9aedf978a
2013-08-21 18:47:45 +02:00
Lynix 1e6fe40707 Optimized WindowImpl::Get[Height|Position|Size|Width]
Former-commit-id: e482fc04a632e5338601627f7dd7c6f0fe18d135
2013-08-21 18:46:29 +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 3569ef531f Added error detection
Former-commit-id: f105f9bb1a31769844076a1053968a047cff89fc
2013-08-16 00:24:16 +02:00
Lynix dc2762aade Fixed Node::OnParenting callback not called
Former-commit-id: a6a88b0edf40910e80fa1c4e23637cd9a42c851e
2013-08-16 00:23:53 +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 09e3027129 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
Former-commit-id: ea9e193d2cd3a4dca31c570037ea7b6c12edb826
2013-08-12 00:54:21 +02:00
Lynix 5085e0b43f Fixed crash caused by String class
Former-commit-id: 642c9f06e81e00dbd65a149e4fd72d2d90848f77
2013-08-12 00:53:27 +02:00
= 244c4d96e9 [POSIX] Fix ConditionVariableImpl.cpp compilation errors.
Former-commit-id: d6cd13392acfa62329bf0efe9957d553bbc5657a
2013-08-11 19:44:26 +02:00
Lynix dbbbde0575 Fixed POSIX support for NazaraCore (Close #15)
Former-commit-id: 7fee4f65f1306698a8e399a7d4b0593b68929d33
2013-08-11 15:53:53 +02:00
Lynix 241e8fe9d9 Optimized ForwardRenderTechnique
Former-commit-id: a4e035c860ed2fcaeedadd5a41fb9f6251649000
2013-08-10 22:59:02 +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 4b1a6cc09e Fixed missing include
Former-commit-id: 9314ba7a7a528875038e119ddd0cbdc849e2eea5
2013-08-09 15:52:25 +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 b969c24060 Disabled thread_local keyword on directory current path (Close #14)
Still buggy


Former-commit-id: 2daf33fe93dbac37ff3deccf0ff8df60ac21e9a9
2013-08-08 23:12:32 +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 e246d390a7 Little optimisation
Former-commit-id: a2ddce1e87634a31cf6cb5617013f14e157df80d
2013-08-07 10:44:08 +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 98246d0eee Added some missings warnings
Former-commit-id: e1e754d3c48b156f82450829fa2c8eb9af9ab96f
2013-08-07 01:11:06 +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 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 8f593d56f4 Made current directory thread local
Former-commit-id: 6d4f42b6ca5102404b543a5b4e6bedee1aa291f1
2013-08-03 17:32:03 +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 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 29ee943871 Made non-filling version of ByteArray::Resize
Former-commit-id: 0fec6b5749a786fc1999b9fc718a481d47c52895
2013-08-01 23:14:49 +02:00
Lynix 8f9771ab8b Updated OpenGL headers
Former-commit-id: 78e59741ea4e8b2109bddf6f95d0453a7c40cb5a
2013-07-31 14:22:15 +02:00
Lynix 8dba8599d2 Optimized closest lights handling
Former-commit-id: 9db6300cb2a48907e4d558e721a5f63d0c9e967c
2013-07-31 14:19:20 +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 18cc3b16df Fixed leaks
Former-commit-id: 61b219e69fb048eef08ce03dca3a9cb2741760b4
2013-07-09 01:13:14 +02:00
Lynix 87a4da40bc Fixed compilation error
Former-commit-id: d7354d3ab3de1627e7a6985f4377607c4f87607a
2013-07-09 01:07:26 +02:00
Lynix 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +02:00
Lynix 588077396c Defaulted [Point|Spot]Light radius to 5 meters
Former-commit-id: 7faefa121b90dcd31c83ea6c5baaae264f1c0960
2013-07-09 00:55:18 +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 7d688ec8c7 Fixed some IndexBuffer generation
Former-commit-id: cb65a63ee0d8193004b264323941a7d1f214a3c4
2013-07-01 18:11:42 +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 9d8ce1ce4b Fixed OBJ loader not correctly loading alpha
Former-commit-id: f90feace73669f4a54e1791dae23b16867bb1d8b
2013-06-27 18:57:14 +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 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 57e12a2625 Fixed box generation
Former-commit-id: 99534bcd90ffb81ba362ea2c709d68b643a9bdbb
2013-06-26 18:55:09 +02:00
Lynix 245d6e105e Experimental new algorithm to sort transparents objets
Former-commit-id: ad8704584598e1edcd3699d234abaa132d88e581
2013-06-26 15:20:07 +02:00
Lynix f9c9c67076 Fixed depth buffer sometimes not cleared
Former-commit-id: a5bda481479a51787601549a306f3a6b809c6afb
2013-06-26 15:19:29 +02:00
Lynix 0ece160382 Fixed error messages
Former-commit-id: 401e78d1e3903210916abf9b7d70a858df805fe2
2013-06-26 15:19:01 +02:00
Lynix 844c6d7d3d Potential optimization
Former-commit-id: 85a2f1836e459a66a29cad5f417f6839390b461b
2013-06-26 15:18:54 +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 f3603a0b31 Fixed model using last mesh materials for new mesh
Former-commit-id: 91bd231b45b701b18d6e86eab74afbd141a51ded
2013-06-25 14:50:38 +02:00
Lynix 9a3616f538 Meshes have at least one material
Former-commit-id: c1b7fc15541e4e7f6a5eb1b25220dee2978fe9c5
2013-06-25 14:50:14 +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 3b88cd936c Fixed bug with threads and OpenGL contexts
Former-commit-id: 044923d57873f4e1a1eb4001395a83dbe97aabed
2013-06-25 00:26:18 +02:00
Lynix 0e3a4fa90b Updated physics module (Still experimental)
Former-commit-id: 4852b7cf6eca5ba3177397586877fe3d3c39dbd9
2013-06-24 13:33:54 +02:00
Lynix 050f9c2eb7 Fixed (?) potential bug with Shader::SendTexture
Former-commit-id: bd59f728396589aec5a420d675cf290019c0c042
2013-06-24 00:31:57 +02:00
Lynix e78db0feca Fixed MD5Anim loaders not being unregistred
Former-commit-id: b9414a479bdb3aff1560c606239bc1ee79c053f9
2013-06-24 00:29:59 +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 17c9461610 Optimized String::GetWord (2x faster)
Former-commit-id: 9257614bff0d2a38d089f8073ce7f7de2fa51467
2013-06-19 14:59:02 +02:00
Lynix 3f9faa3a5a Fixed stack corruption
Former-commit-id: 0ec71c8cc8f69d3dbf3b8ffda6556a9eebfeac1e
2013-06-19 14:33:06 +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 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 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +02:00
Lynix 433c36f176 Fixed bounding volume not being updated
Former-commit-id: 809faf0ed66916b1598cca11f749b31961f2e184
2013-06-18 16:38:30 +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 783e609c8e Fixed warnings and optimized noise module
Former-commit-id: 62840540e2938d08436a22d4e19d801466f1d6ba
2013-06-17 23:58:06 +02:00
Lynix 5e7a6b3a21 Removed thread-safety part of VertexDeclarations
No longer required since atomic integers


Former-commit-id: 7c08391a1feee7858eb800789d7c325d2ad0b211
2013-06-15 16:22:26 +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 8595a110a4 Fixed compilation warning (C-style cast)
Former-commit-id: 063414bfd23047ce05010546f3cfe5188bd8e9b7
2013-06-15 16:11:37 +02:00
Lynix a9c53a9c2c Fixed potential crash
Former-commit-id: 2fd792cef599915d9f73a176e462aa8c74b91987
2013-06-13 19:37:38 +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 97b2e90fb9 Skyboxes now use Renderer ViewMatrix
instead of camera's one


Former-commit-id: ba78dd0c5a00a71f933b7f7e091d6d48f58827e9
2013-06-10 16:43:43 +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 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 0612e9bea5 Fixed 4bits pixel format conversion
Former-commit-id: c03823b24da431d9b85ed2aae0e88ee6045036b9
2013-06-09 22:04:25 +02:00
Lynix ca5fb44ecf Really fixed AABBs
Former-commit-id: 003979537f2ea5362849df8a65611739aea6d298
2013-06-09 22:03:42 +02:00
Lynix 0f111c149c Added some comments
Former-commit-id: 35179287da54900b2f5ca5cb9213f3df3c2200ee
2013-06-09 16:26:01 +02:00
Lynix 40bf1723f5 Added Node::SetTransformMatrix
Former-commit-id: ca5c457f48b12b5603ee6a7629159a74388a9b42
2013-06-09 16:16:42 +02:00
Lynix 3df00608b5 Fixed warning
Former-commit-id: 8e4c53e92dc2e5d240aebcb58d817a2a183cb675
2013-06-09 16:15:57 +02:00
Lynix e689f6f09f Added Mesh::Recenter()
Former-commit-id: 07ef8b3296b835e207bfa904af29546f724e6dc3
2013-06-09 16:15:13 +02:00
Lynix 346415e860 Fixed AABBs being larger than mesh/skeleton
When mesh/skeleton was not centered


Former-commit-id: 595b234c20ae0447fe0c2263d4e000d87fea7300
2013-06-09 16:14:51 +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 c76c419867 Cleaned interface
And fixed some VS warnings


Former-commit-id: 8c89fa1d4dc92a362053e4cdeabe20537fcec2a6
2013-06-09 11:25:17 +02:00
Lynix f74f9e964e Replaced Mesh::Build by BuildSubMesh(es)
Former-commit-id: c5b034aa764cdda0ea0c48182f2562968a10c226
2013-06-07 12:22:43 +02:00
Lynix b1d7770570 Fixed compilation error when building for vista
Former-commit-id: e6a1948da62dd5837293a9febc706f52c93c60e4
2013-06-07 11:53:29 +02:00
Lynix 4f55f37496 Fixed IndexMapper not working in safe mode
Former-commit-id: d85c1336349dea314cd3f59018050c3f8029127d
2013-06-05 19:41:08 +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 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 e480ec5394 Fixed comments
Former-commit-id: f13d1b6e7fa8ba78087172d7def6b19c7cf69973
2013-06-04 14:52:27 +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 7e9dd26991 Fixed Mesh::Build error message
Former-commit-id: 5c5be9325cf4e6c7c180cfdd4a2ff2a03743adb8
2013-06-03 12:57:59 +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 e0229ab390 Cleaned Thread class code
Former-commit-id: d8c918c7a3c50ed3ed2f225303540d3860863d4e
2013-05-30 02:59:08 +02:00
Lynix 90bc3c342c Fixed STB loader artefacts
Former-commit-id: df4b7cef68efc9e67b968daaa71f578cea68e061
2013-05-25 10:08:13 +02:00
Lynix 810b45fbb7 New emission-map algorithm
Former-commit-id: a45adb79b885d41a2d461a1d672fc8f63dedff65
2013-05-25 10:07:55 +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 50e8ce3658 Fixed delete after new[] (induced by last commit)
Former-commit-id: 44a4af07d5c1e6b28b6351318f3ca919f940f2a9
2013-05-23 02:22:23 +02:00
Lynix 738788b4c3 Made use of smart pointers :)
Former-commit-id: 5380752e0da3f4b958a944e41fcde38722e3c4c2
2013-05-23 02:14:41 +02:00
Lynix a33960c2aa Added static assertions to check on MD2 structs
Former-commit-id: 6318bb363b69bd2e872143fda9eee76e6e1ff995
2013-05-22 01:03:51 +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 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 f434266a88 Fixed IndexMapper with constant sequential buffer
Former-commit-id: 195d03c1db72edfdfa4d407f7c1adb983bd266c6
2013-05-13 12:53:56 +02:00
Lynix 2b00ee9c04 Cleaned SubMesh code
Former-commit-id: 26be5a2fd205428f10316f899ee36b8fc3c3d46e
2013-05-13 12:52:56 +02:00