Commit Graph

674 Commits

Author SHA1 Message Date
Jérôme Leclercq 2da086b7df New Render queues (#161)
* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Graphics/RenderQueues: Add full support for billboards

* Graphics/RenderQueue: Cleanup and improve billboard rendering

* Graphics/RenderQueue: Fix model drawing

* Examples/Particles: Fix lighting on space station

* Graphics: Cleanup forward render queue/technique

* Fix compilation under Linux

* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element

* Add support for Deferred Shading

* SDK/Widgets: Fix widget rendering

* Graphics: Remove legacy code from render queues

* Graphics: Fix some objects sometimes not showing up due to broken scissor box

* Fix compilation error

* Sdk/GraphicsGraphics: Fix bounding volume

* SDK/World: Fix self-assignation

* Update changelog for render queues
2018-04-11 19:36:52 +02:00
Jérôme Leclercq e299e1f03e Sdk/World: Add ForEachSystem method 2018-04-09 12:37:58 +02:00
Jérôme Leclercq e99d34f195 Sdk/World: Add const getters for systems 2018-04-09 12:34:37 +02:00
Lynix ae2fd0069a SDK/ListenerSystem: Handle velocity in a generic way (no longer require a VelocityComponent) 2018-04-08 17:52:12 +02:00
Jérôme Leclercq 2d56911e82 Sdk/EntityList: Fix copy assignation 2018-03-12 09:19:46 +01:00
Jérôme Leclercq 464419db73 SDK/EntityList: Fix movement 2018-03-06 17:33:33 +01:00
Jérôme Leclercq 242e154f09 Sdk/World: Fix world movement not moving profiler status 2018-02-27 16:31:23 +01:00
Lynix 166ecffc32 Sdk/[Collision|Physics]Component2D: Set internal rigidbody userdata to the entity id 2018-02-17 14:22:25 +01:00
Lynix af12c5ed92 Merge branch 'master' into physics3d-material 2018-02-11 14:39:14 +01:00
Jérôme Leclercq 34fe5dd466 Fix refresh Lua binding and comments 2018-02-08 16:25:52 +01:00
Jérôme Leclercq a9364ab7e2 Sdk/World: Add profiler 2018-02-08 16:25:27 +01:00
Jérôme Leclercq 6161b1a751 Sdk/World: Use a Bitset to store free entity id 2018-02-08 15:15:56 +01:00
Jérôme Leclercq 555817e3ee World: Rename Update() to Refresh()
Also updated comment block
2018-02-08 14:32:53 +01:00
Jérôme Leclercq 7366d92818 Sdk/System: Fix time loss when using max update rate 2018-02-08 11:43:15 +01:00
Jérôme Leclercq fb3eb9443e Core/Clock: Restart now returns the elapsed time in milliseconds 2018-02-07 15:02:44 +01:00
Lynix 1e88e23854 Merge branch 'master' into physics3d-material 2018-01-28 14:28:44 +01:00
Faymoon 4911aff64f Fix assert message error : NodeComponent instead of ParticleEmitterComponent (#156) 2018-01-22 14:22:18 +01:00
Lynix c592acfd5f Merge branch 'master' into physics3d-material 2018-01-20 14:21:01 +01:00
Lynix 5380b6a41b Lua/LuaInstance: Move library initializations to LoadLibraries 2018-01-20 14:20:46 +01:00
germinolegrand 6d11e8d2ed Prerequisites instead of Prerequesites (typo) #152 Header Guard (#154)
For an unknown readon, this correction didn't get to the pull-request (?)
2018-01-19 14:25:33 +01:00
Jérôme Leclercq d267354fdf Sdk/World: Fix uninitialize value found by valgrind 2018-01-18 10:38:17 +01:00
Lynix c1cebe1425 Merge branch 'master' into physics3d-material 2018-01-17 18:25:57 +01:00
Lynix 19580c859f Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-01-16 21:30:21 +01:00
germinolegrand 1e55c4d9e9 Prerequisites instead of Prerequesites (typo) #152 (#153) 2018-01-16 12:23:01 +01:00
Lynix 76043e4f2e Merge branch 'master' into physics3d-material 2018-01-14 18:05:44 +01:00
Lynix 78c2e06b58 Sdk/PhysicsSystem3D: Fix CollisionComponent3D teleportating causing velocity increase in physical objects 2018-01-14 18:05:29 +01:00
Lynix 4cb598c32b Merge branch 'master' into physics3d-material 2018-01-14 14:40:57 +01:00
Lynix fe278bae4b Remove useless inline 2018-01-13 20:49:47 +01:00
Lynix 141640a962 Fix compilation for good 2018-01-13 12:01:53 +01:00
Lynix 0183f60b80 Fix compilation and PR 2018-01-13 11:57:30 +01:00
Faymoon 4f6bf30f24 Constraint 2D (#147)
* Rename all Constraint by [name]Constraint3D

* Create Refs and Libraries for Constraint2D

* Remove ref to PhysWorld in Constraints ctors

* Update Constraint2d ctor to have RigiBodies first

* Add New static function for all constraints and fix an oopsie

* Add Contraint Library and remove all library useless aliases

* Add ConstraintComponent2D

* remove useless definition of Constraint2D library

* Fix : getting the world of the constraint before having created it

* Make the GetStaticBody function return a ref

* Remove : Useless AddJoint Fonction and Update CreateJoint function

* Update PhysicsSystem3D because GetStaticBody return now a ref

* Oops

* Having done something with the 3D and i was needing 2D

* Add ConstraintComponent as friend of Collision and PhysicsComponent

* Update all the Get[Static/Rigid]Body function so they return a pointer

* fix the bugs caused by the commit before

* update : CreateConstraint lambda for the nullptr case

* remove the useless  use of const pointer

* Update : CreateConstraint function

* Update ChangeLog.md
2018-01-13 11:03:03 +01:00
Lynix 67fe1ec514 Merge branch 'master' into physics3d-material 2018-01-03 20:43:35 +01:00
Lynix 1d32557856 Sdk/TextAreaWidget: Fix Clear 2018-01-03 20:43:24 +01:00
Lynix fd8306f17f Core/String: Replace implicit operator std::string by ToStd::String 2017-12-14 19:50:06 +01:00
Lynix e302667c21 Merge branch 'master' into physics3d-material 2017-12-14 18:15:35 +01:00
Lynix 5aab9b248d Sdk/PhysicsComponent3D: Fix cloning by preserving physics states 2017-12-13 22:17:50 +01:00
Jérôme Leclercq 4eb3520be8 Sdk/PhysicsComponent3D: Add node synchronization control 2017-12-13 10:36:27 +01:00
Lynix afa874de26 WIP on materials 2017-12-10 22:17:41 +01:00
Lynix f1b84bfc9e Sdk/Physics3D: Handle properly disabled physics entity 2017-12-10 14:07:18 +01:00
Lynix 498bd77d8a Sdk/BaseComponent: Add OnEntityDisabled and OnEntityEnabled callbacks 2017-12-10 14:06:43 +01:00
Lynix 0df70dcb16 Physics3D/RigidBody3D: Rename [Get|Set]Velocity to [Get|Set]LinearVelocity 2017-12-10 12:09:36 +01:00
Lynix 7772d56c66 Sdk/GraphicsComponent: Fix local matrix not being copied 2017-12-06 21:12:51 +01:00
Jérôme Leclercq 5ba0d0dba0 Add unit test for EntityOwner 2017-12-01 15:53:50 +01:00
Lynix 6d09abbc2c Physics3D/RigidBody3D: Add [Get|Set][Angular|Linear]Damping 2017-11-30 12:04:33 +01:00
Lynix 9eaf995b21 Sdk/CollisionComponent2D: C++14 cleanup 2017-11-28 23:21:32 +01:00
Lynix 71ee30d570 Sdk/GraphicsComponent: Fix clear method 2017-11-28 23:21:11 +01:00
Jérôme Leclercq 377dd992b9 Sdk/Canvas: Implement tab/shift-tab to switch to next/previous widget 2017-11-23 14:48:59 +01:00
Jérôme Leclercq 4116984f9f Sdk/Canvas: Rename widgetbox to widgetentry 2017-11-23 13:54:58 +01:00
Jérôme Leclercq 3cff3fbadc Sdk/TextAreaWidget: Fix cursor showing up on readonly text area 2017-11-23 13:24:13 +01:00
Jérôme Leclercq d98b7a8f4f Sdk/Canvas: Prevent OnFocusLost/OnFocusReceived when using SetFocus on an already focused widget 2017-11-23 13:23:54 +01:00
Jérôme Leclercq 1601849a00 Sdk/BaseWidget: Add HasFocus method 2017-11-23 13:23:11 +01:00
Jérôme Leclercq 6c8b3eb319 Sdk/Entity: Add Disable shortcut 2017-11-23 13:22:38 +01:00
Jérôme Leclercq 0a5cbe656f Math/VectorI: Make array/pointer constructor explicit 2017-11-23 13:21:51 +01:00
Jérôme Leclercq b83a9b60e7 Sdk/World: Fix destruction retrieval while world clear 2017-11-22 10:26:33 +01:00
Faymoon 06ac8cf904 Add AddImpulse for PhysicsComponent2D (#141)
* Update PhysicsComponent2D.hpp

* Update LuaBinding_SDK.hpp

* Update LuaBinding_SDK.cpp

* Update LuaBinding_SDK.cpp

* Add : AddImpulse

* Add : AddImpulse

* Add : binding of PhysicsComponent2D

* add : handle

* fix alphabetical order

* complete PhysicsComponent2D binding

* Update LuaBinding_SDK.cpp

* Update LuaBinding_SDK.hpp

* Update PhysicsComponent2D.hpp

* Update PhysicsComponent2D.inl

* forgot : use namespace Nz and open namespace Ndk

* Update PhysicsComponent2D.hpp

* Add Addimpulse

* Update PhysicsComponent3D.hpp
2017-11-21 12:17:11 +01:00
Gawaboumga f991a9529e General bug fixes (#142)
* Core/Bitset: Fix TestAll method

* Fix documentation

* Fix color and their conversions

* Core/ByteStream: Fix return of Write

* Fix compiler warnings

* Math/Algorithm: Fix angle normalization

* Math/BoundingVolume: Fix lerp

* Math: Fix relation between Matrix4 and Quaternion

* More tests

* X11/Window: Fix mouse moved event generated when doing Mouse::SetPosition

* Update ChangeLog

* Should fix compilation on Windows

* Should fix compilation on Windows

Forgot to include array for Windows
2017-11-21 12:16:46 +01:00
Lynix 4fc076325c Sdk/StateMachine: Fix instantaneous state change 2017-11-19 17:09:56 +01:00
Jérôme Leclercq 16d4a6ac1c Sdk/BaseWidget: Fix compilation, for real 2017-11-15 10:48:30 +01:00
Lynix 14924f0e74 Sdk/BaseWidget: Fix compilation on Linux 2017-11-15 01:25:33 +01:00
Lynix 55bbc282db Sdk/TextAreaWidget: Fix compilation 2017-11-11 18:53:51 +01:00
Lynix 0487b282d7 Sdk/TextAreaWidget: Show cursor as long as focus is active 2017-11-11 18:42:30 +01:00
Lynix f136530a74 BaseWidget: Renamed GrabKeyboard to SetFocus, added ClearFocus and focus virtual methods 2017-11-11 18:38:11 +01:00
Lynix f5b639ec0f Sdk/TextAreaWidget: Fix detail about cursor
When moving cursor to the left when already at the beginning of a line, make it move to the upper line
2017-11-11 18:19:44 +01:00
Lynix 2b88d81294 Sdk/TextAreaWidget: Refactor cursor position
In order to have only one cursor instead of two
2017-11-11 18:18:44 +01:00
Jérôme Leclercq 79338c7177 Sdk/TextAreaWidget: Fix issues when deleting characeters 2017-11-10 13:38:06 +01:00
Jérôme Leclercq e3f21b7268 Sdk/TextAreaWidget: Add OnTextChanged signal 2017-11-10 13:13:33 +01:00
Jérôme Leclercq bb6e032b60 Sdk/TextAreaWidget: Add support for EchoMode 2017-11-10 13:12:04 +01:00
Jérôme Leclercq 5eec06b0ea Sdk/Canvas: Fix crash on keyboard event 2017-11-09 12:39:25 +01:00
Jérôme Leclercq a8651846ae Sdk/World: Fix movement not taking waiting entities into account 2017-11-08 13:14:00 +01:00
S6066 2ed9691c80 Added ImageWidget (#139)
* Added ImageWidget

* Remove useless ResizeToContent function

* Add ResizeToContent function

* Forgot operators

* Added textures & colors functions

* oops
2017-11-06 16:50:52 +01:00
Lynix d688cecbde Renderer: Replaced RenderTarget::Get[Height|Width] by RenderTarget::GetSize
Utility: Removed Window::Get[Height|Width] methods
2017-10-28 23:26:22 +02:00
Lynix be38aee1fa Fix some warnings 2017-10-18 22:02:21 +02:00
Jérôme Leclercq 10a92dcb18 Sdk/LuaAPI: Add Ndk::Entity* handling for parameters 2017-10-16 11:57:38 +02:00
Lynix 2cac137066 Sdk: Remove systems clone (and thus need for copy constructor) 2017-10-14 14:41:55 +02:00
Lynix a39ed47ef4 Regenerate global headers 2017-10-10 21:52:34 +02:00
Jérôme Leclercq 10e2d3008a Sdk/Algortihm: Fix 64bits shift 2017-10-10 21:52:34 +02:00
Jérôme Leclercq 84537fcfb8 Sdk: Fix segfault when deleting hovered widget 2017-10-10 21:52:33 +02:00
Lynix d1eac591f5 Graphics: Prepare dynamic reflections 2017-10-10 18:28:15 +02:00
Lynix c763dea4e1 Merge branch 'master' into reflection-mapping 2017-10-02 21:11:15 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Lynix bccbc0dbf1 Move warning fixes! 2017-09-30 15:23:05 +02:00
Lynix 508554fcb1 Fix some more warnings 2017-09-30 15:00:42 +02:00
Lynix fb354b1204 Fix compilation warnings 2017-09-30 14:54:08 +02:00
Lynix f95fc332f1 Sdk/BaseSystem: Fix udpate with max update rate + unit tests 2017-09-22 21:01:25 +02:00
Jérôme Leclercq 9a665bbff6 Sdk/BaseSystem: Rename UpdateRate to FixedUpdateRate and add MaximumUpdateRate 2017-09-22 15:22:19 +02:00
Jérôme Leclercq 37896e2401 Sdk/BaseWidget: Add CenterHorizontal and CenterVertical() methods 2017-09-21 14:40:03 +02:00
Jérôme Leclercq bf98297233 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2017-09-19 15:14:26 +02:00
Jérôme Leclercq 5afe321b5c Widgets/ButtonWidget: Fix position 2017-09-19 15:14:24 +02:00
S6066 3d4585ec4a Added functions to customize ButtonWidget (#133)
* Made ButtonWidget more usable

* Fix static functions

* Reorder static functions

* Deteriorate ButtonWidget
2017-09-16 14:19:11 +02:00
S6066 9f52932327 Added Reserve function in Ndk::EntityList (#134) 2017-09-03 20:11:28 +02:00
Lynix a85ded1262 Sdk/World: Fix movement 2017-08-31 19:39:45 +02:00
S6066 81f7e943df Add Progress Bar Widget (#132)
* Started Checkbox Widget (buggy)

* Added features

* Added enabling feature

* Almost finished Checkbox

* Bugfix

* Bugfixes

* Use a better name

* Optimizations

* Added explicit colors

* ...

* changed lots of things

* Almost finished CheckboxWidget

* Almost almost finished

* Use better UTF8 box

* Edited encode resources script to encode SDK resources

* Finished checkbox widget

* Forgot to delete old function

* Forgot to delete todo comment

* Fix Travis compilation

* Fix Travis compilation a second time

* Fix Travis Compilation a third time

* Fix indentation

* Fix Files encoding

* Moved CheckboxState enum in (new) Enum.hpp

* Probably looks like more generated now

* Reorder CheckboxWidget members

* Reorder checkbox state members

* Reorder members 2...

* Oops

* Reorder members functions

* Fix encoding

* Fix files encoding

* Forgot to fix one file encoding

* Fix SDK Server

* Fix encoding again -_-

* Oops

* Added ProgressBarWidget

* Finished (?) Progress Bar Widget

* Optimize Checkbox Widget

* Fix .gitignore

* Removed .vs in gitignore

* Moved Enums into Widgets folder

* Bugfix

* Fix Encode Resources script

* Remove double line feeds

* Rename SetNextState to SwitchToNextState

* Added ProgressBarWidget

* Finished (?) Progress Bar Widget
2017-08-30 15:17:54 +02:00
S6066 55ca4a84ea Added CheckboxWidget (#130)
* Started Checkbox Widget (buggy)

* Added features

* Added enabling feature

* Almost finished Checkbox

* Bugfix

* Bugfixes

* Use a better name

* Optimizations

* Added explicit colors

* ...

* changed lots of things

* Almost finished CheckboxWidget

* Almost almost finished

* Use better UTF8 box

* Edited encode resources script to encode SDK resources

* Finished checkbox widget

* Forgot to delete old function

* Forgot to delete todo comment

* Fix Travis compilation

* Fix Travis compilation a second time

* Fix Travis Compilation a third time

* Fix indentation

* Fix Files encoding

* Moved CheckboxState enum in (new) Enum.hpp

* Probably looks like more generated now

* Reorder CheckboxWidget members

* Reorder checkbox state members

* Reorder members 2...

* Oops

* Reorder members functions

* Fix encoding

* Fix files encoding

* Forgot to fix one file encoding

* Fix SDK Server

* Fix encoding again -_-

* Oops

* Optimize Checkbox Widget

* Fix .gitignore

* Removed .vs in gitignore

* Moved Enums into Widgets folder

* Bugfix

* Fix Encode Resources script

* Remove double line feeds

* Rename SetNextState to SwitchToNextState
2017-08-30 10:25:42 +02:00
Gawaboumga 5aa072cee3 New module: Platform - Split window management from Utility module (#128)
* New module: Platform - Split window management from Utility module

Final touch

* NDK/SDK: Bring back initialization of Utility
2017-08-30 10:22:50 +02:00
Gawaboumga 41a1b5d493 Physics2D tests (#129)
* Quaternion: Fix singularity on Z axis when converting to euler angles

* CollisionComponent2D: Add method to retrieve AABB

* Collider2D: Fix constructor for Box with Vector2

* Physics2D: Fix rotation (Chipmunk works with radian and Nazara degrees) and copy constructor of RigidBody2D

* Colider2D: Add New for convex and tests for the new classes
2017-08-20 21:47:23 +02:00
Lynix f363420ebe Sdk/ParticleEmitterComponent: Fix Enable inline option 2017-08-20 21:34:12 +02:00
Jérôme Leclercq 5531e81e65 Core: Add CRC64 and regenerate global headers 2017-08-15 12:32:19 +02:00
Jérôme Leclercq 061b358857 Sdk/ButtonWidget: Fix layout not triggering when updating text 2017-08-08 16:34:22 +02:00
Lynix 4e9508e23a TextAreaWidget: It feels natural now *.* 2017-08-06 23:40:41 +02:00
Lynix 5aa2efc737 TextAreaWidget: Add support for 2D cursor 2017-08-06 23:37:35 +02:00