All Projects → Nau3D → Nau

Nau3D / Nau

Licence: mit
Nau - OpenGL + Optix 3D Engine

Projects that are alternatives of or similar to Nau

Gdx Vfx
LibGDX post-processing visual effects
Stars: ✭ 105 (+483.33%)
Mutual labels:  opengl, glsl, shaders
Leaf3d
A lightweight 3D rendering engine based on modern OpenGL
Stars: ✭ 16 (-11.11%)
Mutual labels:  opengl, glsl, shaders
Reshade
A generic post-processing injector for games and video software.
Stars: ✭ 2,285 (+12594.44%)
Mutual labels:  opengl, glsl, shaders
Shaderworkshop
Interactive GLSL fragment shaders editor made with Qt
Stars: ✭ 43 (+138.89%)
Mutual labels:  opengl, glsl, shaders
nerv pathtracer
a pathtracer with physically based rendering in mind
Stars: ✭ 27 (+50%)
Mutual labels:  shaders, glsl, raytracing
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+64888.89%)
Mutual labels:  opengl, glsl, shaders
Glsltuto
GLSL shaders tutorial
Stars: ✭ 168 (+833.33%)
Mutual labels:  opengl, glsl, shaders
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (+800%)
Mutual labels:  opengl, glsl, shaders
Messier87
A realtime raytracing blackhole renderer
Stars: ✭ 53 (+194.44%)
Mutual labels:  shaders, glsl, raytracing
NobleRT
A Minecraft shaderpack that enhances one's experience with the help of good-looking graphics and light simulations.
Stars: ✭ 76 (+322.22%)
Mutual labels:  shaders, glsl, raytracing
Tess Opt
Demonstration of how we can use tessellation shaders to make faster fragment shaders.
Stars: ✭ 13 (-27.78%)
Mutual labels:  opengl, glsl, shaders
Shadergen
Proof-of-concept library for generating HLSL, GLSL, and Metal shader code from C#,
Stars: ✭ 395 (+2094.44%)
Mutual labels:  opengl, glsl, shaders
Retrace.gl
Create, ray trace & export programatically defined Signed Distance Function CSG geometries with an API suited for generative art - in your browser! 🎉
Stars: ✭ 149 (+727.78%)
Mutual labels:  glsl, shaders, raytracing
Sildurs Shaders.github.io
Sildurs shaders website
Stars: ✭ 84 (+366.67%)
Mutual labels:  opengl, glsl, shaders
Shadered
Lightweight, cross-platform & full-featured shader IDE
Stars: ✭ 3,247 (+17938.89%)
Mutual labels:  opengl, glsl, shaders
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (+1361.11%)
Mutual labels:  opengl, shaders, raytracing
Imogen
GPU Texture Generator
Stars: ✭ 648 (+3500%)
Mutual labels:  opengl, glsl, shaders
Shadereditor
Android app to create GLSL shaders and use them as live wallpaper
Stars: ✭ 517 (+2772.22%)
Mutual labels:  glsl, shaders
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+2644.44%)
Mutual labels:  opengl, shaders
Renderpipeline
Physically Based Shading and Deferred Rendering for the Panda3D game engine
Stars: ✭ 814 (+4422.22%)
Mutual labels:  opengl, glsl

Nau

Nau 3D engine: OpenGL + Optix 7 (WIP) + Lua + ImGui

Nau is an API to speed up the creation of 3D shader pipelines. It integrates both rasterization and ray tracing in a single package, providing all the tools to create complex multipass graphic pipelines with shaders written in GLSL, and kernels written in CUDA for Optix7.

It supports Lua scrippting to provide an easy way to expand functionality. When scripting is not enough or not efficient, plugins can be written for Nau to complement Nau's pass functionality. An example is provided in project nauPassPlugin.

The accompanying interface application (Composer) has debugging features that help the construction of such pipelines. With Composer the user can explore all the settings relating to the inputs and outputs of the graphics pipeline.

It can be used as a teaching tool for shader and ray tracing courses providing a seamless integration between the two rendering approaches.

Documentation at http://nau3d.di.uminho.pt/

Composer

credits

Besides myself, many people have contributed to this project:

  • Bruno Oliveira - software architecture, programming
  • Pedro Ângelo - programming
  • Marta Pereira - initial implementation of the event system manager
  • Leander Beernaert - initial Linux version, initial CMake building system
  • André Lui - initial implementation of the debug features
  • Jaime Campos and João Meira - initial Bullet integration
  • David Leal - Bullet and PhysX plugins

ImGuiFileDialog from https://github.com/aiekick/ImGuiFileDialog

Nau3D uses the following 3rd party libraries:

Interface applications:

  • GLFW
  • GLUT

All source code or libs is provided in the package (apart from Opix) to prevent disruption when any of those packages is updates.

CMAKE settings and requirements

To build nau, and GLUT and GLFW (with ImGui) demo, the project is self-contained for Windows. For Linux install opengl, and devil

  • Devil
    • sudo apt-get install libdevil-dev
  • Freeglut (as a short cut to installing opengl)
    • sudo apt-get install freeglut3-dev

Note: IF fail to compile freeglut try

  • cd /usr/include/X11/extensions
  • sudo ln –s XI.h XInput.h

To build nau with nvidia's optix 7 support (optional) both cuda and optix are required.

  • In the cmake project check the option "NAU_BUILD_WITH_OPTIX"
  • Set the variable NAU_OPTIX_DIR to optix's installation directory
  • CUDA is usually found by cmake and doesn't need any extra steps.
  • If either CUDA or Optix are not found the process goes on without Optix support.

running

  • composerImGUI is an almost complete interface to NAU3D with ImGui
  • nauGLUT provides a simple example of a GLUT application working with NAU3D
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].