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
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
void GEO_CALL Enlighten::FreeDataBlockContents
...
public: void GEO_CALL FreeDataBlockContents
(
RadDataBlock * block
)
...
Free a RadDataBlock object, and all the memory it owns.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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 |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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 |
Anchor | ||||
---|---|---|---|---|
|
Enlighten::PrecomputedVisibilityData *GEO_CALL Enlighten::ReadPrecomputedVisibilityDataFromFile
...
public: Enlighten::PrecomputedVisibilityData *GEO_CALL ReadPrecomputedVisibilityDataFromFile
(
const char * filename
)
...
Read a PrecomputedVisibilityData struct from a file.
Parameters
[in] | filename | - The name of the file to read |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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) |
Anchor | ||||
---|---|---|---|---|
|
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) |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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 |
Anchor | ||||
---|---|---|---|---|
|
bool GEO_CALL Enlighten::ReadRadTaskOutputFromFile
...
public: bool GEO_CALL ReadRadTaskOutputFromFile
(
Geo::s32 & outputWidth,
Geo::s32 & outputHeight,
eOutputFormat & outputFormat,
eOutputFormatByteOrder & outputFormatByteOrder,
void * irradianceOutput64,
void * irradianceOutput32,
void * directionalOutput,
const char * filename
)
...
Read the RadIrradianceTask results data from a file.
Please see ReadRadTaskOutput for details.
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] | filename | - The name of the rad task output file to read data from |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
bool GEO_CALL Enlighten::WriteDataBlock
...
public: bool GEO_CALL WriteDataBlock
(
const RadDataBlock & data,
Geo::IGeoStream & stream
)
...
Write a RadDataBlock to a Geo::IGeoStream.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
bool GEO_CALL Enlighten::WriteInputLightingBufferToFile
...
public: bool GEO_CALL WriteInputLightingBufferToFile
(
const Enlighten::InputLightingBuffer * inputLightingBuffer,
const char * filename
)
...
Write an InputLightingBuffer to file.
Parameters
[in] | inputLightingBuffer | - The InputLightingBuffer to write. |
[in] | filename | - The name of the file to write. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
bool GEO_CALL Enlighten::WritePrecomputedVisibilityDataToFile
...
public: bool GEO_CALL WritePrecomputedVisibilityDataToFile
(
const Enlighten::PrecomputedVisibilityData * visibilityData,
const char * filename
)
...
Write a PrecomputedVisibilityData structure to a file.
Parameters
[in] | visibilityData | - The PrecomputedVisibilityData structure data to write. |
[in] | filename | - The name of the file to write. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::WriteRadIrradianceTaskOutput
...
public: bool WriteRadIrradianceTaskOutput
(
const RadIrradianceTask * task,
Geo::IGeoStream & stream
)
...
Write the RadIrradianceTask results data to a file/stream.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::WriteRadIrradianceTaskOutputToFile
...
public: bool WriteRadIrradianceTaskOutputToFile
(
const RadIrradianceTask * task,
const char * filename
)
...
Write the RadIrradianceTask results data to a file/stream.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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. |
Anchor | ||||
---|---|---|---|---|
|
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.