Go to file
SirLynix 8b9b47ba59 Core/TaskScheduler: Fix WaitForTasks returning before all tasks are executed
This could happen because a worker only counts as active when starting a job, but after acquiring one.

So one possibility was that :
1. All workers except W1 and W2 are idle
2. W1 is about to notify as idle, as W2 got a task (but did not notify as active yet)
3. W1 notifies as idle, idle count == worker count -> wake main thread
4. W2 didn't run its task yet
2024-02-03 14:41:10 +01:00
.github Remove spaces before line feed 2024-01-25 14:38:06 +01:00
assets Assets: Remove line feed to 2024-01-25 11:54:33 +01:00
documentation Remove spaces before line feed 2024-01-25 14:38:06 +01:00
examples Remove spaces before line feed 2024-01-25 14:38:06 +01:00
include/Nazara Network/ENetHost: Remove unused mt19937_64 2024-02-03 14:31:52 +01:00
plugins Fix Nz::ErrorFlags API and usage 2024-01-28 15:03:24 +01:00
src Core/TaskScheduler: Fix WaitForTasks returning before all tasks are executed 2024-02-03 14:41:10 +01:00
tests Core/TaskScheduler: Use WorkStealingQueue::pop 2024-02-02 23:19:29 +01:00
thirdparty/include Core/TaskScheduler: Fix TSan false-positive and remove std::optional 2024-02-02 21:19:17 +01:00
tools Remove qt rule (not used for now) 2023-08-06 12:25:12 +02:00
xmake Add tab outside of indent check 2024-01-26 14:38:59 +01:00
.editorconfig Update .editorconfig 2018-01-05 10:56:38 +01:00
.gitattributes Update .gitattributes 2021-08-27 13:41:57 +02:00
.gitignore Remove assets from repository and download them using xmake 2022-05-27 08:34:36 +02:00
.ruleset Fix a bunch of warnings 2023-05-30 12:34:38 +02:00
CHANGELOG.md Update URL 2022-05-27 13:14:13 +02:00
Doxyfile Remove spaces before line feed 2024-01-25 14:38:06 +01:00
INSTALL.md Update INSTALL.md 2023-10-20 10:20:10 +02:00
LICENSE Add LICENSE file 2016-07-26 12:11:36 +02:00
LICENSE-Kiwi Add kiwi lib 2020-09-05 14:24:41 +02:00
License-FFmpegPlugin.txt PluginFFMpeg: Replace MIT license by GPL *sigh* 2022-05-27 18:53:16 +02:00
License-OpenSans.txt Update default font (Sansation => OpenSans) 2020-01-18 16:31:57 +01:00
README.md Update README.md 2023-11-22 00:37:37 +01:00
THANKS.md Update docs 2023-04-10 17:12:23 +02:00
xmake.lua Build: Disable -Wtrampolines on Clang 2024-02-02 21:19:27 +01:00

README.md

Platform Build Status
Windows Windows build status
MSYS2 (MinGW64) Windows build status
Linux Linux build status
macOS macOS build status
Emscripten Emscripten build status

Nazara Engine

Nazara Engine is a cross-platform framework aimed at (but not limited to) real-time applications requiring audio, 2D and 3D rendering, network and more (such as video games).

Features:

  • Supports Windows, Linux, macOS and the web (Android and iOS are coming).
  • 2D and 3D rendering using either Vulkan, OpenGL and OpenGL ES (depending on what's available on the target system).
  • Its own renderer-agnostic shader language (NZSL - Nazara Shading Language), a single modern language working with all renderer backends
  • Easy to customize graphics module providing basis for advanced techniques (such as deferred shading, HDR, PBR rendering and more).
  • A powerful and extensible frame graph system allowing you to easily define how your rendering works.
  • Audio playback and streaming based on OpenAL-Soft.
  • 2D and 3D Physics integration (with Chipmunk and Jolt Physics).
  • Optional ECS (Entity-Component-System) classes for helping with entity handling (based on the excellent entt).
  • A ENet-based reliable UDP networking protocol.

You can use it in any kind of commercial and non-commercial applications without any restriction (MIT license).

Authors

Jérôme "SirLynix" Leclercq - main developper (lynix680@gmail.com)

Build and install

See INSTALL.md for build instructions.

How to use

You can find tutorials on installation, compilation and use on the official wiki

Contribute

Don't hesitate to contribute to Nazara Engine by:
  • Extending the wiki
  • Submitting a patch to GitHub
  • Post suggestions/bugs on the forum or the GitHub tracker
  • Fork the project on GitHub and push your changes
  • Talking about Nazara Engine to other people, spread the word!
  • Doing anything else that might help us

Discord
X (Twitter) Wiki

Thanks to:

See THANKS.md