Commit Graph

915 Commits

Author SHA1 Message Date
Lynix f2141f5756 Improved MemoryManager handling of failed allocation
Now throwing a std::bad_alloc


Former-commit-id: 09c1806a0601944b5566d5cb2fe878c4af8ea0f5
2014-07-12 12:51:34 +02:00
Lynix 793ad16238 Improved code
Former-commit-id: 6c140262471d81edebe965c91a270df8929b1aef
2014-07-12 12:50:23 +02:00
Lynix 8128079927 Fixed error message
Thanks to Raakz


Former-commit-id: 71f2febaa811c19f7c3da69d1154d0e6e97da726
2014-07-11 23:06:46 +02:00
Lynix 27aea8ae2a Fixed VertexDeclaration copy constructor
Former-commit-id: 54bd378364c987c975ca2e83187b3559f4b9d92c
2014-07-11 10:23:55 +02:00
Lynix b54be6e25f Renamed AttributeUsage and AttributeType
... to VertexComponent and ComponentType.

-Renderer:
Renamed IsVertexAttributeSupported static method to
IsComponentTypeSupported

-VertexDeclaration:
Added IsTypeSupported static method
Renamed [Disable|Enable|Get]Attribute to [Disable|Enable|Get]Component
Removed GetAttributeSize static method

-VertexMapper:
Renamed GetAttributePtr method to GetComponentPtr

Former-commit-id: 7115856e1d389610c35b26f63af5d93a5ad5c690
2014-07-10 18:31:56 +02:00
Lynix ebb13d3bf2 Added DebugDrawer::DrawLine and DebugDrawer::DrawPoints
Former-commit-id: e1b2278a7c11ebfc8050bad23aef7a9a4cbf3c25
2014-07-10 10:12:25 +02:00
Lynix 0e791ebb19 Removed useless line
Former-commit-id: 3cab7b4c8f170b8bd2d648610b05b3377817ab86
2014-07-10 10:01:11 +02:00
Lynix 7103c28d49 Merge pull request #27 from Gawaboumga/master
Merging Gawaboumga pull request (#27), fixes are coming

Former-commit-id: 81079fd052538e15b7e919aea106cfb5a88a87a6
2014-07-08 16:24:46 +02:00
Lynix b3c0168e6a Fixed code
Former-commit-id: 7fbf14a6a976b5f560e3ce77d69c75d7661b414a
2014-07-08 16:15:24 +02:00
Lynix c79047bd16 Improved box generation speed
Former-commit-id: a76d97becdd8e41146a01c9970b358eaf6096623
2014-07-08 11:56:27 +02:00
Lynix a0c2d81114 Replaced struct by lambda
Former-commit-id: 4bb344e15c5f83480c30cb89fc3c213b33c2bbd4
2014-07-08 11:55:40 +02:00
Lynix f19b89f947 Updated Skinning code
Former-commit-id: ae608042061847b2f710abce8101eb008ef2a661
2014-07-08 11:31:14 +02:00
Lynix d3c3ad5bb8 Improved code
Former-commit-id: 31d737ae9d45a14a59b85118b9797565610866ff
2014-07-08 11:29:30 +02:00
Lynix 18849e7d21 Reworked SubMesh methods
Former-commit-id: daff498f907bb28fdc9c7997c0ba602d640964c3
2014-07-08 11:28:01 +02:00
Lynix 5c2ae93d0b Reworked TriangleIterator
Will now output vertex indices instead of vertex data (making it way
more useful)


Former-commit-id: c82d61ca0ac3f2908d57e167dade74af42282b06
2014-07-08 11:22:32 +02:00
Lynix 70e1327071 Reworked VertexMapper to make it way more generic
Will work with any attribute and vertex declaration


Former-commit-id: ca99734bd8a9c3e57c99b1cc338f03e79dda55f6
2014-07-08 11:21:41 +02:00
Lynix af1d2d9146 Reworked SkeletalMesh class
It now uses a VertexBuffer


Former-commit-id: 81d5db90d9eb8a097342a1ae613468edcae730a6
2014-07-08 11:18:09 +02:00
Lynix d636174c04 Added SkeletalMeshVertex struct
Alias of VertexStruct_XYZ_Normal_UV_Tangent_Skinning


Former-commit-id: 1bec60d399dd3293aebb7a7b84370ff33e8b85dd
2014-07-08 11:13:07 +02:00
Lynix 8ab69fa3ab Improved VertexDeclaration class
Added AttributeUsage_Unused
Improved code and error handling


Former-commit-id: bd0f3755867d38e0f03b282970031fbadc10213e
2014-07-08 11:11:11 +02:00
Lynix 9de90a78e5 Disabled the use of glTexStorage* when creating a proxy texture
Looks like AMD drivers does not like it


Former-commit-id: 854492215bb977df39d06cf7b1beab97c0961e08
2014-07-08 11:02:27 +02:00
Lynix 9969d5f5f3 Removed UTILITY_MULTITHREADED_SKINNING config
Useless since SkinningManager is now handling this at runtime


Former-commit-id: 4a8b2d08de2f5c367821786d2cdff5dd45daadef
2014-07-08 10:58:58 +02:00
Lynix c4b10dddda Big config/debug update
Added config checkers
Macro no longer use suffixes
Moved MemoryManager to upper directory
Renamed *_MEMORYMANAGER to *_MANAGE_MEMORY
Renamed AUDIO_STREAMEDBUFFERCOUNT to AUDIO_STREAMED_BUFFER_COUNT
Renamed CORE_REAL_PRECISION to CORE_DECIMAL_DIGITS
Renamed DEBUG_MEMORYMANAGER_DISABLE_REDEFINITION to
DEBUG_NEWREDEFINITION_DISABLE_REDEFINITION
Renamed GRAPHICS_MAX_LIGHTPERPASS to GRAPHICS_MAX_LIGHT_PER_PASS
Renamed UTILITY_FORCE_DECLARATION_STRIDE_MULTIPLE_OF_32 to
UTILITY_VERTEX_DECLARATION_FORCE_STRIDE_MULTIPLE_OF_32


Former-commit-id: 81ef836ac9f092ac471f60e544bb7c7c6370593c
2014-07-08 10:56:37 +02:00
Lynix 28471925ac Fixed possible bug in computing sampler id
Former-commit-id: 29c20403571218c05e3d4405482bb312adda5a35
2014-07-02 01:08:58 +02:00
Gawaboumga 1aebcd83b0 Merge remote-tracking branch 'upstream/master'
Former-commit-id: 124b89e1c31a7b907f88d8c7a234473274d5a0f6
2014-06-28 09:05:16 +02:00
Lynix 53e5944b56 Fixed build error in debug mode
Former-commit-id: 8992ced076980cf0101eb2c62923521e1c975763
2014-06-27 21:18:51 +02:00
Lynix 6e936b6120 Fixed Image::GetPixels returning wrong pointer when level is over 0
Former-commit-id: c54b77b3b7aee5ee9aeff9a022e94f33f4b45453
2014-06-27 21:18:22 +02:00
Lynix 126cd75e4d Fixed possible bug
Former-commit-id: cc37ef2c51011d7a679a10d5386f9bbf0241d51f
2014-06-27 21:17:23 +02:00
Lynix 76bfd0857e Allowed asserts to throw exceptions instead of calling std::exit
Former-commit-id: 892db922761a0a8122c60274b344c3e62de0a65f
2014-06-27 21:16:36 +02:00
Gawaboumga f84897e47a Merge remote-tracking branch 'upstream/master'
Former-commit-id: 578dd5a3b02eb5363a248c437b528a743be983ca
2014-06-27 19:21:44 +02:00
Gawaboumga 9f17722afd Little corrections
HashDigest: Simultaneous use of int and short
EulerAngles: Use of the macro
Geom: cone was missing

Former-commit-id: ecc3a586732a6711b57ce3e79c5450ef7327bb5b
2014-06-27 19:11:45 +02:00
Lynix c5b31d4f03 Replaced CreateSemaphore call by CreateSemaphoreW
Former-commit-id: 8f1897c846bc08d79a7298b1d95a2319c1aefffd
2014-06-25 19:35:53 +02:00
Lynix 4d27f12fec Fixed typo
Former-commit-id: 746c6caea0f7f806db0e7554deb125030009e069
2014-06-25 19:34:55 +02:00
Lynix cc01216e1c Fixed crash in TaskScheduler Windows implementation
Also replaced CreateEventA calls by CreateEventW calls to avoid one
level of function call.
Thanks to bacelar


Former-commit-id: 4612e3fb0af8eef9ffd947d8edf55e4f2fa27c9b
2014-06-25 15:23:31 +02:00
Lynix b70f693b8c Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: 85e5af81ed3381af19e87c6ca0ee14e79955e563
2014-06-24 12:56:10 +02:00
Lynix dc3f3eb344 Fixed some of the pull request code in order to merge it
Former-commit-id: d8a9734fc622cb57f98b3b6abd2579922d562aa0
2014-06-22 15:12:52 +02:00
Lynix 3f81ab4742 Alphabetical commit
Former-commit-id: 3f04840ed109e31cef0e6eda085320aaa17c9f2f
2014-06-22 15:12:50 +02:00
Lynix 6c1852299d Added SkinningManager
Former-commit-id: ca3648dc16f5b1654cb8e3f5480d04f7fd22a3bc
2014-06-21 16:23:38 +02:00
Lynix 774df28d87 Cached skinning matrix
Former-commit-id: c5aeb09778f5696906eb764f600c4a152ab7ba48
2014-06-21 16:22:34 +02:00
Lynix 5310c8b0d6 Moved skinning to algorithms
Former-commit-id: ab31467438f55e8381daa8f238c201c46ba96f52
2014-06-21 16:21:33 +02:00
Lynix f5833aa2d4 Improved rendertechnique fallback (will no longer loop)
Former-commit-id: 1aeb737432de1d2a8f205e547404b3f140967a16
2014-06-21 15:38:24 +02:00
Lynix 9ba6258478 Made context creation exception-safe
Former-commit-id: d55687cea712a34e905b3f2f2d85611d1d0b1b74
2014-06-18 20:34:05 +02:00
Lynix 81672a5ff6 Clarified source code
Former-commit-id: 669b6c52c05d87ff8e84d9c1148bc649431cc724
2014-06-18 17:39:16 +02:00
Lynix eceabcd241 Fixed some of the pull request code in order to merge it
Former-commit-id: 76d71f15b335535e7dfcaf986440a00e85e45c1b
2014-06-15 01:55:07 +02:00
Lynix 62daced765 Merge branch 'master' of https://github.com/Gawaboumga/NazaraEngine into Gawaboumga-master
Former-commit-id: 56e40c1b251e01c435595ac73a696d2720fb1453
2014-06-15 01:20:46 +02:00
Lynix 13e1cadcdd Alphabetical commit
Former-commit-id: 88c2aad1451a941f7b3afa83063d9383fc8b40d2
2014-06-15 01:13:40 +02:00
Gawaboumga 676ed6c9d8 Correction of mathematical functions.
BoundingVolume: Add of constructor and setter OrientedBox. Extend is now
up to date.
Box: Use of <T>. Return this
Frustrum: Use of <T>
Matrix: Use of <T>
OrientedBox: m_corners is up to date
Rect: Add of operators /= and /. Return this
Sphere: Add of Intersect and Contains with box. Little corrections.
Vector2: Return

TaskSchedulerImpl: Add of include header cstdlib to compile because of
std::div
HardwareInfo/main: use of accentAigu

Former-commit-id: a5a7f8e8c45448e5683eb13bff453d6f67478d03
2014-06-14 22:10:37 +02:00
Lynix b4c6dac441 Updated copyright years to 2014 for some missed files
Former-commit-id: 932e421ad0c8ddc8fb9f010f6e3015b7740f3d59
2014-06-05 21:46:22 +02:00
Lynix a31ced1d76 Modified SceneNode::FrustumCull
Now provides an implementation which will test the bounding volume
against the frustum (Basic frustum culling)
Is now const
Disabled face culling on sprites


Former-commit-id: 5cb7a94b38ef8b0ffa5a78f16f5ef65a59ab375d
2014-06-05 21:28:17 +02:00
Lynix bc9c8c6bdb Merge remote-tracking branch 'origin/RenderTechnique-Update'
Former-commit-id: db5a6503e43615a47e3be4aaaa033899639392b7
2014-05-29 19:59:09 +02:00
Lynix df803fd5f7 Fixed Graphics module build
Former-commit-id: 1dc70a30cd4ca68d2d7869d51eb01f81770b0e3b
2014-05-28 01:15:12 +02:00
Lynix c8ae34f20b Updated mesh loader
Former-commit-id: 04c174544912a8c3c48e3fde7934cdc4edc19e07
2014-05-28 01:08:08 +02:00
Lynix fa5b1ab000 Model can no longer be animated (SkeletalModel will)
Former-commit-id: e203a3dddf74bb171d8abe961e8a2f28df13bcad
2014-05-28 01:03:59 +02:00
Lynix c901b5808e Added new abstract renderqueue rendering
Former-commit-id: 35e66174ccc3de3b43571f12a149e6d3c59cc2c9
2014-05-28 01:00:18 +02:00
Lynix 012c120bf1 Added Scene::EnableBackground
Former-commit-id: 57a3c3e41799703bb72b4980433d7faadc3b1b86
2014-05-28 00:35:28 +02:00
Lynix 15e62110cf Added fastpath for operator==(const String&, const String&)
Former-commit-id: 2f0c5dff353ba9225ff5888fe35c744790bb1f95
2014-05-28 00:28:50 +02:00
Lynix d81268f204 Skeleton class now notify modifications
Former-commit-id: e796d1ea36e4214e31381a10e4bc79eaf1806d28
2014-05-28 00:27:43 +02:00
Lynix cc8a3033ca Re-added proxy textures and glTexStorage2D optimization for cubemaps
Former-commit-id: 95ff10767a906c602bab4d0cf75acc27c68ddd41
2014-05-28 00:25:43 +02:00
Lynix 579b22e753 Disabled error exception during Renderer::EnsureStateUpdate
Former-commit-id: c09ad9e1da95b483ce65a04100182c787cc0aafb
2014-05-28 00:24:10 +02:00
Lynix 8f4b304df1 Renamed Directory::SetDirectory to Directory::SetPath
Added Directory::GetPath


Former-commit-id: 0d2918557962b05ea7c9a16c82e6afc961db32a8
2014-05-26 02:00:46 +02:00
Lynix ee55847220 Improved LuaInstance class
Better handling of panic (showing the actual error)
Secured arrays with static assert
Added ArgCheck
Added ArgError
Added reference handling
Improved DumpStack method (Now printing the address of functions,
tables, threads)


Former-commit-id: 5ae9a1aefca4b8c50aa57db99da3b778cb1ebff4
2014-05-26 01:57:10 +02:00
Lynix b899ff294b Improved RenderWindow context creation
Former-commit-id: a744a433603e4f14ce6d7e7c269d5ff659b1a0f7
2014-04-26 12:58:07 +02:00
Lynix beb1879aca Added support for double and integer attribute (VertexDeclaration)
Improved Renderer error handling


Former-commit-id: 8cded7c0a7d1ba7c8583ef3e7b74b1d9604088e3
2014-04-25 21:11:14 +02:00
Lynix 4898018396 Fixed static_assert tests
Former-commit-id: 4cc139b350d34b2b753b5cd0167d74a014c26e24
2014-04-25 20:24:42 +02:00
Lynix b16f2bf763 Added OpenGL function loading
glVertexAttrib[I|L]Pointer
Also removed useless test (since unsigned can't be under zero..)


Former-commit-id: 628172ca764956349db5498b6ac7fec6400febfa
2014-04-25 20:17:00 +02:00
Lynix bd61d07998 Made Renderer use OpenGL::DeleteVertexArray
Former-commit-id: 16619f9be146e3201350299ff6d288655c7c2130
2014-04-25 20:02:23 +02:00
Lynix c23649c363 Improved comments
Former-commit-id: 41b9a4704712f96c155c518f321e59415adf9294
2014-04-25 18:55:21 +02:00
Lynix 3035fb8fa2 Made Context::Create exception-safe
Former-commit-id: 913e87b684028ca6f9c41e529628c77c171761c1
2014-04-25 18:34:48 +02:00
Lynix fe8ff688e8 Improved OpenGL context implementation
Former-commit-id: 20988bd4a0fa85b7c073a189e71dab25571be617
2014-04-25 14:03:01 +02:00
Lynix 7ac3fee3a5 Added OpenGL::Delete[FrameBuffer|VertexArray]
Also renamed OpenGL::OnContextChange to OnContextChanged (since it
happens after the context change)
Also improved RenderTexture implementation


Former-commit-id: d845b1405294dd3aa134d392585069bbb28a77a3
2014-04-25 12:38:53 +02:00
Lynix a3f877daf1 Added MemoryManager::GetAllocationCount()
Former-commit-id: 32f4f0780fdd32ac72a7e94732958bdd688844c6
2014-04-24 21:20:14 +02:00
Lynix 4ef5f6fb3d Fixed leak from UberShaderPreprocessor
Former-commit-id: 4415e602b2b226dbb434dfd6b8d5133952b49c04
2014-04-21 22:15:36 +02:00
Lynix c606599e19 Updated MemoryManager
Renamed MemoryLeakTracker[.hpp|.cpp] to MemoryManager[.hpp|.cpp]
Added MemoryManager::GetAllocatedBlockCount()
Added MemoryManager::GetAllocatedSize()
Optimized MemoryManager (no longer allocates a time buffer)


Former-commit-id: 0e9c720cbb48fbed7006db3bd1000ebbc22c9583
2014-04-21 22:13:31 +02:00
Lynix 77fc34ee7d Added some CPU vendors
Former-commit-id: 0eb96633fe6bdd3f6f8649f766620f4e89bc2224
2014-04-21 11:02:17 +02:00
Lynix 55fe71ee21 Fixed cpuid reported supported on unsupported compilers
Former-commit-id: 4f5fc2251882ae04d9131242d0f9d7f8a3a3e6dc
2014-04-21 10:43:46 +02:00
Lynix 531fa2ce84 Fixed PluginManager initialization
Former-commit-id: 5125e58bc5c73ed36088f52356728687db23e494
2014-04-21 10:42:20 +02:00
Lynix 7d99550925 Made Initialize/Uninitialize static methods from non-submodules private
Former-commit-id: 78dac32c8650dc9eb4fd2c7f0bece030012497cf
2014-04-21 00:08:34 +02:00
Lynix 082015fe5a PluginManager::AddDirectory no longer returns bool
Former-commit-id: a5994918636765a52ca1fc79617d12eefec2c914
2014-04-20 23:52:54 +02:00
Lynix 361e2a31ee Improved submodules
PluginManager is now a submodule


Former-commit-id: 2e147317ab07447e134d15790386bd6d3494b9d1
2014-04-20 23:50:55 +02:00
Lynix 9b74459ea8 Updated comments
Former-commit-id: 77b83bdf6f52325efdc3e3b9a1d2743124426531
2014-04-20 22:34:10 +02:00
Lynix 70e57a338f Optimized hardware buffers
Former-commit-id: 59f96166fb259137b5e0445eb5faa0b912b0f29c
2014-04-20 22:32:09 +02:00
Lynix c45e22ff7d Updated comments
Former-commit-id: 66e035deb3f7f549257f5b04c327396b88c94363
2014-04-20 22:30:55 +02:00
Lynix ae316394f9 Fixed instancing rendering
(Finally fixed that bug)
Lowered required instance count to ten


Former-commit-id: 6aeb69eb8ca08727a029e07080aed558e1d1f089
2014-04-20 21:27:53 +02:00
Lynix 9d35e40a23 Made Shader::Send* ignore invalid location
Former-commit-id: 22bd15678df54b3cd35fb3333046a7c43bd3ed9e
2014-04-20 14:32:13 +02:00
Lynix c9b7010380 Fixed last commit
Former-commit-id: 52606380de66987bdaab08e09eeff0632cc66e65
2014-04-20 14:21:54 +02:00
Lynix ff2bf98623 Made use of std::function
Former-commit-id: 17e7ebe528071c6399383089ac1c0d089faccc34
2014-04-20 14:06:29 +02:00
Lynix 60cd7c8375 Improved sndfile loader implementation
Former-commit-id: d198c2195b50f1f8f1adce1f81e1c06542ada757
2014-04-20 13:21:35 +02:00
Lynix fc970c503a Added File::Open(path, mode)
Former-commit-id: 7bd80f04e5f902e9752b1f5091ac55cdf2bc432a
2014-04-20 13:13:49 +02:00
Lynix e16e3658f1 Improved sndfile Loader
When streaming and mixing to mono, the samples buffer is kept between
the calls
Made SoundBuffer loader exception-safe
Fixed sf_close not being called


Former-commit-id: cef1d114809dc1fde9a84d2d96dd7afc7550c32e
2014-04-20 13:12:02 +02:00
Lynix 3ddcd3b7ed Optimized Renderer
Renderer was doing useless glActiveTexture calls


Former-commit-id: 5b27c6dcf9382cae79f5fc92577b42e92b851351
2014-04-16 09:11:38 +02:00
Lynix 4026e310bc Optimized OpenGL samplers binding
Former-commit-id: 6afb2ed4d9851e09ff1006cf7c81df0cac0bed7d
2014-04-16 09:02:32 +02:00
Lynix 9428097b53 Alphabetical commit
Former-commit-id: 0d591ff3ddbd8d7536c6c18a9e88fd25d78e4bba
2014-04-12 14:40:03 +02:00
Lynix c7156494f3 Improved DeferredRenderTechnique initialization error messages
Former-commit-id: 99b1174257ae4e99600ad763ba2444d553957d18
2014-04-12 14:28:02 +02:00
Lynix b30d325ca5 Made Submodules initialized when used
Former-commit-id: 203a4a3b07e18301ce003129bb6af22e0478d07a
2014-04-12 14:19:29 +02:00
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