RED.h |
General API update
- Moved REDDllHandler symbol to RED.h global header file.
- Moved “#undef CreateFont” statement to RED.h global header file (avoids windows conflicts with RED::IResourceManager::CreateFont).
New general return codes
- RED_SCG_READ_ONLY_IMAGE: Access to write to a built-in render image. Built-in render images are (new) default render images accessible from the RED::IViewpointRenderList::GetRenderImage method. See ref bk_rn_40_multi_render_target_vrls.
- RED_SCG_NO_ROOT_DESTRUCTION: Destruction of the root is restricted.
- RED_SCG_SHAPE_ALREADY_DESTROYED: Returned if a shape gets released twice. See ref bk_ba_life_cycle_of_redsdk_objects.
- RED_SCG_INCONSISTENT_SCENE_UNITS: Returned when two physical lights have inconsistent setups.
- RED_WFLOW_WINDOW_DESTRUCTION_ERROR: Error in the destruction sequence for a window using external contexts.
New REDNet return codes
- All return codes from former REDNet version stored in RNET.h are now merged into RED.h.
New Embree return codes
- RED_EMBREE_UNSUPPORTED_CPU: Indicates an Embree initialization error. Please refer to the return code documentation.
- RED_EMBREE_DLL_NOT_FOUND: Application setup problem. The Embree library is missing.
New RNET return codes
- RED_NO_CONNECTION_TO_LICENSE_SERVER: Seat based licensing connection error.
- RED_ALL_LICENSES_IN_USE: Seat based licensing capabilities exceeded.
- RED_INVALID_CUSTOMER_ID: Seat based licensing error.
- RED_TIME_OUT: General time-out error.
|
REDBuiltInShaders_VTBF.h |
Removed files. These files were containing built-in shaders, but barely usable by external applications. If you have the need for any of those, please contact us and we’ll send you the necessary shader program source code. |
REDBuiltInShaders_VTBEF.h |
REDBuiltInShaders_VTLE.h |
REDBuiltInShaders_VTNF.h |
REDBuiltInShaders_VTNEF.h |
REDBuiltInShaders_VTNL.h |
REDBuiltInShaders_VTNLPE.h |
REDBuiltInShaders.h |
REDBuiltInShaders_VTBE.h |
REDBuiltInShaders_VTNLP.h |
REDBuiltInShaders_IVSH.h |
REDBuiltInShaders_VTNE.h |
REDBuiltInShaders_VTLP.h |
REDBuiltInShaders_VTL.h |
REDBuiltInShaders_VTNLE.h |
REDBuiltInShaders_VTLPE.h |
REDCID.h |
New classes CIDs
New functions
- RED::CID::operator != : An inequality operator.
- RED::CID::GetKey: Access the key stored by a CID.
|
REDColor.h |
New functions
- RED::Color::SetRGBA: Define a color from 4 floating point components directly.
- RED::Color::Random: Get a random color!
|
REDFactory.h |
New functions
- RED::Color::SetRGBA: Define a color from 4 floating point components directly.
- RED::Color::Random: Get a random color!
|
REDFileSystemTools.h |
General API update
- Replaced REDFileHandler by FILE*, which is already cross platform.
- Modified all file methods accordingly.
|
REDFrameStatistics.h |
General API update
- RED::FrameStatistics::GetSoftwareRenderStepPassCount becomes RED::FrameStatistics::GetSoftwareRenderStepPassesCount. With plural for “passes”.
- RED::FrameStatistics::GetSoftwareIICSamplesCount becomes RED::FrameStatistics::GetSoftwareGICacheSampelsCount.
|
REDIDataManager.h |
Context management
- Removed RED::IDataManager::CreateContext. Can’t be used by a client application.
General API update
- All methods had their parameters order changed to follow the general API rule method( output, input ). For instance, RED::IDataManager::GetSceneRoot has swapped parameter. In addition, plural ‘s’ have been added to several methods, such as RED::IDataManager::GetSceneRootsCount instead of RED::IDataManager::GetSceneRoot.
New methods and API changes
- RED::IDataManager::GetFontsCount and RED::IDataManager::GetFont method to access loaded fonts.
- Changed RED::IDataManager::Release to add an explicit support for RED::State transactions.
- Modified RED::IDataManager::ReleaseContext: New ‘iDestroyShared’ flag allowing destruction of shared data.
|
REDIGeometryDatabase.h |
New methods and API changes
- RED::IGeometryDatabase::GetPrimitiveNumber to decode TIDs returned by intersection methods.
|
REDIGICache.h |
New class
- RED::IGICache interface for GI cache operations.
|
REDIImage.h |
OpenGL texture access
- New RED::IImage::GetOpenGLInfo: access to the OpenGL texture ID of the image.
- New RED::IImage::GetPixelStorage and RED::IImage::SetPixelStorage to control the storage mode of image pixels. Image pixels can be loaded only on the CPU or GPU side thanks to these methods.
|
REDIImage2D.h |
General API update
- Changed RED::IImage2D::GetRenderImage: Migrated parameter from
** to *& .
- Changed RED::IImage2D::SetFromPixelShader: Migration of shader program ID from int to RED::ShaderProgramID.
|
REDImageTools.h |
New image I/O API
- New RED::ImageTools image management class for saving images to disk and for reloading images from disk. See ref bk_im_io.
|
REDILicense.h |
General API update
- Modified RED::ILicense::IsProductActivated. Added product enumeration.
New seat based licensing methods
- RED::ILicense::SetOnlineLicense.
|
REDILightShape.h |
New light sampling system
- Removed the RED::RM_SUN_SOFT_SHADOW_QUALITY render mode. No longer needed with the new light sampling system: See ref bk_re_sampling_controls_in_redsdk.
|
REDIMaterial.h |
General API update
- RED::IMaterial::GetShader: Parameter migration from
** to *& .
New functions
- RED::IMaterial::GetImageList: Query the list of images used by a material.
- RED::IMaterial::SetCaustics / RED::IMaterial::GetCaustics: Enable or disable caustics on a material. See ref bk_re_sw3d_caustics.
- RED::IMaterial::SetDisplacement / RED::IMaterial::GetDisplacement: Enable or disable displacement mapping on a material. See ref bk_bm_custom_state_displace.
- Added the missing RED::IMaterial::GetPolygonOffset.
- RED::IMaterial::SetupGenericBumpyDiffuseMaterial: Helper for the setup of a generic material.
- RED::IMaterial::SetupGenericDiffuseMaterial: Helper for the setup of a generic material.
|
REDIMeshShape.h |
New primitive creation API
- RED::IMeshShape::Quad, RED::IMeshShape::Box, RED::IMeshShape::Sphere, RED::IMeshShape::Cylinder, RED::IMeshShape::Cone, RED::IMeshShape::Torus.
- RED::IMeshShape::BuildCutMesh method to slice a mesh with a reconstruction of the section cut geometries and contours.
- RED::IMeshShape::Polygon to tessellate an input planar face made of closed contours.
|
REDIREDFile.h |
General API update
- RED::IREDFile::WriteShaderProgram: Now uses RED::ShaderProgramID program identifiers.
|
REDIResourceManager.h |
General API update
- New RED::IResourceManager::FindMaterial and RED::IResourceManager::FindMaterial methods using a string instead of an ID.
- Migration of shader methods on the RED::ShaderProgramID: RED::IResourceManager::GetShader.
- Removed RED::IResourceManager::LoadBuiltInShaderFromID in accordance with the removal of public built-in shaders.
- Rewording RED::InterruptCallback into RED::INTERRUPT_CALLBACK.
- Custom shading callbacks registration API: RED::IResourceManager::RegisterShadingCallback and associated methods.
|
REDIShape.h |
General API update
- RED::IShape::GetChildByID: Parameter changed from
** to *& .
New functions
- RED::IShape::GetChildByID: directly using a RED::String as an ID.
|
REDISkyLightShape.h |
New methods
- RED::ISkyLightShape::GetBackgroundMatrixFromSky to retrieve the transform matrix to apply to a background image to have it synchronized with a skylight texture.
|
REDISoftBucket.h |
General API update
- Renamed RED::ISoftBucket::GetMinRemainingBucketsCount. Added a plural ‘s’ to ‘buckets’.
- Renamed RED::ISoftBucket::GetThreadsCount. Added a plural ‘s’ to ‘threads’.
|
REDISoftLight.h |
General API update
- RED::ISoftLight::GetAttenuation: Due to new light parsing API, no longer requires point and normal parameters.
- Removed RED::ISoftLight::StartAdaptiveSampling, RED::ISoftLight::StartAdaptiveSamplingVolume, RED::ISoftLight::GetNextWCSSampleVolume. Replaced with RED::ISoftLight::StartSampling and a modified RED::ISoftLight::GetNextWCSSample according to new light sampling API needs.
|
REDISoftRayContext.h |
General API update
- Modified RED::ISoftRayContext::GetShadowColor prototype. Uses a soft light pointer in coherency with new light parsing API for software shading loops.
- New light parsing API for software shaders: RED::ISoftRayContext::PrepareLights and RED::ISoftRayContext::GetLight.
- Renamed RED::ISoftRayContext::EstimateIndirectIllumination into RED::ISoftRayContext::EstimateGI.
- New RED::ISoftRayContext::CanApproximateLighting method to use in the new software shading loop.
|
REDISoftRenderingContext.h |
General API update
- Modified RED::ISoftRayContext::GetShadowColor prototype. Uses a soft light pointer in coherency with new light parsing API for software shading loops.
- New light parsing API for software shaders: RED::ISoftRayContext::PrepareLights and RED::ISoftRayContext::GetLight.
- Renamed RED::ISoftRayContext::EstimateIndirectIllumination into RED::ISoftRayContext::EstimateGI.
- New RED::ISoftRayContext::CanApproximateLighting method to use in the new software shading loop.
|
REDIStream.h |
New functions
- RED::IStream::ReadLine and RED::IStream::ReadData.
|
REDISunLightShape.h |
New functions
- Added an intensity scaling parameter to RED::ISunLightShape::SetSun and RED::ISunLightShape::GetSun.
|
REDITextShape.h |
General API update
- Renamed RED::ITextShape::GetStringCount into RED::ITextShape::GetStringsCount. Added missing plural to “strings”.
|
REDITransformShape.h |
General API update
- Added missing constness to RED::ITransformShape::SetMatrix.
|
REDIViewpointRenderList.h |
Anti-aliasing
- Removed RED::IViewpointRenderList::SetHardwareAntiAlias: Hardware anti-aliasing can’t be enabled anymore on auxiliary VRLs due to global FBO migration. It must be set on the default window VRL at its creation time using the RED::WindowRenderInfo specification class.
- New super-scaling option for the engine anti-aliasing, that greatly increase performance at the expense of more memory used: RED::IViewpointRenderList::SetEngineAntiAlias.
Rendering
- Renamed RED::IViewpointRenderList::GetViewpointIIC / SetViewpointIIC into RED::IViewpointRenderList::GetViewpointGICache and RED::IViewpointRenderList::SetViewpointGICache.
- New RED::IViewpointRenderList::SetViewpointGICaches to specify several interpolation GI caches for animations.
Miscellaneous
- Added a missing transform matrix to RED::IViewpointRenderList::GetViewpointSoftClipBox.
- Renamed RED::IViewpointRenderList::GetViewpointCount into RED::IViewpointRenderList::GetViewpointsCount, with a plural ‘s’.
- New helper RED::IViewpointRenderList::InsertViewpoint for fast viewpoint insertion into a VRL.
New built-in render images API (used in relationship with RED::IWindow::CreateMultiRenderTargetVRL)
- RED::IViewpointRenderList::GetRenderImage,
- RED::IViewpointRenderList::GetRenderDepthImage,
- RED::IViewpointRenderList::GetRenderImagesCount.
|
REDIWindow.h |
New functions
- New feedback mode values: RED::FTF_BY_SURFACE_LEVEL_5 and RED::FTF_BY_BLOCKS_LEVEL_5 corresponding to the 5-th level of feedback with 32 x 32 pixels buckets.
- RED::IWindow::CreateMultiRenderTargetVRL: Creation of VRLs that have more than one rendering buffer associated to them.
- RED::IWindow::ExtractGICache: Retrieve a GI cache calculated after a rendering.
General API update
- RED::IWindow::FrameTracingIIC is now RED::IWindow::FrameTracingGICache.
- Removed sticky state number APIs: RED::IWindow::SetStickyStateNumber and RED::IWindow::GetStickyStateNumber. This function is now implicit in the engine and does not require any API call to be done from the client application.
- RED::IWindow::FrameTracingGICache now uses a list of filtering position to validate samples positions for the world IIC generation mode.
|
REDObject.h |
New function
- RED::Object::GetIDFromData: Calculate an object ID from an input data array.
|
REDOptionList.h |
Removed options
- RED::OPTIONS_RAY_TILE_WIDTH and RED::OPTIONS_RAY_TILE_HEIGHT. No more internal tiled rendering. All GPUs now have enough memory, making this option useless.
- RED::OPTIONS_RAY_AUTO_SAMPLING, RED::OPTIONS_RAY_AUTO_SAMPLING_MIN, RED::OPTIONS_RAY_AUTO_SAMPLING_MAX: No more global automatic sampling options. See ref bk_re_sampling_controls_in_redsdk. Sampling is now controllable per effect.
- RED::OPTIONS_RAY_GI_CACHE_DIRECT_CONTRIBUTION: Removed the direct lighting contribution option setup in GI caches. It did not generate good quality caches.
- RED::OPTIONS_RAY_GI_SAMPLING_ADAPTATION and RED::OPTIONS_RAY_GI_SAMPLING_ADAPTATION_THRESHOLD. No more adaptation in REDsdk.
- RED::OPTIONS_RAY_SAMPLING_ADAPTATION and RED::OPTIONS_RAY_SAMPLING_ADAPTATION_THRESHOLD: No more adaptation in REDsdk. See ref bk_re_sampling_controls_in_redsdk.
- RED::OPTIONS_RAY_PHYSICAL_LIGHT_CUTOFF is replaced by the generic RED::OPTIONS_LIGHT_CUTOFF.
New options
- RED::OPTIONS_RAY_LIGHTS_SAMPLING_RATE: Light sampling control option.
- RED::OPTIONS_RAY_GLOSSY_SAMPLING_RATE: Glossiness sampling option.
- RED::OPTIONS_RAY_USE_EMBREE: Enable using the Embree acceleration kernels. See ref bk_re_using_embree.
- RED::OPTIONS_WINDOW_DRAW_SYNC: Force a GPU synchronization point at the end of a frame.
- RED::OPTIONS_LIGHT_CUTOFF: New light cutoff performance option. See ref bk_ap_light_cutoff_option.
- RED::OPTIONS_RAY_GI_CACHE_PRECISE: GI Cache enhancement option. See ref bk_pi_rendering_presets.
- RED::OPTIONS_RAY_GI_FOR_GLOSSINESS: Performance option. Approximate glossiness with GI.
- RED::OPTIONS_RAY_GI_FOR_LIGHTING: Performance option. Approximate lighting with GI.
- RED::OPTIONS_RAY_SOFT_PREVIEW: Dynamic previewing option.
|
REDOptionsSet.h |
Removed file. Was for the setup of useless REDsdk application options in the windows registry. |
REDRenderLayer.h |
New layers
- RED::LT_INDIRECT: Indirect lighting image layer.
|
REDRenderShader.h |
Shader program identifiers migrated from int to RED::ShaderProgramID class. Prototype changes
- RED::RenderShader::SetVertexProgramId, RED::RenderShader::GetVertexProgramId,
- RED::RenderShader::SetGeometryProgramId, RED::RenderShader::GetGeometryProgramId,
- RED::RenderShader::SetPixelProgramId, RED::RenderShader::GetPixelProgramId.
API homogenization
- RED::RenderShader::GetParameter: Changed parameters from
** to *& .
- RED::RenderShader::GetPlatformCount into RED::RenderShader::GetPlatformsCount - with a plural ‘s’.
- RED::RenderShader::FakeColorWithImage: Changed parameters from
** to *& .
- One of the RED::RenderShader::RemoveParameter has been renamed into RED::RenderShader::RemoveParameterFromPlatform due to compilation issues it could cause with a compiler unable to resolve the method to use.
New input parameters APIs
- RED::RenderShader::SetInputParameter: Setup input parameters.
- RED::RenderShader::GetInputParameter: Retrieve input parameters values.
- RED::RenderShader::EvaluateFromInputParameters: Force the re-evaluation of a shader from its input parameters.
|
REDRayGIReflectionColorShader.h |
New shader input parameter API
- Migration on new shader input parameters for shader queries and modifications.
|
REDRayCutoffShader.h |
REDRayGIDiffuseShader.h |
REDRayGIRefractionColorShader.h |
REDRayReflectionShader.h |
REDRayRefractionShader.h |
REDReflectionShader.h, |
REDRenderShaderAAFilter.h, |
REDRenderShaderAmbient.h, |
REDRenderShaderAnisotropic.h, |
REDRenderShaderEdges.h, |
REDRenderShaderLambert.h, |
REDRenderShaderLogo.h, |
REDRenderShaderRefractionEffect.h, |
REDRenderShaderSolid.h, |
REDRenderShaderViewport.h |
REDRenderShaderEnvironmental.h, |
REDRenderShaderPhong.h, |
REDRenderShaderSectionCut.h, |
REDRenderShaderText.h |
REDRenderShaderVertexColor.h |
REDSoftShaderCallback.h |
New return values
- RED::SoftShaderCallback::_out_color_indirect: Used to fill in the RED::LT_INDIRECT RED::RenderLayer.
|
REDShaderProgramID.h |
New file
- RED::ShaderProgramID class. Stores a program ID, that used to be a simple integer in previous REDsdk versions.
|
REDShaderString.h |
New functions
- RED::ShaderString::VertexTransform from matrix column vectors as variables.
- RED::ShaderString::ShadowMapGaussianBlur to perform a shader level gaussian blur on a shadow map.
|
REDSTL.h |
General API update
- Migration of the RED::Vector and RED::Map classes onto RED::uint64 size values.
|
REDStreamingPolicy.h |
General API update
- Removal of the useless STREAMING_POLICY_CALLBACK and of the related RED::StreamingPolicy::SetCallback method.
New methods
- RED::StreamingPolicy::SetImagesStorage and RED::StreamingPolicy::GetImagesStorage to control the pixel storage of loaded images.
|
REDThreads.h |
New public cross platform multi-threading services. |
REDWindowRenderInfo.h |
General API update
- Removal of useless 10 bits display management API.
- Removal of engine anti-aliasing control. Engine AA is now only controlled from RED::IViewpointRenderList::SetEngineAntiAlias method.
|
RNETAdapter.h |
New REDNet files, migrated from the former REDNet product to REDsdk. |
RNETAddress.h |
RNETLog.h |
RNETIMessage.h |
RNETIPeer.h |
RNETSystem.h |