All-in-one graphics kernel

Horizontal spacer

C++ API

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.

Redsdk supported Operating Systems

Scalability

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.

Redsdk hardware

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Layers

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.

Redsdk supported virtualized environments

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 supported virtualized environments

Animations

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 supported virtualized environments

Foundations

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.

Redsdk supported virtualized environments

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 supported virtualized environments

Compositing

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.

Redsdk supported virtualized environments

Technical documentation

Redsdk documentation is very complete: more than 300 pages of HTML text organized into a programming guide, a tutorials guide, a hardware reference and the API documentation.

The 50+ 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.

Redsdk supported virtualized environments

Real-time rendering

Horizontal spacer

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…

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Per-pixel correct transparencies

Redsdk is natively capable of rendering per-pixel correct transparencies, thanks to it's real-time ray-tracer.

This results in real-time correctly rendered transparency layers that help understanding the complexity of an assembly.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Section cutting

Redsdk delivers built-in shaders for the display of geometries affected by section cutting planes. Several cutting planes can be combined.

Redsdk's section cutting solution works both in hardware using the GPU acceleration and in software using ray-tracing.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Hardware accelerated ray-tracing

Redsdk owns a patented hybrid ray-traced rendering technology that can produces mid-quality images at interactive frame rates.

Classic ray-tracing optical phenomena are supported so that a high quality interactive pre-visualization of complex scenes can be achieved.

Redsdk supported virtualized environments

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 supported virtualized environments

Photo-realism

Horizontal spacer

Ray-tracing

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 ;-)

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized 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.

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Connected graphics

Horizontal spacer

Multiple operating systems

    Redsdk runs:
  • On Windows: from Windows 2000 up to Windows 8, both 32 and 64 bits
  • On Linux platforms, both 32 and 64 bits
  • On MacOS X 64 bits

Redsdk mobility platform support is in development. Contact us for details.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

Graphics hardware

    Redsk runs and is certified on more than 1000 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
Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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.

Redsdk supported virtualized environments

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 or Ascon C3D (in development) can be bridged with redsdk, as well as applications using the DWG format through the Open Design Alliance (ODA).

Redsdk supported virtualized environments

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 supported virtualized environments

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.

Redsdk supported virtualized environments