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.