REDsdk 5.0 API Changes

File name

Change details

RCLI***.h

New files: All the REDsdk API exposed in C#

REDFrameStatistics.h

New parameters

  • Added new RED::RPS_DENOISER_PROCESSING rendering progress step.

  • Added new RED::CLUSTER_GPU_TIME enumeration to access time spent within the RED::IResourceManager::EndState method.

New methods

  • Added new RED::FrameStatistics copy construction method and RED::FrameStatistics::operator = assignment operator.

  • New cluster timing measurement methods: RED::FrameStatistics::GetClusterFlushTime, RED::FrameStatistics::GetClusterGPUUpdateTime, RED::FrameStatistics::GetClusterEventsCount.

  • New RED::FrameStatistics::GetVRL method that was missing.

REDIGICache.h

Modified methods

  • RED::IGICache::GPUBuild: New parameters: border shrinking method for cache samples; cache smoothness option; show estimator debug option.

New methods

  • RED::IGICache::GetGPUMaterial: Access the GPU material setup for the cache on the GPU.

  • RED::IGICache::GetGPUMesh: Access the GPU mesh containing the GI cache for the GPU.

  • RED::IGICache::CopyFrom: Perform a GI cache copy.

REDIImage2D.h

Modified methods

  • RED::IImage2D::SetLocalPixels: Fixed a constness mistake in parameter list.

REDILineShape.h

New methods

  • RED::ILineShape::IsSegmentsAdjacency: Query the existence of segment adjacency informations.

  • RED::ILineShape::AddSegmentsAdjacency: New line shape data method with segment adjacency information for advanced shaders.

  • RED::ILineShape::SetSegmentAdjacency: Setup the adjacency for a single segment.

  • RED::ILineShape::SetSharedSegmentsAdjacency: Define shared arrays for segments adjacency.

  • RED::ILineShape::BuildSegmentsAdjacency: Constructs the adjacency information for an object’s segments.

  • RED::ILineShape:: RemoveSegmentsAdjacency: Cleanup of segments adjacency informations.

REDIMeshShape.h

New methods

  • RED::IMeshShape::IsTrianglesAdjacency: Query the existence of triangle adjacency informations.

  • RED::IMeshShape::AddTrianglesAdjacency: New mesh shape data method with triangle adjacency information for advanced shaders.

  • RED::IMeshShape::SetTriangleAdjacency: Setup the adjacency for a single triangle.

  • RED::IMeshShape::SetSharedTrianglessAdjacency: Define shared arrays for triangles adjacency.

  • RED::IMeshShape::BuildTrianglesAdjacency: Constructs the adjacency information for an object’s triangles.

  • RED::IMeshShape:: RemoveTrianglesAdjacency: Cleanup of triangles adjacency informations.

REDIOTools.h

New parameters

  • RED::IO_FBX_FILE_VERSION enumeration to get the version of a FBX file.

Modified methods

  • RED::IOTools::Save: Added a FBX file version parameter.

REDIResourceManager.h

New methods

  • RED::IResourceManager::SetErrorFilePath: Setup the path for the REDsdk error dump file.

  • RED::IResourceManager::GetErrorFilePath: Get where the REDsdk error dump file is being written.

REDISoftRayContext.h

New methods

  • RED::ISoftRayContext::IsTangentOnly method for tangent generation queries for custom composite images.

  • RED::ISoftRayContext::GetGeometryDatabase: Access the scene geometry database.

REDITransformShape.h

New methods

  • RED::ITransformShape::IsSubMaterialsOverride: Do we have an override of material inheritance rules here?

  • RED::ITransformShape::SetSubMaterialsOverride: Override the scene graph material inheritance rules locally.

  • RED::ITransformShape::BuildHLR: Polyhedral HLR generation.

REDIViewpoint.h

New built-in floating origin methods

  • RED::IViewpoint::GetFloatingEye; RED::IViewpoint::GetFloatingSight; RED::IViewpoint::GetFloatingTop; RED::IViewpoint::GetFloatingRight.

  • RED::IViewpoint::GetFloatingViewingMatrix, RED::IViewpoint::GetFloatingInvertViewingMatrix, RED::IViewpoint::GetViewingViewProjectionMatrix.

  • RED::IViewpoint::SetFloatingOrigin and RED::IViewpoint::GetFloatingOrigin to define the floating origin on a camera.

REDIViewpointRenderList.h

New floating origin management methods

  • RED::IViewpointRenderList::GetFloatingViewProjectionViewportMatrix: Access the VPV matrix with the embedded floating origin.

REDIWindow.h

Modified methods

  • RED::IWindow::FrameTracingGICache: Added a list of objects excluded from being GI receivers and another list to define GI blockers.

REDMatrix.h

Modified methods

  • RED::Matrix::AxisScaling: Fixed a constness error.

REDNoise.h

New methods

  • RED::Noise::Perlin2dP: Perlin noise with periodicity.

  • RED::Noise::Perlin3dP: Perlin noise with periodicity.

REDOptionList.h

New options

  • RED::OPTIONS_RAY_ENABLE_DENOISER: Activate the image denoiser as the last rendering step of an image.

  • RED::OPTIONS_RAY_DENOISER_STRENGTH: Configuration of the denoiser.

  • RED::OPTIONS_RAY_DENOISER_RADIUS: Configuration of the denoiser.

  • RED::OPTIONS_RAY_TRANSPARENCY_FFP_GPU: Configuration of the accuracy of ray-traced transparencies transformations matrices.

REDPostProcess.h

New methods

  • RED::PostProcess::SetSharpenKernelSize and RED::PostProcess::GetSharpenKernelSize to control the size of the sharpen detection kernel.

  • Similarly, RED::PostProcess::SetGlowKernelSize and RED::PostProcess::GetGlowKernelSize for the glow effect.

  • RED::PostProcess::SetBlurKernelSize and RED::PostProcess::GetBlurKernelSize for the blur effect.

  • RED::PostProcess::SetDOFKernelSize and RED::PostProcess::GetDOFKernelSize for the depth of field effect.

  • RED::PostProcess::SetLegacyBrightnessContrast and RED::PostProcess::GetLegacyBrightnessContrast to toggle between the old and new brightness and contrast calculation methods.

Modified methods

  • RED::PostProcess::SetBlur and RED::PostProcess::GetBlur. The radius parameter has been removed and is now based on the kernel size.

REDProduct.h

New parameters

  • New RED::PROD_REDART product.

REDRenderShader.h

New parameters

  • RED::GEO_LINE_SEGMENTS_ADJACENCY: Adjacency management for line segments,

  • RED::GEO_TRIANGLES_ADJACENCY: Adjacency management for triangles.

New methods

  • RED::RenderShader::GetInputParameters: Access all shader input parameters.

REDRenderShaderParameter.h

New references

  • RED::RenderShaderParameter::REF_VRL_VIEW_PROJECTION_VIEWPORT_MATRIX: Access to pipeline matrices in shaders.

  • RED::RenderShaderParameter::REF_VRL_MODEL_MATRIX: Access to pipeline matrices in shaders.

  • RED::RenderShaderParameter::REF_VRL_MODELVIEW_MATRIX: Access to pipeline matrices in shaders.

  • RED::RenderShaderParameter::REF_VRL_MODELVIEW_PROJECTION_MATRIX: Access to pipeline matrices in shaders.

REDShaderProgramID.h

New parameter

  • RED::SC_COMPOSITE_SKY: built-in shader class that was missing.

REDStateShader.h

New parameters

  • Per buffer blending mode state vector defines.

New methods

  • RED::StateShader::SetBlendingMode: Per buffer blending equation customization.

REDStreamingPolicy.h

New methods

  • RED::StreamingPolicy::SetMaterialWriteMode and RED::StreamingPolicy::IsMaterialWriteMode: Control whether shapes and their materials are saved or not. Shapes can be saved and reloaded without their materials when this policy is turned on.

REDVector3.h

New methods

  • Less than operator to perform component wise comparisons on vectors.

REDVector4.h

New methods

  • Less than operator to perform component wise comparisons on vectors.

RPL***.h

New files: The new REDart API.