REDsdk 4.2 API Changes

File name

“Change details”

RED.h

New return codes

  • RED_SCG_INVALID_SKIN_MESH_DATA: Animation framework error code.

  • RED_NET_CANT_RESOLVE_DESTINATION: RNET error code.

  • RED_NET_CANT_CREATE_SOCKET: RNET error code.

New defines

  • RED_4PI, RED_PI4

REDAnimationClip.h

New file, part of the animation framework!

REDAnimationData.h

New file, part of the animation framework!

REDCID.h

New classes CID values.

REDColor.h

New methods

  • RED::Color construction method from double values.

  • RED::Color::SetRGBA from double values.

REDFactory.h

Animation system methods

  • RED::Factory::CreateAnimationClipController.

  • RED::Factory::CreateSkeletalAnimationClipController.

  • RED::Factory::CreateSkeletalAnimationBlender.

REDFrameStatistics.h

New detailed statistics

  • New RED::PassStatistics and RED::ViewpointStatistics classes for detailed pass statistics.

  • New RED::RENDERING_PASS enumeration for pass based statistics.

  • Most methods of the former RED::FrameStatistics class are now found in RED::ViewpointStatistics.

  • New RED::FrameStatistics class with new high level statistics.

REDIAnimationClipController.h

New file, part of the animation framework!

REDIDataManager.h

Animation framework methods

  • Added RED::IDataManager::GetAnimationClipControllersCount and RED::IDataManager::GetAnimationClipController.

  • Added RED::IDataManager::GetSkeletalAnimationClipControllersCount and RED::IDataManager::GetSkeletalAnimationClipController.

  • Added RED::IDataManager::GetSkeletalAnimationBlendersCount and RED::IDataManager::GetSkeletalAnimationBlender.

REDIGICache.h

GI replay and miscellaneous methods

  • Modified RED::IGICache::FilterEstimator: the filtering criteria uses a neighbor count rather than a search radius.

  • New RED::IGICache::GPUBuild method to construct a GI cache for GPU replay.

  • New RED::IGICache::GetEstimatorPhotonsCount and RED::IGICache::GetCacheSamplesCount query methods.

REDIImageComposite.h

Minor changes

  • Added missing RED_CIMG_FRESNEL_ALPHACOL parameter.

  • Modified RED::IImageComposite::Layered: Maximum 7 textures can be composited in one layered image.

REDILightShape.h

Light baking

  • New RED::RM_BAKED rendering mode for light baking.

New complete sky model

  • New RED::ILightShape::IsMoonLight query method.

REDIMaterial.h

Realistic material enhancements

  • Added new realistic features to RED::IMaterial::SetupRealisticMaterial.

REDIMaterialController.h

Realistic material enhancements

  • Added new #define statements for new realistic material features.

New API for setting material controller creation parameters afterwards

  • RED::IMaterialController::SetName.

  • RED::IMaterialController::SetCategory.

  • RED::IMaterialController::SetSubCategory.

  • RED::IMaterialController::SetDescription.

  • RED::IMaterialController::SetAuthor.

REDIMeshShape.h

New skinning methods

  • RED::IMeshShape::AddBone, RED::IMeshShape::GetBonesCount.

  • RED::IMeshShape::SetBoneMatrix, RED::IMeshShape::GetBoneMatrix, RED::IMeshShape::GetBoneNeutralPose, RED::IMeshShape::GetBoneName.

  • RED::IMeshShape::GetBoneParent, RED::IMeshShape::GetBoneChildrenCount, RED::IMeshShape::GetBoneChild.

  • RED::IMeshShape::SetSkinBonesCount, RED::IMeshShape::SetSkinBone.

  • RED::IMeshShape::SetSkinVerticesCount, RED::IMeshShape::SetSkinVertex.

  • RED::IMeshShape::SetBoneInfluencesCount, RED::IMeshShape::SetBoneInfluence.

  • RED::IMeshShape::InitializeSkinning, RED::IMeshShape::DoSkinning, RED::IMeshShape::ResetSkinning, RED::IMeshShape::HasSkinningData.

REDIMoonLightShape.h

New file! This is the moon light source. Setup it from RED::ISkyLightShape::SetMoonLight.

REDIOTools.h

Miscellaneous

  • Added a flag to select object types loaded through RED::IOTools::Load and to RED::IOTools::Save.

  • Removed RED::IOLMT_LAMBERT_OR_PHONG, which is useless. Use RED::IOLMT_GENERIC instead.

REDISkeletalAnimationBlender.h

New file, part of the animation framework!

REDISkeletalAnimationController.h

New file, part of the animation framework!

REDISkyLightShape.h

New complete sky model

  • Added RED::ISkyLightShape::SetPhysicalModel, RED::ISkyLightShape::GetPhysicalModel, RED::ISkyLightShape::IsPhysicalModel: New physical day and night sky model.

  • Added RED::ISkyLightShape::SetCustomModel, RED::ISkyLightShape::GetCustomModel, RED::ISkyLightShape::IsCustomModel: User controller sky lighting model.

  • Modified RED::ISkyLightShape::CreatePhysicalSkyTexture to comply to new API.

  • Added RED::ISkyLightShape::SetSunLight, RED::ISkyLightShape::SetMoonLight: New sky model API.

  • Added RED::ISkyLightShape::ComputeSunDirection, RED::ISkyLightShape::ComputeMoonDirection: New sky model helpers.

Kept the legacy sky texture construction for backward compatibility

  • RED::ISkyLightShape::CreatePhysicalSkyTextureLegacy.

REDISoftLight.h

Miscellaneous

  • Added RED::ISoftLight::GetShape to access the shape of the light source.

New complete sky model

  • New RED::LT_MOON light type enumeration value.

REDISoftRayContext.h

Light baking changes

  • Modified RED::ISoftRayContext::PrepareLights to choose to consider baked lights or not in the calculation.

Miscellaneous

  • Added RED::ISoftRayContext::IsGlossinessAnglesOnly for glossiness angles queries.

REDISoftRenderingContext.h

GI replay and world cache

  • Added RED::ISoftRenderingContext::GetRayWorldCacheSamplesCount to access the number of samples in a GI world cache.

  • New RED::ISoftRenderingContext::IsGIEnabled to query the actual GI settings.

REDISunLightShape.h

New complete sky model

  • Removed RED::ISunLightShape::SetSun. The sun is now setup using RED::ISkyLightShape::SetSunLight.

REDIWindow.h

Miscellaneous

  • Changed the prototype of RED::IWindow::FrameTracingGICache to always supply a list of filtering positions to the method.

  • Added RED::IWindow::GetFrameStatistics to retrieve current frame statistics.

  • New RED::IWindow::SetOSHandler method to change the handle of a window during its life.

REDMath.h

Miscellaneous

  • New REDMISPower helper function.

  • Removed REDNoise. Now in RED::Noise class.

REDMutex.h

New cross platform mutex class.

REDNoise.h

New file! Implements Perlin and Worley noise in 2D and 3D with or without derivatives calculations.

REDOptionList.h

New options

  • New RED::OPTIONS_RAY_WORLD_CACHE_SAMPLES_COUNT: New option to choose the number of samples in a GI cache generated in world mode.

  • New RED::OPTIONS_RAY_WORLD_CACHE_SAMPLES_SPREAD: Controls the GPU spreading of GI cache samples.

  • New RED::OPTIONS_RAY_FORCE_EMBREE: Forces using Embree, regardless of the scene contents.

  • New RED::OPTIONS_RAY_TRANSPARENCY_TOLERANCE_GPU: Controls the numerical tolerance of transparency rays in GPU ray-tracing.

  • New RED::OPTIONS_FORCE_STENCIL: enable stencil buffers on auxiliary buffers.

REDQuaternion.h

New file!

REDRenderShader.h

Miscellaneous

  • Modified RED::RenderShader::VertexProgramSelection and RED::RenderShader::CompositeTextureSelection for built-in shaders codepath determination.

  • Modified RED::RenderShader::SelectSingleUV: 16 textures maximum allowed.

  • New RED_LIGHT_MOON_LIGHT light source geometry and lighting target.

REDRenderShaderParameter.h

Miscellaneous

  • New RED::RenderShaderParameter::REF_RAY_ENDING_NOR_IMAGE: New GPU ray-tracing reference.

  • New RED::RenderShaderParameter::REF_RAY_WORLD_CACHE_SAMPLE_SPREAD: Reference for RED::OPTIONS_RAY_WORLD_CACHE_SAMPLES_SPREAD.

REDShaderProgramID.h

Modified internal shader classification.

REDShaderString.h

Miscellaneous

  • Modified RED::ShaderString::ReadBumpMap to comply to new built-in shaders texturing capabilities.

  • Added RED::ShaderString::Tex: general texture access method for ARB programs.

REDVector3.h

New RED::Vector3::Set method from double values.

REDVolumetricEffect.h

Modified RED::VolumetricEffect::GetPhase: RGB wavelength phase returned.

REDVolumetricEffectBoxVolume.h

Modified RED::VolumetricEffectBoxVolume::GetPhase: RGB wavelength phase returned.

REDVolumetricEffectLightVolume.h

Modified RED::VolumetricEffectLightVolume::GetPhase: RGB wavelength phase returned.