The Wayback Machine - https://web.archive.org/web/20140318152217/https://developer.nvidia.com/gameworks-opengl-samples

Get the documentation or download the NVIDIA GameWorks™ OpenGL samples here.

Download

Bindless Graphics Sample

  • Category: Performance

This sample demonstrates the large performance increase in OpenGL that is made possible by 'Bindless Graphics'. These extensions allow applications to draw large numbers of objects with only a few setup calls, rather than a few calls per object, thus reducing the driver overhead necessary to render highly populated scenery.

Docs


Bloom Sample

  • Category: Visuals

This sample demonstrates creating a glow effect by post-processing the main scene. It heavily leverages FBO render targets across multiple steps/passes with custom effects processing shaders. It also integrates shadow mapping to demonstrate self-illumination cutting through the shadow effects.

Docs


Compute Basic GLSL Sample

  • Category: Compute

This basic sample demonstrates how to interoperate between OpenGL [ES] and a simple OpenGL Compute Shader-based compute kernel.

Docs


Feedback Particles Sample

  • Category: Performance,Visuals

The Feedback Particles sample shows how normal vertex shaders can be used to animate particles and write the results back into vertex buffer objects via Transform Feedback, for use in subsequent frames. This is another way of implementing GPU-only particle animations. The sample also uses Geometry Shaders to generate custom particles from single points and also to kill the dead ones.

Docs


Instanced Tessellation Sample

  • Category: Performance,Visuals

This sample demonstrates how instancing can be used to efficiently tessellate objects in real-time.

Docs


Instancing Sample

  • Category: Performance

This sample demonstrates how instancing techniques can be used to speed up drawing operations for scenes that consist of many copies of the same object rendered with slight differences.

Docs


Motion Blur ES2 Sample

  • Category: Visuals

This sample shows a method of simulating motion blur of fast-moving objects using multi-pass rendering. In the first pass, the fast-moving geometry is rendered unblurred into a framebuffer object. In the second pass, a special vertex shader stretches the geometry between the previous and current vertex position based on the normal at the vertex and apparent shutter duration (stretch length), and the fragment shader applies supersampling to the first pass results to generate a blurred visual.

Docs


Motion Blur GL4/GLES3 Advanced Sample

  • Category: Visuals

This sample shows a filtering method for simulating motion blur of fast-moving objects. The method used is a 2D full-screen post-process that works on a normal framebuffer augmented with a screen-space velocity buffer; thus, filtering performance is not dependent on scene geometric complexity. The algorithm is based on the paper 'A Reconstruction Filter for Plausible Motion Blur', by McGuire et. al. (SIGGRAPH I3D'12)

Docs


Multi-Draw Indirect Sample

  • Category: Visuals

COMING SOON: This coming sample will demonstrate how to use the features of OpenGL to offload the CPU in generating rendering work. It is slated to ship in the next update of the samples pack, a preview is provided at the APITest link on this page.

Docs


Particle Upsampling Sample

  • Category: Performance,Visuals

The Particle Upsampling sample uses a combination of rendering techniques to simulate a cloud of particles casting shadows on a model and a floor object. The particles are rendered into a lower-resolution offscreen surface, and then up-sampled to the screen to lower the cost of the high depth complexity.

Docs


Path Rendering Sample

  • Category: Visuals

This sample uses NVIDIA's Path Rendering extensions to demonstrate rendering stroked and filled 2D line-art, such as you would implement with Skia, SVG, or HTML Canvas, fully leveraging the power and speed of OpenGL hardware.

Docs


Skinning Sample

  • Category: Visuals

This sample demonstrates how to render skinned meshes using both one or two bones in a vertex shader. Skinning allows organic shapes (such as humans) to deform nicely around joints as they bend. Without skinning, joints have a rigid appearance that is more similar to a mechanical joint like you would see in a robot.

Docs


Terrain Tessellation Sample

  • Category: Performance, Visuals

This sample shows how OpenGL hardware tessellation support can be used to implement a highly-efficient terrain engine that supports high geometric detail.

Docs


Texture Array Terrain Sample

  • Category: Performance, Visuals

This sample demonstrates how to use a Texture Array to render a terrain with visually-complex texturing at high performance. The texture array is similar to a 3D texture, allowing for multiple 'slices' or sub-textures bound to a single texture ID, but arrays are much higher performance due to disallowing trivial filtering across the slices. We get great terrain rendering performance by eliminating the need to perform multiple, blended passes over the geometry, and improved quality by avoiding boundary issues that would occur with 2D atlas texturing.

Docs