Cross Platform Dev.
Based on OpenGL ES and
the OpenGL GL_ARB_ESx compatibility extensions; with NRG all you have to do is to
select the core API that is suitable for your project.
Then, write your code once and run it on desktop and mobile environments without any
changes; regardless of the GPU or CPU (either by Lua scripting or low-level C/C++).
Supported by most 3D software, NRG provides
native COLLADA and glTF v2.0 (PBR) support to import your 3D assets. To import your work into
your project use material presets to connect your assets to specific shaders, scripts and
to look up textures. Both importer provides support for objects, materials, textures, animations
automatic or manual LODs generation and more...
Bullet Physics is embedded within NRG; using either C/C++ or Lua you have access to all capabilities of the library.
Easily integrate realistic soft-body, rigid-body dynamics, kinematics, physics material. Bullet also includes discrete and continuous collision detection, raycasting, constraints, advanced mesh support, vehicles, and more.
Universal Build System
Written mostly in C with no third-party dependencies
you can rebuild the entire NRG ecosystem on any platform. At its core, the build system is using Cmake
for all native builds and is also supported by all popular C/C++ IDE such as Visual Studio, CLion, etc.
Sandbox & Editor
Available for all major platforms (including tablet) the NRGeditor and
its sandbox allows you to build, debug and profile on one or multiple devices
simultaneously. Using the exclusive toolset provided by the editor stay
in total control while accelerating iterations.
Create your renderer tailored for your project.
Use render layers on probes, framebuffers, or the back buffer; accumulate results and compose the
final image. Select between using pure GLSL ES fragment or compute shaders; or dynamic nodes.
Speed up your workflow and iterations by changing
the edit mode level of your app. Choose between offline building, simulation, or play mode; create,
build, test, and debug on one or multiple devices simultaneously in real time.
Choose the way you want to access the NRG API!
Select between visual coding using nodes, code manually in Lua or GLSL using the built-in code editor
and debugger, or simply use your favorite C/C++ IDE to create and debug high-performance
AI & Pathfinding
Powered by Recast & Detour, NRG provides an easy-to-use
interface to handle navigation mesh construction for real-time pathfinding and spatial
reasoning. Create with ease off-line mesh connections, dynamic obstacles, navigation
zones, and sectors.
Working in parallel with the physics engine the
built-in destruction framework can break any type of solid geometry. Choose to either break them
manually by creating intersection with other geometry; or select the following preset: Voronoi,
chunks, chips, or slices.
Modular Particle Effects
Code manually or by using a visual modular approach
to create life-like particles effects such as sparks, dust, fog, fire, or lightning just
to name a few. For more complex effects, you can even combine multiple emitters and create more
realistic networks of particles.
OpenAL Audio & SFX
With native HRTF support; create a high level of
immersion for your projects. Create ambient and punctual sound sources and use filters, special FX,
snapshots, and audio presets to build real-world acoustic properties and environmental sound
Built-in within the editor the profiler displays
in real time its information on top of the View 3D. Receive direct feedback while running
your project about the usage of the CPU and GPU memory and processing usage, Audio Mixer,
Budget, or dedicated resources frame time.
Use a similar set of tools as movie professionals to
create short films and stunning in-game cinematics. 100% nonlinear, the sequencer allows you to direct
complex animation sequences with ease. Control actors, cameras, audio, lighting, and video FX.
Obtain maximum flexibility with the
unique animation framework in NRG not only allows you to playback pre-recorded
curves; but also allows you to animate everything; manually
or automatically (using the built-in recorder) any property, physics,
and even user variables.
Machine State Controller
Visually create complex machine state networks to control
NPC characters (either for a single body or for multiple body parts) and to
handle complex event-based animations. Each controller can be used by one or multiple
Build and customize your interface to fit your
requirements! Create your workspace, split it into rows and columns in a way that you see fit;
each cell can hold multiple tabs where each of them is associated with a different editor
or same editor but in a different view.
Create your utilities, add-ons, plugins, or expand
current editor functionalities. Access the same GUI, Theme, and IDE API as the editor
developers and create your own set of tools to run alongside the editor.