Redsdk: the scalable GPU engine!

Redsdk renders the best images at your frame rate from constrained real-time to offline image production. Redsdk provides a number of helpful concepts and developments. It is capable of real-time ray tracing as well as ‘standard’ industry real-time 3d effects (shadow maps, environmental mapping …). Written in C++, it offers developers an elegant way to integrate to their own application and to extend their functionalities. The integrated scene graph exposes well-designed inheritance rules to build complex hierarchies and behaviors from user data.

What's new in Redsdk 1.4?

  • A full HDR pipeline (128bits) for ray tracing & rasterization
  • Real-time cube maps dynamically updated
  • Optimized performances
  • Memory leak tracker & analysis tool
  • Redsdk test suite
Lighting & shadowing rendering

Lighting and Shadowing

  • Full HDR resolution pipeline: set your pipeline resolution according to your needs, in 32bit or 128bit (full HDR) modes
  • Real-time reflections: set dynamically updated environmental cube maps on any object
  • Real-time shadowing: use point lights, spot lights, beam lights, area lights and highly customizable shadow maps to fulfill your requirements (including soft shadow maps, alpha masked shadows)
  • Programmable shading pipeline: create your own vertex & fragment shaders (ARB, GLSL) and set them using redsdk; configure your multi-passes rendering pipeline
  • Complex material trees support: using composite images and blended materials, build extremely complex material trees that are rendered in real-time
  • Per-pixel lighting: several built-in shading models are available (Lambert, Phong, Blinn, Anisotropic, Vertex Color …)
Some tutorials illustrating the lighting & shading features:

#7: My first RED shader
#8: My first GLSL shader
#14: Setup built-in redsdk materials
#21: Hardware reflections
#22: Using blended materials
#23: Using depth buffer images - Depth of field

#29: HDR reflection
#30: Anti-aliasing
#33: Cartoon shading
#35: Volume visualization
#36: Fall-off effect
#37: Hidden Line Removal
GLSL shader rendering Blended materials rendering Depth of field screnshot Volume rendering

My first GLSL shader

Blended materials

Depth of field

Volume visualization

GLSL shader rendering Blended materials rendering Depth of field screnshot Volume rendering rendering

Hidden Line Removal

Fall-off effect

HDR Reflection

Cartoon shading

Interactive ray tracing

  • Full HDR resolution pipeline: set your pipeline resolution according to your needs, in 32bit or 128bit (full HDR) modes
  • Reflections and refractions: generate true recursive ray traced reflections and/or refractions based on geometry and materials properties (such as normal maps)
  • Hard / Soft lights & shadows: render point lights ray traced shadows, colored and transparent object shadows. Render sample based true ray traced area lights & shadows
  • Dynamic data update: leverage the power of the engine dynamic database for all animations & mesh deformation needs, without suffering any rendering performance penalty
  • Real-time ray traced transparencies: render real-time per pixel sorted transparencies with the RED engine ray tracer
real-time ray tracing rendering
Some tutorials illustrating the real-time ray tracing features:

#8: My first GLSL indirect shader
#12: Ray traced effects
#15: My first indirect shader
#16: Multiple passes shaders
#17: Ray traced refractions
Ray traced refractions rendering Ray traced effects rendering Indirect shader rendering Ray traced transparencies rendering

Ray traced refractions

Ray traced effects

My first indirect shader

True transparencies

Scalability

  • Scalable GPU engine: redsdk is scalable in both quality and time to best suit the user needs
  • High polygon count support: load millions of triangles, redsdk will manage them easily thanks to its optimized memory footprint
Some tutorials illustrating the scalability:

#24: Customized culling #28: High polygon count
Hardware rendering Advanced hardware shading Real-time ray tracing rendering Offline ray tracing rendering

Hardware rendering
800K triangles
60 FPS

Advanced hardware
shading
150K triangles
30-50 FPS

Real-time ray tracing
90K triangles
4 FPS

Offline ray tracing
5-15M triangles
0.1 FPS

Scene graph schematic

Scene graph

  • Instance/reference model: efficient scene graph design using the Direct Acyclic Graph (DAG) paradigm
  • Layers: support layers (for materials, geometries, lighting and ray tracing). Layers are visualization filters used to control the scope of every rendering pass and engine algorithm
  • Customizable transformation pipeline: entry points are opened at different stages of the culling process enabling the integration of users custom culling algorithms (PVS, occlusion culling …)
  • Multiple rendering primitives: redsdk renders triangle meshes but also provides support for lines, clouds of points and Unicode texts
  • Custom primitive support: insert your own drawing primitive without having to re-write your existing 3D code
  • Support for analytic picking: pick everything you want using the objects topologies knowledge
Some tutorials illustrating the scene graph features:

#4: Scene Graph manipulation
#5: Geometry layers
#6: Material layers
#9: Rendering primitives
#24: Customized culling
#27: Scene Graph optimizer
Rendering primitives rendering Picking screenshot Customized culling screenshot Scene graph optimizer screenshot

Rendering primitives

Picking

Customized culling

Scene Graph Optimizer

Data import

Redway3d´s Redviewer product is a convenient way to import external data in the Red engine´s internal format. Using Redviewer you can edUit your data directly into the Content Creation Tool. As Redviewer is a client application of Redsdk, you are guaranteed to get the same result in your own Redsdk application. The data production workflow is quite simple and can be summarized as:

Redsdk-redviewer load screenshot Redsdk-Redviewer WYSIWYG mode screenshot Redsdk-Redviewer export screenshot Redsdk-Redviewer play screenshot

1. Load your data into your preferred Content Creation Tool

2. Activate Redviewer to enter the WYSIWYG mode

3. Export the viewed data to a Redsdk compatible file

4. Visualize your exported data with your redsdk application

Redviewer offers support for a wide variety of file formats:

  • 3DS, DWG, DXF, FBX, IGE, IGS, IGES, OBJ, WRL, STL, …
  • Up to now Redviewer exists for Autodesk® 3dsMax® / VIZ. A prototype version for Autodesk® Maya is already available
Redviewer for Autodesk® Maya screenshot
Redsdk architecture schematic

Programming features

Redsdk manages a set of low-level functionalities letting the developer to concentrate on what makes its difference. The set of C++ classes that makes Redsdk is fully documented. There is no complicated hierarchy of classes and performance is achieved while always paying attention to the application side. Major programming features are:

  • Open architecture: fully documented Object Oriented code written in C++, Unicode strings support, Custom memory management policy, Custom file management policy, Easily integrate redsdk into an existing third-party or in-house application
  • Full documentation: a more than 200 pages “Programming Guide” describing the Redsdk concepts, including 30 fully detailed tutorials with source code, the “Hardware Reference Guide” summarizing the level of support for each tested hardware, the “Reference Manual” describing every Redsdk class in-depth
  • Redsdk test suite: run the suite of tests to check possible driver & hardware issues as well as measuring the level of graphics performance of your hardware plateform from a RED technology point of view
  • Memory leak tracker & analysis tool: debug your application faster with a full display of all the graphics resources managed by Redsdk at all times
  • Multi-threads support
  • Multi-viewpoints: Single window layout, Multiple windows
  • Multi-OS: W2000 Professional SP4, WXP Professional SP2, WXP x64 Professional edition SP2, Vista Business 32bit, Vista Business 64bit (Win32, MFC and .NET compliant), Linux (in development), Others (contact us for details)
Some tutorials illustrating the programming features:

#1: My first redsdk application
#3: “Hello world !”
#13: Multiple windows application
#25: Working in MFC environment
#26: Integration in a 3rd party OpenGL application
First Redsdk application rendering Mutliple window Redsdk application rendering 3rd party OpenGL integration rendering MFC integration rendering

My first redsdk application

Multiple window application

Integration in a 3rd party OpenGL application

Working in MFC environment

Trial versionCase studiesFAQ