######################
REDsdk 5.3 API Changes
######################

+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| File name                 | "Change details"                                                                                                                                                      |
+===========================+=======================================================================================================================================================================+
| ARTFactory.h              | Updated class IDs.                                                                                                                                                    |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIAssetManager.h        | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * ART::IAssetManager::AddGeometryPart / RemoveGeometryPart: Enhanced geometry control.                                                                                |
|                           | * Entity control API.                                                                                                                                                 |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * ART::IAssetManager::CreateGeometry: Option to create an atlas or not, skinned mesh option.                                                                          |
|                           | * ART::IAssetManager::BuildGeometryREDGraph: Added sharing capability to the method with pre-existing REDsdk materials. Created images retrieval.                     |
|                           | * ART::IAssetManager::GenerateGeometryVertexAO becomes ART::IAssetManager::GenerateGeometryVertexGI, generating both GI and AO. Related methods modified accordingly. |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Removed methods                                                                                                                                           |
|                           |                                                                                                                                                                       |
|                           | * Ground field methods. Replaced with decals from the editor.                                                                                                         |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIAtlas.h               | New file with atmospheric control API.                                                                                                                                |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIEntity.h              | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * Animation control API.                                                                                                                                              |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIGeometry.h            | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * ART::IGeometry::SetVertexAO: Added PBR mesh entry.                                                                                                                  |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * ART::IGeometry::RefreshMaterial.                                                                                                                                    |
|                           | * ART::IGeometry::GetVertexGI and GetVertexAO: Missing accessors.                                                                                                     |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Removed methods                                                                                                                                           |
|                           |                                                                                                                                                                       |
|                           | * ART::IGeometry::SetGroundElevation. Elevation sculpting is now performed using editor decals.                                                                       |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIMaterial.h            | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * New water material parameters API.                                                                                                                                  |
|                           | * IOR and glossiness control.                                                                                                                                         |
|                           | * Emissive material control methods.                                                                                                                                  |
|                           | * PBR material control methods.                                                                                                                                       |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIObserver.h            | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * ART::IObserver::GetGPSPosition: GPS conversion query.                                                                                                               |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIOptions.h             | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * ART::IOptions::SetPlanetGeometricalOpsPerFrame becomes ART::IOptions::SetPlanetLandscapeOpsTime.                                                                    |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Removed methods                                                                                                                                           |
|                           |                                                                                                                                                                       |
|                           | * ART::IOptions::GetAtlasPrismsDensityRatio and corresponding Set method.                                                                                             |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIPlanet.h              | .. rubric:: Modified method                                                                                                                                           |
|                           |                                                                                                                                                                       |
|                           | * ART::IPlanet::SetEnvironment: Added an environment intensity scaling factor and corresponding accessors.                                                            |
|                           | * Fixed some API constness mistakes.                                                                                                                                  |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * Wind API: ART::IPlanet::SetWindDirection and other wind control methods.                                                                                            |
|                           | * Geometry lazy ground updates control API: API that allow a geometry that has to modify the ground to retain its action until a flush command is issued.             |
|                           | * ART::IPlanet::GetLandscapeRealHeight: query with optional geometry filtering parameters.                                                                            |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIReflectionProbe.h     | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * ART::IReflectionProbe::SetRenderPlanar / GetRenderPlanar / InitializePlanar: Planar probes control methods.                                                         |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * ART::IReflectionProbe::SetCameraPosition renamed into ART::IReflectionProbe::SetCameraPositionOffset (same for the Get accessor).                                   |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIStatistics.h          | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * Auxiliary rendering time queries (for planar reflections).                                                                                                          |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ARTIWorld.h               | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * ART::IWorld::SetSimulationElapsedTime: Override of simulation timers.                                                                                               |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * ART::IWorld::PickGeometry: Added picked normal to result.                                                                                                           |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| RED.h                     | .. rubric:: New error codes                                                                                                                                           |
|                           |                                                                                                                                                                       |
|                           | * RED_OPEN_IMAGE_DENOISE_DLL_ERROR, RED_OPEN_IMAGE_DENOISE_DLL_NOT_FOUND, RED_OPEN_IMAGE_DENOISE_EXECUTION_ERROR: Intel denoiser specific error codes.                |
|                           | * RED_SCG_IMAGE_STILL_IN_USE: Multi-threaded image control error code.                                                                                                |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDImageTools.h           | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * RED::ImageTools::GetMeanColor: Get the mean color of a 2D image.                                                                                                    |
|                           | * RED::ImageTools::CopyFrom: Copy an image from a source.                                                                                                             |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * RED::ImageTools::ConvertMetallicToRealisticMaterial: Added IOR map support.                                                                                         |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDIGeometryDatabase.h    | .. rubric:: New method                                                                                                                                                |
|                           |                                                                                                                                                                       |
|                           | * RED::IGeometryDatabase::GetGIDiffuseColor: Get the GI color at a hit object.                                                                                        |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDIMeshShape.h           | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * RED::IMeshShape::GetSkinBonesCount and other bone control / query methods for animated meshes.                                                                      |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDITransformShape.h      | .. rubric:: New method                                                                                                                                                |
|                           |                                                                                                                                                                       |
|                           | * RED::ITransformShape::BuildHLRLegacy: Old version REDsdk HLR method for backward compatibility on old scenes.                                                       |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDIViewpointRenderList.h | .. rubric:: New method                                                                                                                                                |
|                           |                                                                                                                                                                       |
|                           | * RED::IViewpointRenderList::InsertViewpoint: New method with a fixed position insertion.                                                                             |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDNoise.h                | Fixed API constness mistakes.                                                                                                                                         |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDOptionList.h           | .. rubric:: New option                                                                                                                                                |
|                           |                                                                                                                                                                       |
|                           | * RED::OPTIONS_RAY_ENABLE_OPEN_IMAGE_DENOISE: Turn on or off the Intel denoiser.                                                                                      |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDSoftShaderCallback.h   | .. rubric:: New parameter                                                                                                                                             |
|                           |                                                                                                                                                                       |
|                           | * RED::SoftFrameBufferSample::_out_bsdf_matte_shadow for the support of path tracing with the matte shadow material.                                                  |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| REDWindowRenderInfo.h     | .. rubric:: New methods                                                                                                                                               |
|                           |                                                                                                                                                                       |
|                           | * RED::WindowRenderInfo::IsContextSharing: Check how REDsdk will behave about external context sharing (Windows only).                                                |
|                           |                                                                                                                                                                       |
|                           | .. rubric:: Modified methods                                                                                                                                          |
|                           |                                                                                                                                                                       |
|                           | * RED::WindowRenderInfo::SetHostingContext: Added a context sharing option (enabled by default - behavior unchanged).                                                 |
+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
