Real-time tutorials

Integration into an existing OpenGL application
REDsdk can operate standalone or it can be used in an existing application to extend it's graphics capabilities. See how to create a REDsdk window that draw into an existing window OpenGL context.

Integration into an existing Metal application
REDsdk can operate standalone or it can be used in an existing application to extend it's graphics capabilities. See how to create a REDsdk window that draw into an existing Metal environment.

Building basic primitives
This is a tutorial about how to build basic primitives. It describes the API calls you need to setup points, lines or triangles shapes.

Adding edges
Learn how to use REDsdk built in functions for the creation of edges of a mesh. Visualize inner edges, border edges and contour edges.

Anchoring viewpoints in a window
Learn how to use the RED::IViewpointRenderList::InsertViewpoint method to anchor a viewpoint at a given position in a window. See how anchoring and sizing policies will influence the viewpoint's viewporting region on a window size change.

Shapes hierarchy
This tutorial demonstrates the use of hierarchies of shapes to build complex model assemblies.

Using instance counters
This tutorials details a mechanism in REDsdk that can be used to dynamically identify instances of a given shape during the rendering.

Rendering to an offscreen buffer
Learn how REDsdk can be used to render geometries into offscreen buffers and how the results of these renderings can be reused anywhere else in REDsdk.

Using culling callbacks for visibility control
Learn how RED::IShape culling callbacks can be leveraged to control the scope of visible objects in the scene.

Background setup: A CAD style example
Learn how to create a 2D gradient image and how to use it as a scene background

Volume view
This tutorial demonstrates how you can use REDsdk 3d images to render 3d CT scans with the graphics card.

Setup a composite image
This tutorial explains how you can use your own shader to build a dynamic composite image.

Cutting geometries: a practical example
This tutorial details how to define a section cutting plane and use it to slice a geometry. This uses the GPU for a real-time result.

Cutting geometries: using multiple cutting planes
This tutorial uses the special RED::IMeshShape::BuildCutMesh to slice any geometry by any number of cut planes. Contours and cut sections are extracted by the method and displayed.

Rendering any line thickness using quads
Line rendering using the GPU usually has a cap in the thickness it can use. Learn how to use REDsdk to render line primitives in an easy way using textured quads.

Hidden lines removal: A real-time example
Setup geometries and visualize hidden lines and contours in real-time. Visualize hidden edges using a special graphic style.

Applying polygon offset to see edges of a geometry
The tutorial displays edges of a geometry using a polygon offset.

Writing material controller properties
Learn how to create a new material and its controller and write properties to access its parameters.

Writing a custom rendering shader in ARB
This tutorial shows how to write vertex and pixel programs of a custom rendering shader in ARB.

Writing a custom rendering shader in GLSL
The goal of this tutorial is to explain how to write vertex and pixel programs of a custom rendering shader in GLSL.

Writing a custom rendering shader using geometry program
In this tutorial, we will write a simple geometry shader in GLSL to change the normal and vertex data of a geometry at runtime.

Cartoon shading
This tutorial explains how to create custom shaders to render cartoon-like images with the GPU.

Environmental mapping
This tutorial shows how REDsdk can be used to render various kinds of real-time environmental mapping.

Creating panorama
In this tutorial, you will see how REDsdk can help you to create a panorama and set it as background image of your scene.

Creating stereoscopic panorama
This tutorial shows how to create specific panorama images for each eyes to be displayed in stereoscopic systems like VR devices.

GI cache and tone mapping for panorama
How to use a single pass of global illumination and a unique set of tone mapping parameters for multiple views. This tutorial uses the example of the panorama rendering.

GI and light baking
This tutorial will show how a global illumination solution can be baked into a global illumination cache and how it can be replayed using the GPU or in software using the CPU. This tutorial will also show how to bake lights into the solution.

Applying a logo over a material's geometry
This tutorial details how a set of bitmaps can be applied onto an existing geometry as logos. The logo shading can be then defined separately from the overridden material.

A billboard example using an alpha mask texture
In this tutorial, we will build a basic billboard using an alpha mask texture for the transparency.

Stereoscopic display
This tutorial demonstrates the stereoscopic capabilities of REDsdk for the compatible NVidia GPU (Quad Buffered Stereo).

Oculus Rift
The Oculus Rift tutorial shows how to connect the Oculus Rift virtual reality device to REDsdk in order to visualize and interact with a 3D scene.

HTC Vive
The HTC Vive tutorial uses the OpenVR SDK and REDsdk to display a scene in the HTC Vive virtual reality device.

Deferred shading using multiple render targets
This tutorial describes how to use multiple render targets to do deferred shading with REDsdk.

Playing an animation clip
This tutorial describes how to create an animation clip and play it with a controller.

Loading and playing skeletal animations
Load a skinned mesh and its animations from external files and play them with REDsdk.

Rendering clouds of points: a dynamic point splatting example
This book gives hints about how to render efficiently a heavy cloud of points using a point splatting method.

Improving CAD graphics
Follow this book to learn how REDsdk can be used to enhance the visual quality of CAD models that have no graphic setup at all.
Integration into an existing OpenGL application![]() |