Will be removed.
Gets the size in bytes of the temporary workspace buffer which must be passed to Albedo handling functions which use instance, mesh and material GUIDs. Note that the memory must be 8-byte aligned.
Member Enlighten::GetInstanceGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid *pInstanceGuids)
Gets the GUIDs of instances in a system.
Gets the GUIDs of materials in a system, optionally filtered to a specific instance and/or a specific mesh.
Gets the GUIDs of meshes in a system, optionally filtered to a specific instance.
Member Enlighten::GetNumInstanceGuids (const ClusterAlbedoWorkspaceMaterialData *materialData)
Gets the number of instances in a system.
Gets the number of material GUIDs in a system, optionally filtered to a specific instance and/or a specific mesh.
Member Enlighten::GetNumMeshGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid instanceGuid)
Gets the number of mesh GUIDs in a system, optionally filtered to a specific instance.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material albedo component in the DynamicMaterialWorkspace as dynamic. This is used to distinguish dynamic material values from static values when initialising or reconstructing the AlbedoBuffer. If a material albedo component is not initialised as dynamic, any calls to SetMaterialAlbedoColour() will require the AlbedoBuffer to be re-initialised.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material albedo component in the DynamicMaterialWorkspace as static. This is used to distinguish dynamic material values from static values when initialising or reconstructing the AlbedoBuffer. If a material albedo component is not initialised as dynamic, any calls to SetMaterialAlbedoColour() will require the AlbedoBuffer to be re-initialised.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material emissive component in the DynamicMaterialWorkspace as dynamic. This is used to distinguish dynamic material values from static values when initialising or reconstructing the EmissiveBuffer. If a material emissive component is not initialised as dynamic, any calls to SetMaterialEmissiveColour() will require the EmissiveBuffer to be re-initialised.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material emissive component in the DynamicMaterialWorkspace as static. This is used to distinguish dynamic material values from static values when initialising or reconstructing the EmissiveBuffer. If a material emissive component is not initialised as dynamic, any calls to SetMaterialEmissiveColour() will require the EmissiveBuffer to be re-initialised.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material transparency component in the DynamicMaterialWorkspace as dynamic. This is used to distinguish dynamic material values from static values when initialising or reconstructing the TransparencyBuffer. If a material component is not initialised as dynamic, any calls to SetMaterialTransparency() will require the TransparencyBuffer to be re-initialised.
This function is replaced by InitialiseMaterialDynamicity. Initialise a material transparency component in the DynamicMaterialWorkspace as static. This is used to distinguish dynamic material values from static values when initialising or reconstructing the TransparencyBuffer. If a material component is not initialised as dynamic, any calls to SetMaterialTransparency() will require the TransparencyBuffer to be re-initialised.
Gamma 2.0 corrected RGB 8-bit albedo. See replacement API GetDebugAlbedoValue()
The area light ID associated with this duster point. See replacement API GetDebugEmissiveValue()
The lit value in RGB (linear space). This is only stored per cluster, so each point will be assigned the lighting values for its whole cluster.
Please use GetInstanceId() instead, which returns the same value but is more accurately named.
Functions to save to XML, given an output stream and a set of PackedSystems to get the system names from, as we don't store that.
Please use the 5-argument overloaded version of ProjectGeometry() instead. Project detail meshes in an IPrecompInputGeometry onto an IPrecompPackedGeometry This is guaranteed not to change the IPrecompPackedGeometry in any way, so can be done after a precompute to get new UVs for a detail mesh that was not known about when the last precompute was run.
The outputTexture argument is now required. Allocate a cube map. This will add the cube map to the update manager's list but it must be separately added to the worker's copy via EnqueueAddCubeMap().
Allocate a dynamic object. This will add the object to the update manager's list but it must be separately added to the worker's copy via EnqueueAddDynamicObject.
Member Enlighten::IUpdateManager::AllocateProbeSet (const RadProbeSetCore *coreData, bool useU8Output, const Geo::v128 *probePositions, Enlighten::eSHOrder shOrder, RawBuffer output=RawBuffer())=0
The probePositions argument is deprecated. Allocate a probe set object. Pointer parameters that are are owned by the caller may be read (and output may be written) any time after EnqueueAddProbeSet and before the completion of the async RemoveProbeSet command.
Member Enlighten::IUpdateManager::AllocateSystemSolutionSpace (const RadSystemCore *coreData, IGpuTexture *outputTextures[ENLIGHTEN_NUM_OUTPUT_TEXTURE_TYPES], eOutputFormat irradianceTextureFormat)
The irradianceTextureFormat argument is deprecated.
Gets the output texture of the given channel for the given dynamic object (typically, so the application can use it for final rendering)
Returns true if the cube map update counter is 0 (ie no updates are pending for this cube map).
Returns true if the probe set update counter is 0 (ie no updates are pending for this probe set).
Returns true if the system update counter is 0 (ie no updates are pending for this system).
Sets an output texture for the given cube map - used instead of the IGpuTextureAllocator interface This must be called before a cubemap has a radiosity update enqueued.
Sets an output texture for the given system - used instead of the IGpuTextureAllocator interface This must be called before a system has a radiosity update enqueued.
Sets an output texture for the given dynamic object - used instead of the IGpuTextureAllocator interface This must be called before a probe volume has a radiosity update enqueued.
A tag that can be assigned to each face to identify the chart that the face is a part of. If multiple faces within the same chart have conflicting m_ChartTag values, the value assigned to the chart will be the value present on the majority of the faces of that chart.
Read an InputLightingBuffer from file.
Free the data required to update the system, disable updates, and free the input lighting buffer, so no probe sets, cube maps or systems can receive light from the system.
Please use the overload which takes a SurfaceSelection. Set the colour of a material within the DynamicMaterialWorkspace. If the material has been previously setup as dynamic (using InitialiseMaterialAlbedoAsDynamic()), the AlbedoBuffer will need updating using UpdateAlbedoBuffer(). If the material is static however, the AlbedoBuffer will need re-initialising using InitialiseAlbedoBufferFromMaterialWorkspace().
Please use the overload which takes a SurfaceSelection. Set the emissive colour of a material within the DynamicMaterialWorkspace. If the material has been previously setup as dynamic (using InitialiseMaterialEmissiveAsDynamic()), the EmissiveBuffer will need updating using UpdateEmissiveBuffer(). If the material is static however, the EmissiveBuffer will need re-initialising using InitialiseEmissiveBufferFromMaterialWorkspace().
Please use the overload which takes a SurfaceSelection. Set the transparency of a material within the DynamicMaterialWorkspace. If the material has been previously setup as dynamic (using InitialiseMaterialTransparencyAsDynamic()), the TransparencyBuffer will need updating using UpdateTransparencyBuffer(). If the material is static however, the TransparencyBuffer will need re-initialising using InitialiseTransparencyBufferFromMaterialWorkspace().
Member Enlighten::SetSamplePositions (const InputWorkspace *inputWorkspace, TransparencyWorkspace *transparencyWorkspace, float offset, bool forceUpdate)
Set the additional (to the one calculated during precompute) offset for sample positions of a transparency workspace. Since the offsets are calculated during precompute, there should be no need to call this API
A Callback which is executed when the Albedo/Emissive buffers have been updated. This callback could be called from any thread so care must be taken to ensure thread safety.
Optional allocator for GPU output textures. Please provide textures directly to IUpdateManager::AllocateSystem or IUpdateManager::AllocateCubeMap.
Parameter 'platform' is deprecated.
Parameter 'sections' is deprecated.
Assignment that returns a success/fail this->Clone(this) returns true
Assignment that returns a success/fail this->Clone(this) returns true
Use this function if you are unsure what block size to use. These values should give the best results at the given resolution, but your mileage may vary depending on your geometry. Will return 0 if the dimensions you gave were invalid.
Member Geo::GeoFlattenAndPack (AtlasMesh *inputMesh, const AtlasMeshPackingFlags &packParams, IGeoProgressProxy *progress, GeoFlattenAndPackResults *results)
This parameterizes a mesh into charts and packs them.
Member Geo::GeoScaleCharts (AtlasMesh *mesh, float totalGeomSurfaceArea)
This takes the charts of a mesh and scales them relative to their 3D size.
Prefer to use the IGeoStream::IsOk() method