REDsdk 5.2 API Changes

File name Change details
ARTIAssetManager.h

New methods and defines

  • ART_GEOMETRY_AO_GROUND_FIELD_RESOLUTION: This is the fixed size of a geometry ground texture.
  • New ART::IAssetManager::BuildGeometryREDGraph, simpler than other methods and accessing only the created graph.

Modified methods

  • ART::IAssetManager::GenerateGeometryVertexAO: More precise specification for the ground.
ARTIGeometry.h

New methods

  • ART::IGeometry::GetMemoryUsage to get an estimate of the CPU & GPU memory taken by the geometry.
  • ART::IGeometry::GetMaterialsCount, ART::IGeometry::GetMaterial: Material access API.
  • A set of selection handling methods to have a selection feedback for some parts in the geometry.

Modified methods

  • ART::IGeometry::SetGroundAOCache, now specifying the size of the source AO information.
ART::ILight.h

Removed defined

  • ART::LT_SPOT: Is now assimilated to the ART::LT_POINT with a spot angle.

New methods

  • ART::ILight::GetPhysicalColor, ART::ILight::SetPhysicalColor: Setup a physical light.
  • ART::ILight::GetLuminousFlux, ART::ILight::SetLuminousFlux: Setup a physical light.
ARTIMaterial.h All new methods for the setup and configuration of a material.
ARTIOptions.h

New methods

  • ART::IOptions::SetAllDefaultOptions: Reset everything to default values.
  • ART::IOptions::ForcePrismsRealMeshShadows, ART::IOptions::IsForcedPrismsRealMeshShadows: Override prisms shadow settings.
  • ART::IOptions::SetPrismsMeshFadeOffset, ART::IOptions::GetPrismsMeshFadeOffset: Shift prisms meshes display distances.
  • ART::IOptions::SetPrismsExactSpawn, ART::IOptions::GetPrismsExactSpawn: Set an increased accuracy for prisms scattering.
  • ART::IOptions::SetPrismsSpawnOffset, ART::IOptions::GetPrismsSpawnOffset: Shift the prisms scattering landscape subdivision.
  • ART::IOptions::SetPrismsPassesCount, ART::IOptions::GetPrismsPassesCount: Set the number of prisms rendering passes.
  • ART::IOptions::SetCloudsRelighting, ART::IOptions::GetCloudsRelighting: Specify the amount of sky relighting generated by clouds.
  • ART::IOptions::SetFullSceneAntiAliasing, ART::IOptions::GetFullSceneAntiAliasing: Setup FSAA.
  • All SSAO and SSR new methods.

Modified methods

  • ART::IOptions::SetPlanetGeometricalUpdateTime becomes ART::IOptions::SetPlanetGeometricalOpsPerFrame: uses a fixed number of operations rather than a timer. Generates more stable FPS.
ARTIWorld.h

New methods

  • ART::IWorld::IsLandscapeUpdateDone: Get an information on the landscape synchronization.
  • ART::IWorld::GetWindow: Get the REDsdk rendering window.
  • ART::IWorld::SetOffscreenRendering: Force the rendering of REDart into an auxiliary VRL to let the main window VRL free.
  • New picking methods: ART::IWorld::PickCloudsCovers, ART::IWorld::PickCustomShapes.
  • New HTC Vive VR methods: ART::IWorld::StartOpenVRRendering, ART::IWorld::StopOpenVRRendering, ART::IWorld::IsOpenVRRendering.

Modified methods

  • ART::IWorld::Pick: More details on picked items.
RED.h New defines for error code handling.
REDBoundingSphere.h New methods for handling AABBs (informative only. AABBs are not used internally).
REDIImage2D.h

New methods

  • RED::IImage2D::ScaleNormalMap: Change the intensity of a normal map.
REDImageTools.h

New methods

  • RED::ImageTools::Resize: Image resizing helper with complete filtering.
  • RED::ImageTools::ConvertFormat: Image format conversion tool.
  • RED::ImageTools::ConvertMetallicToRealisticMaterial: Conversion of a PBR material to a realistic material.
REDIMaterial.h

New methods

  • RED::IMaterial::UpdateShader: Update any shader in place within the material configuration.
  • RED::IMaterial::RemoveShaderFromLayerSets, RED::IMaterial::RemoveShaderFromPasses, RED::IMaterial::RemoveShader: shader list helpers.
  • RED::IMaterial::ClearShaderLayerSet: shader list helpers.
  • RED::IMaterial::GetShaders: Shader access with more combinations for an easier usage.

Modified methods

  • RED::IMaterial::SetupGenericMaterial: Added a real-time refraction toggle flag.
REDIMaterialController.h

New defines

  • RED_MATCTRL_REALTIME_REFRACTION and RED_MATCTRL_REALTIME_REFRACTION_DESC for the generic material real-time refraction prop.
REDIMeshShape.h

Modified methods

  • RED::IMeshShape::Polygon: Added a polygon normal definition flag that was implicit before.
REDIOptions.h

New options

  • RED::OPTIONS_OPENGL_CONTEXT_DEBUG, RED::OPTIONS_OPENGL_CONTEXT_MAJOR, RED::OPTIONS_OPENGL_CONTEXT_MINOR: OpenGL context creation options.
REDIOTools.h

Modified methods

  • RED::IOTools::Save: Added a local images source control flag.
REDIPhysicalLightShape.h

New methods

  • RED::IPhysicalLightShape::SetIESMatrix and RED::IPhysicalLightShape::GetIESMatrix: custom control of the IES orientation from within the light.
REDIResourceManager.h

New methods

  • RED::IResourceManager::SetAliveImagesCheck, RED::IResourceManager::IsAliveImagesCheck: Turn on or off the testing of images addresses during updates. Can be disabled for performance critical applications.
  • RED::IResourceManager::SetSynchronizationLock, RED::IResourceManager::IsSynchronizationLock: turn on or off the internal synchro lock for performance critical applications.
REDIShape.h

New methods

  • RED::IShape::GetParentViewpoints: Helper to ascend a shape’s tree and get its anchoring viewpoints.
  • RED::IShape::ForceUpdate: Method to declare a shape change without effectively modifying it.
  • RED::IShape::InDestroy: Is the shape already registered for a destruction?
REDISoftRenderingContext.h

Modfied methods

  • RED::ISoftRenderingContext::GetBackgroundImagesIntensityScale turned into two new methods: RED::ISoftRenderingContext::GetBackgroundImagesIntensityScaleCube and RED::ISoftRenderingContext::GetBackgroundImagesIntensityScale2D.
REDITextShape.h

New methods

  • RED::ITextShape::InsertStringsFrom: Merge two shapes’ strings.
REDIViewpointRenderList.h

Modfied methods

  • RED::IViewpointRenderList::SetBackgroundImages now with two distinct multipliers, one for each background image.
REDQuaternion.h

New methods

  • RED::Quaternion::Log, RED::Quaternion::Exp: Quaternion manipulation helpers.
  • RED::Quaternion::Squad, RED::Quaternion::InnerQuadrangle: Quaternion interpolation helpers.
REDRandom.h

New methods

  • RED::RNG::RandD: Generates a random number in [ 0, 1 ].
REDRenderCode.h

New methods

  • RED::RenderCode::SetGenericGLSLBindings, RED::RenderCode::IsGenericGLSLBindings: Customization of the GLSL behavior for shaders.
REDRenderShaderParameter.h

New references

  • RED::RenderShaderParameter::REF_VRL_BACKGROUND_2D_IMAGE_INTENSITY_SCALE,
  • RED::RenderShaderParameter::REF_VRL_BACKGROUND_CUBE_IMAGE_INTENSITY_SCALE.
REDShaderString.h New Apple Metal helpers.
REDVersion.h Modified constructor and new helper to handle the source code branch number.