Defines file formats for saving run-time data structures to file and provides helper classes to drive the run-time radiosity system.
The code for Enlighten Utilities is included in the SDK distribution so that you can:
Modify the way in which EnlightenPrecompute saves data to file.
See how to drive the radiosity run-time on different platforms and different threading models.
Functions
Enlighten::AlbedoBuffer *GEO_CALL Enlighten::CopyAlbedoBufferBuffer
public: Enlighten::AlbedoBuffer *GEO_CALL CopyAlbedoBufferBuffer
(
const Enlighten::InputWorkspace * inputWorkspace,
const Enlighten::AlbedoBuffer * sourceAlbedoBuffer
)
Copy an InputLightingBuffer object.
Parameters
[in] | inputWorkspace | - The Inputworkspace to use to create the input lighting buffer. |
[in] | sourceAlbedoBuffer | - The AlbedoBuffer to copy from. |
Enlighten::DynamicMaterialWorkspace *GEO_CALL Enlighten::CopyDynamicMaterialWorkspaceBuffer
public: Enlighten::DynamicMaterialWorkspace *GEO_CALL CopyDynamicMaterialWorkspaceBuffer
(
const Enlighten::InputWorkspace * inputWorkspace,
const Enlighten::DynamicMaterialWorkspace * materialWorkspace
)
Copy an DynamicMaterialWorkspace object.
Parameters
[in] | inputWorkspace | - The Inputworkspace to use to create the input lighting buffer. |
[in] | materialWorkspace | - The DynamicMaterialWorkspace to copy from. |
Enlighten::EmissiveBuffer *GEO_CALL Enlighten::CopyEmissiveBuffer
public: Enlighten::EmissiveBuffer *GEO_CALL CopyEmissiveBuffer
(
const Enlighten::InputWorkspace * inputWorkspace,
const Enlighten::EmissiveBuffer * sourceEmissiveBuffer
)
Copy an InputLightingBuffer object.
Parameters
[in] | inputWorkspace | - The InputWorkspace to use to create the input lighting buffer. |
[in] | sourceEmissiveBuffer | - The EmissiveBuffer to copy from. |
Enlighten::IncidentLightingBuffer *GEO_CALL Enlighten::CopyIncidentLightingBuffer
public: Enlighten::IncidentLightingBuffer *GEO_CALL CopyIncidentLightingBuffer
(
const Enlighten::InputWorkspace * inputWorkspace,
const Enlighten::IncidentLightingBuffer * sourceIncidentLightingBuffer
)
Copy an IncidentLightingBuffer object.
Parameters
[in] | inputWorkspace | - The Inputworkspace to use to create the input lighting buffer. |
[in] | sourceIncidentLightingBuffer | - TheIncidentLightingBuffer to copy from. |
Enlighten::InputLightingBuffer *GEO_CALL Enlighten::CopyInputLightingBuffer
public: Enlighten::InputLightingBuffer *GEO_CALL CopyInputLightingBuffer
(
const Enlighten::InputWorkspace * inputWorkspace,
const Enlighten::InputLightingBuffer * sourceInputLightingBuffer
)
Copy an InputLightingBuffer object.
Parameters
[in] | inputWorkspace | - The Inputworkspace to use to create the input lighting buffer. |
[in] | sourceInputLightingBuffer | - The InputLightingBuffer to copy from. |
void GEO_CALL Enlighten::CopyRadCubeMapCore
public: void GEO_CALL CopyRadCubeMapCore
(
const Enlighten::RadCubeMapCore * from,
Enlighten::RadCubeMapCore * to
)
Copies a RadCubeMapCore.
Parameters
[in] | from | - The core to copy from. |
[in] | to | - The core to copy to. |
void GEO_CALL Enlighten::CopyRadSystemCore
public: void GEO_CALL CopyRadSystemCore
(
const Enlighten::RadSystemCore * from,
Enlighten::RadSystemCore * to
)
Copies a RadSystemCore.
Parameters
[in] | from | - The core to copy from. |
[in] | to | - The core to copy to. |
void GEO_CALL Enlighten::DeleteAlbedoBuffer
public: void GEO_CALL DeleteAlbedoBuffer
(
Enlighten::AlbedoBuffer *& albedoBuffer
)
Free an AlbedoBuffer object, and all the memory it owns.
Parameters
[in] | albedoBuffer | - The AlbedoBuffer to free. |
void GEO_CALL Enlighten::DeleteClusterAlbedoWorkspaceMaterialData
public: void GEO_CALL DeleteClusterAlbedoWorkspaceMaterialData
(
Enlighten::ClusterAlbedoWorkspaceMaterialData *& materialData
)
Free an ClusterAlbedoWorkspaceMaterialData object, and all the memory (RadDataBlocks) it owns.
This is intended to be used to delete objects created with one of the ReadCluster* functions.
Parameters
[in] | materialData | - The ClusterAlbedoWorkspaceMaterialData to free. |
void GEO_CALL Enlighten::DeleteDynamicMaterialWorkspace
public: void GEO_CALL DeleteDynamicMaterialWorkspace
(
Enlighten::DynamicMaterialWorkspace *& materialWorkspace
)
Free an DynamicMaterialWorkspace object, and all the memory it owns.
Parameters
[in] | materialWorkspace | - The DynamicMaterialWorkspace to free. |
void GEO_CALL Enlighten::DeleteEmissiveBuffer
public: void GEO_CALL DeleteEmissiveBuffer
(
Enlighten::EmissiveBuffer *& emissiveBuffer
)
Free an EmissiveBuffer object, and all the memory it owns.
Parameters
[in] | emissiveBuffer | - The EmissiveBuffer to free. |
void GEO_CALL Enlighten::DeleteIncidentLightingBuffer
public: void GEO_CALL DeleteIncidentLightingBuffer
(
Enlighten::IncidentLightingBuffer *& incidentLightingBuffer
)
Free an IncidentLightingBuffer object, and all the memory it owns.
Parameters
[in] | incidentLightingBuffer | - The IncidentLightingBuffer to free. |
void GEO_CALL Enlighten::DeleteInputLightingBuffer
public: void GEO_CALL DeleteInputLightingBuffer
(
Enlighten::InputLightingBuffer *& inputLightingBuffer
)
Free an InputLightingBuffer object, and all the memory it owns.
Parameters
[in] | inputLightingBuffer | - The InputLightingBuffer to free. |
void GEO_CALL Enlighten::DeleteInputWorkspace
public: void GEO_CALL DeleteInputWorkspace
(
Enlighten::InputWorkspace *& inputWorkspace
)
Free an InputWorkspace object, and all the memory (RadDataBlocks) it owns.
Parameters
[in] | inputWorkspace | - The InputWorkspace to free. |
void GEO_CALL Enlighten::DeletePrecomputedVisibilityData
public: void GEO_CALL DeletePrecomputedVisibilityData
(
Enlighten::PrecomputedVisibilityData *& visibilityData
)
Free a PrecomputedVisibilityData object, and all the memory (RadDataBlocks) it owns.
Parameters
[in] | visibilityData | - The PrecomputedVisibilityData to free. |
void GEO_CALL Enlighten::DeleteRadCubeMapCore
public: void GEO_CALL DeleteRadCubeMapCore
(
Enlighten::RadCubeMapCore *& cubeMapCore
)
Free a RadCubeMapCore object, and all the memory (RadDataBlocks) it owns.
Parameters
[in] | cubeMapCore | - The RadCubeMapCore to free. |
void GEO_CALL Enlighten::DeleteRadProbeSetCore
public: void GEO_CALL DeleteRadProbeSetCore
(
Enlighten::RadProbeSetCore *& probeSet
)
Free a RadProbeSetCore object, and all the memory (RadDataBlocks) it owns.
Parameters
[in] | probeSet | - The RadProbeSetCore to free. |
void GEO_CALL Enlighten::DeleteRadSystemCore
public: void GEO_CALL DeleteRadSystemCore
(
Enlighten::RadSystemCore *& system
)
Free a RadSystemCore object, and all the memory (RadDataBlocks) it owns.
Parameters
[in] | system | - The RadSystemCore to free. |
void GEO_CALL Enlighten::DeleteTransparencyBuffer
public: void GEO_CALL DeleteTransparencyBuffer
(
Enlighten::TransparencyBuffer *& transparencyBuffer
)
Free a TransparencyBuffer object, and all the memory it owns.
Parameters
[in] | transparencyBuffer | - The TransparencyBuffer to free. |
void GEO_CALL Enlighten::FreeDataBlockContents
public: void GEO_CALL FreeDataBlockContents
(
RadDataBlock * block
)
Free a RadDataBlock object, and all the memory it owns.
const char* Enlighten::GetSolverSuffix
public: const char * GetSolverSuffix
(
eSolverType solverType
)
Defines a platform specific extension for some files, such as the InputWorkspace, that differ in content between platforms.
Enlighten::AlbedoBuffer *GEO_CALL Enlighten::ReadAlbedoBuffer
public: Enlighten::AlbedoBuffer *GEO_CALL ReadAlbedoBuffer
(
Geo::IGeoInputStream & stream
)
Read an AlbedoBuffer from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Enlighten::AlbedoBuffer *GEO_CALL Enlighten::ReadAlbedoBufferInPlace
public: AlbedoBuffer *GEO_CALL ReadAlbedoBufferInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::ClusterAlbedoWorkspaceMaterialData *GEO_CALL Enlighten::ReadClusterAlbedoWorkspaceMaterialData
public: Enlighten::ClusterAlbedoWorkspaceMaterialData *GEO_CALL ReadClusterAlbedoWorkspaceMaterialData
(
Geo::IGeoInputStream & stream,
Geo::u32 sections
)
Read an ClusterAlbedoWorkspaceMaterialData from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or Enlighten::Iff::ClusterAlbedoWorkspaceMaterialGuidsSection to load the optional material guids data |
Returns
Non-null if successful - remember to delete the pointer using DeleteClusterAlbedoWorkspaceMaterialData.
Enlighten::ClusterAlbedoWorkspaceMaterialData *GEO_CALL Enlighten::ReadClusterAlbedoWorkspaceMaterialDataFromFile
public: Enlighten::ClusterAlbedoWorkspaceMaterialData *GEO_CALL ReadClusterAlbedoWorkspaceMaterialDataFromFile
(
const char * filename,
Geo::u32 sections
)
Read an ClusterAlbedoWorkspaceMaterialData from file.
Parameters
[in] | filename | - The name of the file to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or Enlighten::Iff::ClusterAlbedoWorkspaceMaterialGuidsSection to load the optional material guids data |
Returns
Non-null if successful - remember to delete the pointer using DeleteClusterAlbedoWorkspaceMaterialData.
ClusterAlbedoWorkspaceMaterialData *GEO_CALL Enlighten::ReadClusterAlbedoWorkspaceMaterialDataInPlace
public: ClusterAlbedoWorkspaceMaterialData *GEO_CALL ReadClusterAlbedoWorkspaceMaterialDataInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
void GEO_CALL Enlighten::ReadDataBlock
public: void GEO_CALL ReadDataBlock
(
RadDataBlock * block,
Geo::IGeoInputStream & stream
)
Read a RadDataBlock from a Geo::IGeoInputStream. Will return an object that should be released with FreeDataBlockContents().
Always returns a relocatable data block.
void Enlighten::ReadDataBlockInPlace
public: void ReadDataBlockInPlace
(
RadDataBlock & block,
char *& ptr
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::DynamicMaterialWorkspace *GEO_CALL Enlighten::ReadDynamicMaterialWorkspace
public: Enlighten::DynamicMaterialWorkspace *GEO_CALL ReadDynamicMaterialWorkspace
(
Geo::IGeoInputStream & stream
)
Read an DynamicMaterialWorkspace from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Enlighten::DynamicMaterialWorkspace *GEO_CALL Enlighten::ReadDynamicMaterialWorkspaceInPlace
public: DynamicMaterialWorkspace *GEO_CALL ReadDynamicMaterialWorkspaceInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::EmissiveBuffer *GEO_CALL Enlighten::ReadEmissiveBuffer
public: Enlighten::EmissiveBuffer *GEO_CALL ReadEmissiveBuffer
(
Geo::IGeoInputStream & stream
)
Read an EmissiveBuffer from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Enlighten::EmissiveBuffer *GEO_CALL Enlighten::ReadEmissiveBufferInPlace
public: EmissiveBuffer *GEO_CALL ReadEmissiveBufferInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::IncidentLightingBuffer *GEO_CALL Enlighten::ReadIncidentLightingBuffer
public: Enlighten::IncidentLightingBuffer *GEO_CALL ReadIncidentLightingBuffer
(
Geo::IGeoInputStream & stream
)
Read an IncidentLightingBuffer from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Enlighten::IncidentLightingBuffer *GEO_CALL Enlighten::ReadIncidentLightingBufferInPlace
public: IncidentLightingBuffer *GEO_CALL ReadIncidentLightingBufferInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::InputLightingBuffer *GEO_CALL Enlighten::ReadInputLightingBuffer
public: Enlighten::InputLightingBuffer *GEO_CALL ReadInputLightingBuffer
(
Geo::IGeoInputStream & stream
)
Read an InputLightingBuffer from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Enlighten::InputLightingBuffer *GEO_CALL Enlighten::ReadInputLightingBufferInPlace
public: InputLightingBuffer *GEO_CALL ReadInputLightingBufferInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
Enlighten::InputWorkspace *GEO_CALL Enlighten::ReadInputWorkspace
public: Enlighten::InputWorkspace *GEO_CALL ReadInputWorkspace
(
Geo::IGeoInputStream & stream,
Geo::u32 sections
)
Read an InputWorkspace from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or Enlighten::Iff::DynamicInputWorkspaceDataSection to load the optional dynamic data and/or Enlighten::Iff::ProjectedPointsInputWorkspaceDataSection to load the optional duster projection data and/or Enlighten::Iff::HighQualityBounceCoordinateDataSection to load the optional high quality bounce data |
Returns
Non-null if successful - you must delete the pointer using DeleteInputWorkspace.
Enlighten::InputWorkspace *GEO_CALL Enlighten::ReadInputWorkspaceFromFile
public: Enlighten::InputWorkspace *GEO_CALL ReadInputWorkspaceFromFile
(
const char * filename,
Geo::u32 sections
)
Read an InputWorkspace from file.
Parameters
[in] | filename | - The name of the file to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or Enlighten::Iff::DynamicInputWorkspaceDataSection to load the optional dynamic data and/or Enlighten::Iff::ProjectedPointsInputWorkspaceDataSection to load the optional duster projection data and/or Enlighten::Iff::HighQualityBounceCoordinateDataSection to load the optional high quality bounce data |
InputWorkspace *GEO_CALL Enlighten::ReadInputWorkspaceInPlace
public: InputWorkspace *GEO_CALL ReadInputWorkspaceInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
void GEO_CALL Enlighten::ReadOptionalDataBlock
public: void GEO_CALL ReadOptionalDataBlock
(
RadDataBlock * dataBlock,
Geo::IGeoInputStream & stream,
Geo::u32 sections,
Geo::u32 optionalBlock
)
Read or skip a RadDataBlock in a Geo::IGeoInputStream, depending on the sections requested and the id of the block.
Enlighten::PrecomputedVisibilityData *GEO_CALL Enlighten::ReadPrecomputedVisibilityData
public: Enlighten::PrecomputedVisibilityData *GEO_CALL ReadPrecomputedVisibilityData
(
Geo::IGeoInputStream & stream
)
Read a PrecomputedVisibilityData struct from a stream.
Parameters
[in] | stream | - The Geo::IGeoStream to read |
PrecomputedVisibilityData *GEO_CALL Enlighten::ReadPrecomputedVisibilityDataInPlace
public: PrecomputedVisibilityData *GEO_CALL ReadPrecomputedVisibilityDataInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::ReadProbeTaskOutput
public: bool GEO_CALL ReadProbeTaskOutput
(
Enlighten::RadProbeTask * probeTask,
Geo::IGeoInputStream & stream
)
Read the RadProbeTask results data from a file/stream.
Note
The caller takes ownership of the loaded data, which includes deleting m_NumIndexesToSolve, m_OutputPointers and m_OutputPointers[0] (which is the main block of floats)
bool GEO_CALL Enlighten::ReadProbeTaskOutputFromFile
public: bool GEO_CALL ReadProbeTaskOutputFromFile
(
Enlighten::RadProbeTask * probeTask,
const char * filename
)
Read the RadProbeTask results data from a file/stream.
Note
The caller takes ownership of the loaded data, which includes deleting m_NumIndexesToSolve, m_OutputPointers and m_OutputPointers[0] (which is the main block of floats)
Enlighten::RadCubeMapCore *GEO_CALL Enlighten::ReadRadCubeMapCore
public: Enlighten::RadCubeMapCore *GEO_CALL ReadRadCubeMapCore
(
Geo::IGeoInputStream & stream
)
Read a RadCubeMapCore from a stream.
The data is written in little-endian format, so the loading code must handle this.
Parameters
[in] | stream | - The Geo::IGeoStream to read. |
Returns
Non-null if successful - you must delete the pointer using DeleteRadCubeMapCore.
Note
the RadDataBlock contained within the returned RadCubeMapCore is always relocatable after load.
Enlighten::RadCubeMapCore *GEO_CALL Enlighten::ReadRadCubeMapCoreFromFile
public: Enlighten::RadCubeMapCore *GEO_CALL ReadRadCubeMapCoreFromFile
(
const char * filename
)
Read a RadCubeMapCore from file.
The files are written in target-endian format, so the same loading code works for all platforms.
Parameters
[in] | filename | - The name of the file to read. |
Returns
Non-null if successful - you must delete the pointer using DeleteRadCubeMapCore.
Note
the RadDataBlock contained within the returned RadCubeMapCore is always relocatable after load.
RadCubeMapCore *GEO_CALL Enlighten::ReadRadCubeMapCoreInPlace
public: RadCubeMapCore *GEO_CALL ReadRadCubeMapCoreInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
RadProbeSetCore *GEO_CALL Enlighten::ReadRadProbeSetCore
public: Enlighten::RadProbeSetCore *GEO_CALL ReadRadProbeSetCore
(
Geo::IGeoInputStream & stream,
Geo::u32 sections
)
Read run-time probeset data from a file.
The files are written in target-endian format, so the same loading code works for all platforms.
Parameters
[in] | stream | - The Geo::IGeoStream to read |
[in] | sections | - Pass 0 to load no optional data or any combination of the following: Enlighten::Iff::ProbeSetPrecompSection Enlighten::Iff::EntireProbeSetPrecompSection Enlighten::Iff::ProbeSetInterpolationDataSection Enlighten::Iff::ProbeSetVisibilityDataSection Enlighten::Iff::ProbeSetDebugDataSection |
Returns
Non-null if successful - you must delete the pointer using DeleteRadProbeSetCore.
Note
the returned RadDataBlock is always relocatable.
RadProbeSetCore *GEO_CALL Enlighten::ReadRadProbeSetCoreFromFile
public: Enlighten::RadProbeSetCore *GEO_CALL ReadRadProbeSetCoreFromFile
(
const char * filename,
Geo::u32 sections
)
Read run-time probe set data from a file.
The files are written in target-endian format, so the same loading code works for all platforms. Note this doesn't do any endian swapping. It assumes you are reading/writing the file on the same platform.
Parameters
[in] | filename | - The name of the file to read |
[in] | sections | - Pass 0 to load no optional data or any combination of the following: Enlighten::Iff::ProbeSetPrecompSection Enlighten::Iff::EntireProbeSetPrecompSection Enlighten::Iff::ProbeSetInterpolationDataSection Enlighten::Iff::ProbeSetVisibilityDataSection Enlighten::Iff::ProbeSetDebugDataSection |
Returns
Non-null if successful - you must delete the pointer using DeleteRadProbeSetCore.
Note
the returned RadDataBlock is always relocatable.
RadProbeSetCore *GEO_CALL Enlighten::ReadRadProbeSetCoreInPlace
public: RadProbeSetCore *GEO_CALL ReadRadProbeSetCoreInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
RadSystemCore *GEO_CALL Enlighten::ReadRadSystemCore
public: Enlighten::RadSystemCore *GEO_CALL ReadRadSystemCore
(
Geo::IGeoInputStream & stream,
Geo::u32 sections
)
Read a RadSystemCore from a stream.
The data is written in little-endian format, so the loading code must handle this.
Parameters
[in] | stream | - The Geo::IGeoInputStream to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or a combination of Enlighten::Iff::ProjectionDataSection and/or Enlighten::Iff::DynamicRadiosityDataSection |
Returns
Non-null if successful - you must delete the pointer using DeleteRadSystemCore.
Note
the RadDataBlock contained within the returned RadSystemCore is always relocatable after load.
RadSystemCore *GEO_CALL Enlighten::ReadRadSystemCoreFromFile
public: Enlighten::RadSystemCore *GEO_CALL ReadRadSystemCoreFromFile
(
const char * filename,
Geo::u32 sections
)
Read a RadSystemCore from file.
The files are written in target-endian format, so the same loading code works for all platforms.
Parameters
[in] | filename | - The name of the file to read. |
[in] | sections | - Which of the optional data blocks to allocate and read. Pass 0 to load no optional data, or a combination of Enlighten::Iff::ProjectionDataSection and/or Enlighten::Iff::DynamicRadiosityDataSection |
Returns
Non-null if successful - you must delete the pointer using DeleteRadSystemCore.
Note
the RadDataBlock contained within the returned RadSystemCore is always relocatable after load.
RadSystemCore *GEO_CALL Enlighten::ReadRadSystemCoreInPlace
public: RadSystemCore *GEO_CALL ReadRadSystemCoreInPlace
(
char * data,
size_t Size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::ReadRadTaskOutput
public: bool GEO_CALL ReadRadTaskOutput
(
Geo::s32 & outputWidth,
Geo::s32 & outputHeight,
eOutputFormat & outputFormat,
eOutputFormatByteOrder & outputFormatByteOrder,
void * irradianceOutput64,
void * irradianceOutput32,
void * directionalOutput,
Geo::IGeoInputStream & stream
)
Read the RadIrradianceTask results data from a file/stream.
Note
If the output width or height are set to zero, then only the header of the file is read, and the width, height outputFormat and outputFormatByteOrder are filled in. The function then returns true. If the output size is non-zero, the function assumes that the various output pointers are large enough to hold the incoming data. In general, users should not have to call these functions in their integration.
Parameters
[out] | outputWidth | - The width of the output texture |
[out] | outputHeight | - The height of the output texture |
[out] | outputFormat | - The format of the output texture |
[out] | outputFormatByteOrder | - The byte order of the LRB irradiance/directional output texture |
[in] | irradianceOutput64 | - pointer large enough to hold 64-bit-per-pixel output data (e.g. FP16). Pass NULL if not required |
[in] | irradianceOutput32 | - pointer large enough to hold 32-bit-per-pixel output data (e.g. LRB). Pass NULL if not required |
[in] | directionalOutput | - pointer large enough to hold directional output data. Pass NULL if not required |
[in] | stream | - The file stream from which to read the rad task data from |
Enlighten::TransparencyBuffer *GEO_CALL Enlighten::ReadTransparencyBufferInPlace
public: TransparencyBuffer *GEO_CALL ReadTransparencyBufferInPlace
(
char * data,
size_t size
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
void GEO_CALL Enlighten::SkipDataBlock
public: void GEO_CALL SkipDataBlock
(
Geo::IGeoInputStream & stream
)
Skip a RadDataBlock in a Geo::IGeoStream. Will advance the stream past a RadDataBlock without reading the contents.
bool GEO_CALL Enlighten::WriteAlbedoBuffer
public: bool GEO_CALL WriteAlbedoBuffer
(
const Enlighten::AlbedoBuffer * albedoBuffer,
Geo::IGeoStream & stream
)
Write an AlbedoBuffer to a stream.
Parameters
[in] | albedoBuffer | - The AlbedoBuffer to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WriteAlbedoBufferForInPlace
public: bool GEO_CALL WriteAlbedoBufferForInPlace
(
const AlbedoBuffer * albedoBuffer,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteClusterAlbedoWorkspaceMaterialData
public: bool GEO_CALL WriteClusterAlbedoWorkspaceMaterialData
(
const Enlighten::ClusterAlbedoWorkspaceMaterialData * materialData,
Geo::IGeoStream & stream
)
Write an ClusterAlbedoWorkspaceMaterialData to a stream, ready to be loaded on the target platform.
Parameters
[in] | materialData | - The ClusterAlbedoWorkspaceMaterialData to write. |
[in] | stream | - The Geo::IGeoStream to write to. |
bool GEO_CALL Enlighten::WriteClusterAlbedoWorkspaceMaterialDataForInPlace
public: bool GEO_CALL WriteClusterAlbedoWorkspaceMaterialDataForInPlace
(
const ClusterAlbedoWorkspaceMaterialData * materialData,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteClusterAlbedoWorkspaceMaterialDataToFile
public: bool GEO_CALL WriteClusterAlbedoWorkspaceMaterialDataToFile
(
const Enlighten::ClusterAlbedoWorkspaceMaterialData * materialData,
const char * filename
)
Write an ClusterAlbedoWorkspaceMaterialData to file, ready to be loaded on the target platform.
Parameters
[in] | materialData | - The ClusterAlbedoWorkspaceMaterialData to write. |
[in] | filename | - The name of the file to write. |
bool GEO_CALL Enlighten::WriteDataBlock
public: bool GEO_CALL WriteDataBlock
(
const RadDataBlock & data,
Geo::IGeoStream & stream
)
Write a RadDataBlock to a Geo::IGeoStream.
void * Enlighten::WriteDataBlockForInPlace
public: void * WriteDataBlockForInPlace
(
const RadDataBlock & block,
char *& ptr
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteDynamicMaterialWorkspace
public: bool GEO_CALL WriteDynamicMaterialWorkspace
(
const Enlighten::DynamicMaterialWorkspace * materialWorkspace,
Geo::IGeoStream & stream
)
Write an DynamicMaterialWorkspace to a stream.
Parameters
[in] | materialWorkspace | - The DynamicMaterialWorkspace to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WriteDynamicMaterialWorkspaceForInPlace
public: bool GEO_CALL WriteDynamicMaterialWorkspaceForInPlace
(
const DynamicMaterialWorkspace * workspace,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteEmissiveBuffer
public: bool GEO_CALL WriteEmissiveBuffer
(
const Enlighten::EmissiveBuffer * emissiveBuffer,
Geo::IGeoStream & stream
)
Write an EmissiveBuffer to a stream.
Parameters
[in] | emissiveBuffer | - The EmissiveBuffer to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WriteEmissiveBufferForInPlace
public: bool GEO_CALL WriteEmissiveBufferForInPlace
(
const EmissiveBuffer * emissiveBuffer,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteIncidentLightingBuffer
public: bool GEO_CALL WriteIncidentLightingBuffer
(
const Enlighten::IncidentLightingBuffer * incidentLightingBuffer,
Geo::IGeoStream & stream
)
Write an IncidentLightingBuffer to a stream.
Parameters
[in] | incidentLightingBuffer | - The IncidentLightingBuffer to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WriteIncidentLightingBufferForInPlace
public: bool GEO_CALL WriteIncidentLightingBufferForInPlace
(
const IncidentLightingBuffer * incidentLightingBuffer,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteInputLightingBuffer
public: bool GEO_CALL WriteInputLightingBuffer
(
const Enlighten::InputLightingBuffer * inputLightingBuffer,
Geo::IGeoStream & stream
)
Write an InputLightingBuffer to a stream.
Parameters
[in] | inputLightingBuffer | - The InputLightingBuffer to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WriteInputLightingBufferForInPlace
public: bool GEO_CALL WriteInputLightingBufferForInPlace
(
const InputLightingBuffer * inputLightingBuffer,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteInputWorkspace
public: bool GEO_CALL WriteInputWorkspace
(
const Enlighten::InputWorkspace * inputWorkspace,
Geo::IGeoStream & stream
)
Write an InputWorkspace to a stream, ready to be loaded on the target platform.
Parameters
[in] | inputWorkspace | - The InputWorkspace to write. |
[in] | stream | - The Geo::IGeoStream to write to. |
bool GEO_CALL Enlighten::WriteInputWorkspaceForInPlace
public: bool GEO_CALL WriteInputWorkspaceForInPlace
(
const InputWorkspace * inputWorkspace,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteInputWorkspaceToFile
public: bool GEO_CALL WriteInputWorkspaceToFile
(
const Enlighten::InputWorkspace * inputWorkspace,
const char * filename
)
Write an InputWorkspace to file, ready to be loaded on the target platform.
Parameters
[in] | inputWorkspace | - The InputWorkspace to write. |
[in] | filename | - The name of the file to write. |
bool GEO_CALL Enlighten::WritePrecomputedVisibilityData
public: bool GEO_CALL WritePrecomputedVisibilityData
(
const Enlighten::PrecomputedVisibilityData * visibilityData,
Geo::IGeoStream & stream
)
Write a PrecomputedVisibilityData structure to a stream.
Parameters
[in] | visibilityData | - The PrecomputedVisibilityData structure data to write. |
[in] | stream | - The Geo::IGeoStream to write. |
bool GEO_CALL Enlighten::WritePrecomputedVisibilityDataForInPlace
public: bool GEO_CALL WritePrecomputedVisibilityDataForInPlace
(
const PrecomputedVisibilityData * visibilityData,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteProbeTaskOutput
public: bool GEO_CALL WriteProbeTaskOutput
(
const Enlighten::RadProbeTask * probeTask,
Geo::IGeoStream & stream
)
Write the RadProbeTask results data to a file/stream.
bool GEO_CALL Enlighten::WriteProbeTaskOutputToFile
public: bool GEO_CALL WriteProbeTaskOutputToFile
(
const Enlighten::RadProbeTask * probeTask,
const char * filename
)
Write the RadProbeTask results data to a file/stream.
bool GEO_CALL Enlighten::WriteRadCubeMapCore
public: bool GEO_CALL WriteRadCubeMapCore
(
const Enlighten::RadCubeMapCore * cubeMapCore,
Geo::IGeoStream & stream
)
Write a RadCubeMapCore to a stream, ready to be loaded on the target platform.
Parameters
[in] | cubeMapCore | - The RadCubeMapCore to write. |
[in] | stream | - The Geo::IGeoStream to write to. |
Note
the RadDataBlock contained in the RadCubeMapCore must be relocatable for this function to succeed.
bool GEO_CALL Enlighten::WriteRadCubeMapCoreForInPlace
public: bool GEO_CALL WriteRadCubeMapCoreForInPlace
(
const RadCubeMapCore * cubeMap,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteRadCubeMapCoreToFile
public: bool GEO_CALL WriteRadCubeMapCoreToFile
(
const Enlighten::RadCubeMapCore * cubeMapCore,
const char * filename
)
Write a RadCubeMapCore to file, ready to be loaded on the target platform.
Parameters
[in] | cubeMapCore | - The RadCubeMapCore to write. |
[in] | filename | - The name of the file to write. |
Note
the RadDataBlock contained in the RadCubeMapCore must be relocatable for this function to succeed.
bool Enlighten::WriteRadIrradianceTaskOutput
public: bool WriteRadIrradianceTaskOutput
(
const RadIrradianceTask * task,
Geo::IGeoStream & stream
)
Write the RadIrradianceTask results data to a file/stream.
bool Enlighten::WriteRadIrradianceTaskOutputToFile
public: bool WriteRadIrradianceTaskOutputToFile
(
const RadIrradianceTask * task,
const char * filename
)
Write the RadIrradianceTask results data to a file/stream.
bool GEO_CALL Enlighten::WriteRadProbeSetCore
public: bool GEO_CALL WriteRadProbeSetCore
(
const Enlighten::RadProbeSetCore * probeSet,
Geo::IGeoStream & stream
)
Write run-time probeset data to a stream, ready to be loaded on the target platform.
Parameters
[in] | probeSet | - The probe set data to write. |
[in] | stream | - The Geo::IGeoStream to write. |
Note
the RadDataBlock must be relocatable for this function to succeed.
bool GEO_CALL Enlighten::WriteRadProbeSetCoreForInPlace
public: bool GEO_CALL WriteRadProbeSetCoreForInPlace
(
const RadProbeSetCore * probeSet,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteRadProbeSetCoreToFile
public: bool GEO_CALL WriteRadProbeSetCoreToFile
(
const Enlighten::RadProbeSetCore * probeSet,
const char * filename
)
Write run-time probeset data to file, ready to be loaded on the target platform.
The data is written in little-endian format, so the loading code must handle this.
Parameters
[in] | probeSet | - The probe set data to write. |
[in] | filename | - The name of the file to write. |
Note
the RadDataBlock must be relocatable for this function to succeed.
bool GEO_CALL Enlighten::WriteRadSystemCore
public: bool GEO_CALL WriteRadSystemCore
(
const Enlighten::RadSystemCore * system,
Geo::IGeoStream & stream
)
Write a RadSystemCore to a stream, ready to be loaded on the target platform.
Parameters
[in] | system | - The RadSystemCore to write. |
[in] | stream | - The Geo::IGeoStream to write to. |
Note
the RadDataBlock contained in the RadSystemCore must be relocatable for this function to succeed.
bool GEO_CALL Enlighten::WriteRadSystemCoreForInPlace
public: bool GEO_CALL WriteRadSystemCoreForInPlace
(
const RadSystemCore * system,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.
bool GEO_CALL Enlighten::WriteRadSystemCoreToFile
public: bool GEO_CALL WriteRadSystemCoreToFile
(
const Enlighten::RadSystemCore * system,
const char * filename
)
Write a RadSystemCore to file, ready to be loaded on the target platform.
Parameters
[in] | system | - The RadSystemCore to write. |
[in] | filename | - The name of the file to write. |
Note
the RadDataBlock contained in the RadSystemCore must be relocatable for this function to succeed.
bool GEO_CALL Enlighten::WriteTransparencyBufferForInPlace
public: bool GEO_CALL WriteTransparencyBufferForInPlace
(
const TransparencyBuffer * transparencyBuffer,
Geo::IGeoStream & stream,
Geo::EConvertEndianMode endianMode
)
These utilities perform in-place fixup of the various enlighten data structures.
Make sure any buffers passed to Read*InPlace functions are 16 byte aligned.