This is the documentation for Enlighten.
Deprecated List
Member Enlighten::CalcMaterialGuidsLookupWorkspaceSize (const ClusterAlbedoWorkspaceMaterialData *materialData)
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::DoProbeInterpolationTask (const Enlighten::ProbeInterpolationTask *task, Geo::u32 &timeUs)
Performs an interpolation of SH coefficients for a given set of points in space and probe sets.
Member Enlighten::GetInstanceGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid *pInstanceGuids)
Gets the GUIDs of instances in a system.
Member Enlighten::GetMaterialGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid instanceGuid, Geo::GeoGuid meshGuid, Geo::GeoGuid *pMaterialGuids)
Gets the GUIDs of materials in a system, optionally filtered to a specific instance and/or a specific mesh.
Member Enlighten::GetMeshGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid instanceGuid, Geo::GeoGuid *pMeshGuids)
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.
Member Enlighten::GetNumMaterialGuids (const ClusterAlbedoWorkspaceMaterialData *materialData, Geo::GeoGuid instanceGuid, Geo::GeoGuid meshGuid)
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.
Member Enlighten::GetProbeInterpolants (Geo::v128 point, const InterpolationInputSet *inputSet, ProbeInterpolant *interpolants, Geo::s32 numMaxInterpolants, Geo::s32 &numUsedInterpolants, Geo::u32 lod=0)
Retrieves the probes interpolants for a given point for a single probe set.
Member Enlighten::GetProbeInterpolants (Geo::v128 point, const InterpolationInputSet *inputSets, Geo::s32 numInputSets, ProbeInterpolant *interpolants, Geo::s32 numMaxInterpolants, Geo::s32 &numUsedInterpolants, Geo::u32 lod=0)
Retrieves the probes interpolants for a given point for multiple probe set.
Member Enlighten::GetProbeInterpolantsUnchecked (Geo::v128 point, const InterpolationInputSet *inputSets, Geo::s32 numInputSets, ProbeInterpolant *interpolants, Geo::s32 numMaxInterpolants, Geo::s32 &numUsedInterpolants, Geo::u32 lod=0)
Retrieves the probes interpolants for a given point for multiple probe set, without performing any kind of validation on the input arguments.
Member Enlighten::GetProbeSetInterpolants (Geo::v128 point, const InterpolationInputSet *inputSets, Geo::s32 numInputSets, ProbeInterpolant *interpolants, Geo::s32 numMaxInterpolants, Geo::s32 &numUsedInterpolants)
Retrieves the probe set interpolants for a given point. Note that this function creates an interpolant for a probe set and not for an individual probe.
Member Enlighten::GetProbeShCoefficients (Geo::v128 point, const InterpolationInputSet *inputSets, Geo::s32 numInputSets, float *r, float *g, float *b, eSHOrder shOrder)
Retrieves the interpolated light probe spherical harmonics coefficients for a point based on multiple input probe sets.
Member Enlighten::GetProbeShCoefficients (Geo::v128 point, const InterpolationInputSet *inputSet, float *r, float *g, float *b, eSHOrder shOrder)
Retrieves the interpolated light probe spherical harmonics coefficients for a point based on a single input probe set. The interpolated coefficients get stored independently for each RGB channel in buffers that have to be provided to this function and which must be large enough to accommodate the coefficients that get generated. The number of generated coefficients depends on the requested SH order (L0, L1, L2), but also on the SH order of the probe set retrieved from the probe set metadata.
Member Enlighten::InitialiseMaterialAlbedoAsDynamic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InitialiseMaterialAlbedoAsStatic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InitialiseMaterialEmissiveAsDynamic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InitialiseMaterialEmissiveAsStatic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InitialiseMaterialTransparencyAsDynamic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InitialiseMaterialTransparencyAsStatic (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, void *workspaceMemory)
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.
Member Enlighten::InputWorkspaceDebugPoint::m_Albedo [3]
Gamma 2.0 corrected RGB 8-bit albedo. See replacement API GetDebugAlbedoValue()
Member Enlighten::InputWorkspaceDebugPoint::m_AreaLightId
The area light ID associated with this duster point. See replacement API GetDebugEmissiveValue()
Member Enlighten::InputWorkspaceDebugPoint::m_LightValue [3]
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.
Member Enlighten::IPrecompPackedInstance::GetInstanceIdx () const
Please use GetInstanceId() instead, which returns the same value but is more accurately named.
Member Enlighten::IPrecompute::ProjectGeometry (const IPrecompInputGeometry *pInputGeometry, Geo::IGeoProgressProxy *progress, IPrecompPackedGeometry *&oGeometry)=0
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.
Member Enlighten::IUpdateManager::AllocateCubeMap (const RadCubeMapCore *coreData)
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().
Member Enlighten::IUpdateManager::AllocateDynamicObject (const Enlighten::DynamicObject &dynamicObjectDesc, bool useVolumeTextures)=0
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::GetDynamicObjectTexture (Geo::GeoGuid objectId, Geo::s32 channel) const =0
Gets the output texture of the given channel for the given dynamic object (typically, so the application can use it for final rendering)
Member Enlighten::IUpdateManager::SetGpuTexture (Geo::GeoGuid cubeMapId, IGpuTexture *gpuTexture)=0
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.
Member Enlighten::IUpdateManager::SetGpuTexture (Geo::GeoGuid objectId, ProbeVolumeOutputTextureType textureType, IGpuTexture *gpuTexture)=0
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.
Member Enlighten::IUpdateManager::SetGpuTexture (Geo::GeoGuid systemId, OutputTextureType textureType, IGpuTexture *gpuTexture)=0
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.
Member Enlighten::PrecompInputFace::m_ChartTag
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.
Member Enlighten::ReadInputLightingBufferFromFile (const char *filename)
Read an InputLightingBuffer from file.
Member Enlighten::SetMaterialAlbedoColour (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, const Geo::v128 &newAlbedoColour, void *workspaceMemory)
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().
Member Enlighten::SetMaterialEmissiveColour (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, const Geo::v128 &newEmissiveColour, void *workspaceMemory)
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().
Member Enlighten::SetMaterialTransparency (DynamicMaterialWorkspace *materialWorkspace, const Enlighten::ClusterAlbedoWorkspaceMaterialData *materialData, const Geo::GeoGuid &instanceGuid, const Geo::GeoGuid &meshGuid, const Geo::GeoGuid &materialGuid, float newTransparency, void *workspaceMemory)
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
Member Enlighten::UpdateManagerProperties::m_TextureAllocator
Optional allocator for GPU output textures. Please provide textures directly to IUpdateManager::AllocateSystem or IUpdateManager::AllocateCubeMap.
Member Enlighten::WriteInputWorkspaceForInPlace (const InputWorkspace *inputWorkspace, Geo::IGeoStream &stream, Geo::EConvertEndianMode endianMode, Geo::ePlatform platform)
Parameter 'platform' is deprecated.
Member Enlighten::WriteRadProbeSetCoreForInPlace (const RadProbeSetCore *probeSet, Geo::IGeoStream &stream, Geo::EConvertEndianMode endianMode, Geo::u32 sections)
Parameter 'sections' is deprecated.
Member Geo::GeoArray< T >::Clone (const GeoArray &srcArray)
Assignment that returns a success/fail this->Clone(this) returns true
Member Geo::GeoArray< T >::Clone (const GeoArray< CompatT > &srcArray)
Assignment that returns a success/fail this->Clone(this) returns true
Member Geo::IffWriter::IsWriterOk () const
Prefer to use the IGeoStream::IsOk() method