Nature Demo

OpenGL Nature Demo

The Nature Demo is an OpenGL 3+ demo scene showcasing an advanced rendering technique called Instance Cloud Reduction (or shortly ICR) that was first presented in the article Instance culling using geometry shaders and then been further improved according to the article Instance Cloud Reduction reloaded.

The rendering technique can be used to accelerate object level culling using the GPU in case of mass amount of instanced geometry. This is done by using the geometry shaders to cull incoming data using the standard frustum culling mechanism but rather culling primitives it culls whole objects based on their positions and extents. The minimum requirement for running the demo is a GPU supporting OpenGL 3.2.

All the available versions of the demo can be downloaded here. The separate versions target separate OpenGL releases.

Nature Demo for OpenGL 3.2

Binary Source
Platform Windows cross-platform
Language N/A C++
Dependency OpenGL 3.2 GLEW, SFML, GLM
Download nature12_win32.zip (3.58MB) nature12_src.zip (12.6KB)

Release notes for version 1.2:

  • Initial version with bug fixes and small improvements.
  • Optimized Wavefront OBJ loader to reuse vertices when possible.
  • Fixed the problem that prevented the shaders to compile with NVIDIA drivers due to the use of bool varying.
  • Fixed the issue with the latest AMD drivers that resulted in invalid rendering.

Nature Demo for OpenGL 3.3

Binary Source
Platform Windows cross-platform
Language N/A C++
Dependency OpenGL 3.3 GLEW, SFML, GLM
Download nature20_win32.zip (3.58MB) nature20_src.zip (12.8KB)

Release notes for version 2.0:

  • Based on version 1.2 with the addition of rendering improvements.
  • Eliminated the need for per-vertex texture buffer access by taking advantage of GL_ARB_instanced_arrays available from OpenGL 3.3.

Note: As the original source code has been written against the development branches of GLEW, SFML and GLM the source code may or may not compile without modification.