REDsdk features at a glance

Just scroll down this page to discover the REDsdk feature set!

All-in-one graphics kernel

REDsdk is a C++ programming toolkit dedicated to image visualization. REDsdk covers all the graphics features for real-time 2D, real-time 3D and photo-realistic rendering using a single integrated API.

REDsdk is used by many companies in the industry, manufacturing, simulation, architecture and design markets. It delivers an unmatched performance for the display of large data assemblies and a cutting edge photo-realistic image quality.

REDsdk is highly customizable, flexible and adapts itself to all operating platforms, thanks to its unique hybrid rendering technology that can run either using graphics hardware or in full software mode.

REDsdk is composed of a set of object oriented C++ API that can be used to control all the graphics of an application. The REDsdk API is compact, simple to use and extremely flexible.
It covers different topics such as graphic data management, visualization layout, material and lighting setup, application interaction and rendering.
Millions of graphic primitives, triangles, lines and texts can be visualized, lit, shaded, modified, created and destroyed interactively by REDsdk.
REDsdk uses proprietary data organization algorithms to enhance the performance level of the system it runs on so that it can deliver the best level of user experience.
Scene graph

Data organization is a key element of the REDsdk API thanks to its built-in direct acyclic graph (DAG) shape hierarchy.

The REDsdk scene graph lets you define complex hierarchy with instanced data and control inheritance rules for all the properties that may interfere with the display.
Hybrid rendering technology
REDsdk natively embeds different rendering technologies: A hardware accelerated (GPU) display engine based on OpenGL on all hardware platforms and a software display technique based on progressive refinement ray-tracing. Both technologies can work at the same time.
Both technologies produce the same images for the same data. Both technologies share the data they visualize.
GPU acceleration
Redway3d engineers have put a lot of effort into the REDsdk's hardware accelerated OpenGL layer performance and reliability, carefully implementing the best performance code paths for each variety of graphic hardware.
Consequently, REDsdk delivers a cutting edge hardware accelerated display quality and the best performance the hardware can deliver.
Multi-core software rendering
REDsdk's internal ray-tracer is capable of using all available CPU cores of the target platform it runs on. Due to the natural parallel essence of the ray-tracing algorithms, the performance scales almost linearly with the number of CPU cores available for the rendering.
REDsdk's software ray-tracing also provides a very accurate scene feedback at real-time rates, before the image calculation is over.
Double precision
REDsdk enables you to store and display data at a high degree of accuracy, using simple or double precision floating point data. This is a key feature for all CAE, GIS, Survey or mapping software applications.
As a result, even the biggest databases, large of hundreds of kilometers, can be accurately displayed on screen.
Layers support in REDsdk is a powerful mechanism that lets you change the display of data based on simple context information.
Practically, layers are visualization filters that control the effect of every rendering pass for every object in REDsdk.
Picking and selection tools
Interaction with the stored graphic models in REDsdk uses a software picking system (therefore independent of OpenGL or of any graphics subsystem).
REDsdk's software picking can perform a full depth trap based picking to find out all primitives that are "under" the mouse. This includes all graphic primitives: triangles, lines, points, texts.
REDsdk delivers an animation controller that can record and replay animations of any kind: hierarchical animations, mesh deformations or animated materials can be recorded and replayed.
REDsdk also provides a mechanism to resynchronize animations recorded on multiple tracks.
REDsdk's architecture is open: all classes in the REDsdk foundation layer can be customized: memory allocators, file management tools, memory tracking tools, etc...
REDsdk is a multi-threaded engine featuring a transaction system to ensure safe edition of data in multi-threaded concurrent environments. REDsdk is also a full Unicode engine.
System Check Utility
Part of the REDsdk industrialization process includes the update of the REDsdk hardware database. REDsdk runs on 1000+ different graphic adapters on several operating systems (Windows, Linux, MacOS, both x86 & x64) and redway3d recommends the best known graphic driver for each graphic card on each operating system.
This service is available from the API and can be customized at will.
REDsdk can be used to assemble as many data sources as wished to compose the application layout in one or many windows. Rendering results of different cameras or sources can be composited together to assemble the final image.
Background images, foreground indications, multiple scenes can be assembled, merged, sorted and rendered in a custom manner together.
Technical documentation
REDsdk documentation is very complete: hundred of pages of detailed explanations on all aspects of the product; organised by books, tutorials and tasks with a powerful search engine.
All tutorials available from the REDsdk setup are supplied with full source code and help anyone who wishes to learn REDsdk to start "hands on" as quickly as possible.

Real-time rendering

REDsdk lets you interact with the largest possible data assemblies at a performance level that is unrivaled on the market. Its full double precision pipeline lets you create, edit and transform the most complex hierarchical systems in an accurate manner.

The advanced real-time lighting and shadowing systems embedded in REDsdk lets you reach a higher level of understanding of your 2D or 3D data. REDsdk lets you dynamically switch between rendering technologies and go back and forth from drafting to photo-realism.

Advanced real-time rendering module (ART)
REDsdk can be used as a low level engine with lots of detailed features, or it can be used as a high level API with a built-in rendering pipeline and data production workflow, through it's Advanced real-time rendering module. Check its features at a glance here: Key advanced real-time features.
Real-time materials
REDsdk delivers a lot of built-in shading models, specially designed and optimized for real-time rendering using a GPU: Lambert, Phong, Ward anisotropic area all REDsdk native.
In addition to these, many other material and shading models are available: ambient lighting, vertex coloring, hidden lines removal, high quality viewport, contour edge display, cartoon shading, environmental mapping, etc...
Real-time lighting and shadowing

REDsdk has a large number of built-in light shapes supported and rendered in hardware: omni, spots, beams and directional lights are all common.
Beyond this area lights and physical lights are approximated on the GPU and produce a great level of real-time fully dynamic pre-visualization.

All lights in REDsdk can cast shadows in hardware using shadow mapping. REDsdk can handle any number of lights simultaneously.
HDR rendering pipeline
REDsdk's data processing can occur at different precision levels: classic 8 bits per color component low dynamic range (LDR), half-float precision or full floating-point precision, which are the two classic high dynamic range rendering modes (HDR).
The entire dataset and data processing pipeline managed by REDsdk can be LDR or HDR.
Per-pixel correct transparencies
REDsdk is natively capable of rendering per-pixel correct transparencies, thanks to its real-time ray-tracer.
This results in real-time correctly rendered transparency layers that help understanding the complexity of an assembly.
Real-time software fallback
The most efficient real-time software rendering technique in REDsdk is called the "by surface level" feedback mode. This technique combines the benefits of a progressive refinement ray-tracing with advanced shape contouring detection to provide an instantaneous feedback of the rendered geometry.
This technique scales to any model size and to any resolution.
Section cutting
REDsdk delivers built-in shaders for the display of geometries affected by section cutting planes.
REDsdk's section cutting solution works both in hardware using the GPU acceleration and in software using mesh based topological operators.
Analytic Hidden Lines Removal
REDsdk can produce a vectorized output of a 3D tessellated model. This output, based on the polygonal mesh can be easily setup to represent the view of hidden lines versus visible lines from a given camera position.
Vectorized outputs are suitable for printing or for the storage into vectorized file formats such as postcript or pdf.
Programmable shading model
REDsdk delivers a programmable shading pipeline that can be used to integrate any existing shader or to create new ones using standard shading languages (GLSL or ARB shader programming).
Custom shaders can be mixed with built-in shaders at all stages of the rendering pipeline in an application.
Drafting primitives
REDsdk display capabilities can be leveraged for 2D display. The same data organization that works for large 3D assemblies work even better for all the very large datasets that exist in the 2D drafting world.
REDsdk can display all the components needed for a proper 2D display, triangles, lines, strips, points, unicode texts, bitmaps at a very high performance level, making even the most demanding drafts interactive.
Clouds of points
REDsdk can display cloud of points. Thanks to its advanced shading capabilities, cloud of points can be dynamically expanded to perform a visually attractive surface reconstruction for the navigation in these huge datasets.
Hardware accelerated image processing
Image processing operations may be time consuming when large images are involved. REDsdk offers tools to process and modify images.
These tools are either usable standalone for any image or are part of the REDsdk post-processing pipeline, including all tone-mapping operations that are hardware accelerated for a true real-time experience.
Volume rendering
REDsdk proposes examples to display volumetric data extracted from CT scans or other 3d scanner sources.
The technology renders blended slices of meshes that cover the volume to display to restitute visual information based on the data density.
REDsdk supports two kinds of stereoscopic devices: the Virtual Reality Oculus Rift head mounted display system and quad buffer stereoscopy which is mainly available from NVIDIA Quadro cards.
Real-time skeletal animations
REDsdk provides a complete skeletal animation system able to dynamically animate skeletons and skinned meshes. The API includes animation replay, blending and root motion.

Photo realism

REDsdk integrates a proprietary rendering technology that is both physically accurate and fast. It can create large stunning images in less than the time for a coffee break.

Photo-realistic quality can be reached thanks to the high-end algorithms developed by redway3d: global illumination, dynamic tone mapping and physical lighting are only a few of the high end rendering features that are built-in REDsdk.

REDsdk's ray-tracing solution features support all the classic optical phenomena that are mandatory to produce high quality images: reflections, refractions, BRDF based models, sampling, sub-pixel anti-aliasing, etc...
We can even render the image on the right. 40 years after its creation...but now in real-time ;-)
Global illumination
REDsdk's rendering solutions are capable of simulating all complex light interactions: light bounces on every object in a 3D model, that themselves re-emit light everywhere in the scene.
Called Global Illumination, these algorithms are a must have to get photo-realistic images. REDsdk's GI algorithms are fast, reliable and scalable.
Photo-realistic materials

REDsdk delivers a photo-realistic material model that is a key feature to produce photo-realistic images thanks to its built-in energy preservation model.

This realistic material, part of the REDsdk material library, is a completely flexible and customizable material, usable in real-time and photo-realism environments.
Advanced material library
RedMaterials is a add-on module for REDsdk that contains hundreds of high quality materials already setup and ready for the rendering.
Stones, wood floorings, concretes, fabrics, metals, jewelry are only a few categories of materials that can be found in this library.
Displacement mapping
Displacement mapping is a key advanced rendering feature that adds a lot of details to a scene without paying the price for the extra-modeling that this detail quality would require otherwise. Redway3d displacement mapping, unlike most others techniques on the market, does not use any extra memory to render the displaced data. Therefore, billions of triangles can be generated and rendered dynamically.
Physical lighting
There are lights and physical lights. A real industrial lamp has physical properties and a non isotropic lighting propagation in the space it illuminates. This is described by light IES profiles.
REDsdk reads and understands IES profiles for lights and renders them accurately, resulting in an improved level of realism.
Physical sky and sun
REDsdk's delivers built-in physical sunlight and skylight models so that outdoor renderings can be easily set in a realistic manner.
Custom HDR sky environment textures can be specified and incorporated to the skylight rendering model managed by REDsdk.
Anisotropic reflectance models
Some advanced materials like hairs or furs, or complex materials using BRDF (Bidirectional Reflectance Distribution Functions) require light propagation equations that are capable of taking into consideration a non-isotropic light re-emission model.
REDsdk's photo-realistic or real-time anisotropic materials are both capable of rendering anisotropic reflections.
Reflective and refractive materials can propagate caustics in REDsdk, which is also a must have for jewellery or architectural renderings.
Dielectric materials
Resdk simulates dielectric materials and takes into consideration the index of refraction of reflective and refractive objects to get a better level of realism.
This is a must have for all jewelry based materials or all glass based materials.
Programmable software shaders
REDsdk's let programmers define their own custom shaders, but without any extra shading language to learn. Therefore, software shaders are written in plain C++ and are loaded and executed dynamically by REDsdk on need.
This result in higher rendering performances compared to shading languages as shaders are compiled and optimized.
Dynamic tone mapping
Like a real eye does, the tone mapping operator in a rendering pipeline rescales lighting intensities so that we can see something everywhere in dark or bright environments.
REDsdk tone-mapping is performed in real-time, anytime: during or after the rendering. This lets users retouch images even after they have been finished, at no cost and at no loss in quality.
Image denoising
REDsdk adds, as a final image stage calculation, an algorithm to denoise an image that was produced and that still contains some noise.

Connected graphics

REDsdk has been designed to easily integrate into another application. Thanks to its flexible interface, REDsdk can co-exist with other graphics solutions to add value for specific graphic needs or to become the reference visualization platform.

REDsdk also imports / exports data from a variety of sources and has bridges with key industrial components such as Parasolid from Siemens, the Open Design Alliance, Ascon's C3D math kernel or Autodesk 3dsMax.

Multiple operating systems
REDsdk runs on all versions of Windows, on all versions on Linux, both 32 and 64 bits native and on MacOSX versions native 64 bits.
Virtualized environments
REDsdk's hybrid hardware / software rendering technology shows all its value when an application has to run on virtualized environments in real-time, without any hardware acceleration available.
REDsdk runs on all virtualized environments (VMWare, VirtualBox, Citrix, MS Remote Desktop, Parallel Graphics, etc...) using the best appropriate rendering technology.
Graphics hardware

REDsdk runs and is certified on more than 1300 graphic cards from NVIDIA, ATI or INTEL that have been released after year 2003. The range of supported graphic cards covers: All NVIDIA GeForce FX Quadro FX & up series, all ATI Radeon 9600, FireGL & up series, all INTEL GMA 3000 & up series.

All newer cards are supported.
Smooth integration workflow
REDsdk can be integrated painlessly into an application without breaking the existing application display. REDsdk can be initialized from a provided window rendering context, sharing its data.
Therefore, REDsdk rendering code can enhance or replace existing rendering code, smoothly. REDsdk can share existing data with the application to further reduce its memory footprint.
File format
REDsdk can load and save data to its proprietary file format ".red".
The REDsdk file format is extensible, can be integrated into any other file format, supports data compression with dedicated compression algorithms for each data source, supports animations, encryption keys and has very high loading performances thanks to its multi-threaded loading system.
Data provider bridges
REDsdk can be connected easily with several reference products on the market, for which redway3d delivers "bridges". These bridges are supplied with customizable source code and illustrate the integration of REDsdk within another application.
Applications powered by Siemens Parasolid can be bridged with REDsdk, as well as applications using the DWG format through the Open Design Alliance (ODA).
Data import export
REDsdk uses its Redmax plug-in to import or export data from or to a variety of file formats: MAX, 3DS, DWG, DXF, FBX, IGE, IGS, OBJ, WRL, STL...
REDsdk test suite
The REDsdk test suite is a full featured product used by several hardware manufacturers to test the compliance of their hardware & software products with REDsdk.
This product is a natural extension to REDsdk to ensure that REDsdk runs well in its ecosystem of supported platforms.