...
Name | Description |
---|---|
Enlighten::InstanceDescMinimal | Minimal description of an instance. |
Enlighten::IPrecompBuildParameters | A class containing various parameters and dials for the system level precompute process. |
Enlighten::IPrecompCubeMapBuildParameters | Precompute parameters for cube maps. |
Enlighten::IPrecompCubeMapCore | A class containing a data block that is used by the run-time to generate cube maps. |
Enlighten::IPrecompDepthCubeMap | Handle to the depth cube map data. |
Enlighten::IPrecompGeneratedSystems | Result of the the IPrecompute::CreateSystemsByVoxelisation() call. |
Enlighten::IPrecompInputCubeMap | A class representing a cube map object which the run-time can generate dynamically. |
Enlighten::IPrecompInputGeometry | Handle to the InputGeometry. |
Enlighten::IPrecompInputItemDependencies | A collection of item dependencies. |
Enlighten::IPrecompInputMesh | The standard precompute mesh input class. |
Enlighten::IPrecompInputProbeOctree | Represents a region of 3D space within which sets of probe positions are adaptively generated. |
Enlighten::IPrecompInputProbeRegion | Represents a region of 3D space voxelized at various resolutions. |
Enlighten::IPrecompInputProbeSet | A class representing a set of sample points for which the run-time can generate spherical harmonic representations of the diffuse light incident on each sample point. |
Enlighten::IPrecompInputSystem | Handle to the InputSystem. |
Enlighten::IPrecompMeshValidation | An interface containing methods for analyzing meshes. |
Enlighten::IPrecompOutputCubeMap | Handle to the precompute output data for cube maps. |
Enlighten::IPrecompOutputProbeOctree | A class representing an octree which defines sets of probe positions within a volume. |
Enlighten::IPrecompOutputProbeSet | Handle to the LightTransport data for probesets. |
Enlighten::IPrecompPackedGeometry | Handle to the PackedGeometry. |
Enlighten::IPrecompPackedInstance | Handle to the PackedInstance. |
Enlighten::IPrecompPackedSystem | Class encapsulating the geometry and additional data for a system, light-mapped or otherwise. |
Enlighten::IPrecompProbeSetBuildParameters | A class defining parameters for SH sample probe building. |
Enlighten::IPrecompProbeSetRadiosity | A class containing a set of data blocks that are used by the run-time to generate SH representations for the related IPrecompInputProbeSet. |
Enlighten::IPrecompRadiosityNormalTexture | Handle to the radiosity normal texture. |
Enlighten::IPrecompSystemClustering | Handle to the SystemClustering. |
Enlighten::IPrecompSystemCompressedLightTransport | Handle to a compressed SystemLightTransport. |
Enlighten::IPrecompSystemDependencies | Handle to the SystemDependencies. |
Enlighten::IPrecompSystemDuster | Handle to the platform-agnostic input sample points (dusters). |
Enlighten::IPrecompSystemLightTransport | Handle to the SystemLightTransport. |
Enlighten::IPrecompSystemPreClustering | Handle to the SystemPreClustering. |
Enlighten::IPrecompSystemRadiosity | Handle to the SystemRadiosity. |
Enlighten::IPrecompSystemsDependencies | Holds IPrecompSystemDependencies for multiple systems. |
Enlighten::IPrecompute | The Low Level Enlighten Precompute API. |
Enlighten::IPrecompVolumeQuery | A class representing a region of 3D space which can be tested for intersection against an axis-aligned box. |
Enlighten::PointProjectionOptions | Projection options for the point projection functionality. |
Enlighten::PointProjectionSurface | A surface we can project points onto. |
Enlighten::PointProjectionVersion | Description of the point projection of one instance to a set of surfaces. |
Enlighten::PrecompInputFace | A face (triangle) in EnlightenPrecomp input geometry. |
Enlighten::PrecompInputInstance | A simple class housing the data required with each stand-alone instance of some geometry. |
Enlighten::PrecompInputOctreeBoxSet | A set of boxes for which probes will be placed at the specified resolution. |
Enlighten::PrecompInputOctreePointSet | A set of points for which probes will be placed at the specified resolution. |
Enlighten::PrecompInputOctreeVolume | A volume for which probes will be placed at the specified resolution. |
Enlighten::PrecompInputVertex | A vertex in EnlightenPrecomp input geometry. |
Enlighten::PrecompMeshIdentifier | Simple struct to identify an IPrecompInputMesh with the name and GUID of the geom and the index and GUID of the mesh. |
Enlighten::PrecompMeshProperties | Properties of input meshes. |
Enlighten::PrecompVolumeQueryBox | An example implementation of IPrecompVolumeQuery which defines a region of 3D space as a set of boxes. |
Enlighten::SystemDependencies | A list of system dependencies. |
Enlighten::SystemGrouping | A groupings of instances into systems. |
Geo::IdentVertLinkBuilder | A utility for identifying pairs of "identical" vertices in a vertex buffer. |
Geo::IdxLink | A link between two vertices. |
Geo::TriGroupSelection | Utility for doing vertex-based chart identification. |
...
...
[in] | instances | The instances in the systems. |
[in] | numInstances | The number of instances. |
[in] | iSystemGrouping | A list of system groups. Each group contains indices into the input array of instances. |
[out] | oSystemDependencies | The system dependencies. |
Returns
0 if successful, otherwise a non-zero value.
...
Geo::s32 GEO_CALL Enlighten::GroupInstancesIntoSystems
public: Geo::s32GEO_CALL GroupInstancesIntoSystems
(
const Enlighten::InstanceDescMinimal< IPrecompPackedGeometry > * instances,
Geo::s32 numInstances,
Enlighten::SystemGrouping *& oSystemGrouping,
Geo::s32 targetNumPixels
)
Group instances into systems.
Nearby instances are grouped such that the total number of output pixels in a group do not exceed 'targetNumPixels'. Note: This assumes that no single instance has more output pixels than 'targetNumPixels'.
The algorithm starts with a single group of all instances. It then proceeds to recursively subdivide this group binarily until the estimated number of output pixels of the instances in the group falls below 'targetNumPixels' or there is just a single instance in the group. Subdivision planes are axis aligned and at each iteration all six possible planes of all the instances in the current group are considered and the subdivision plane that performs the best - i.e. the groups one either side of the plane has a similar number of output pixels - is chosen to split the group into two groups.
Parameters
[in] | instances | The instances to group into systems. |
[in] | numInstances | The number of instances. |
[out] | oSystemGrouping | A list of system groups. Each group contains indices into the input array of instances. |
[in] | targetNumPixels | The desired number of pixels in each generated system. Currently, defaults to 16384, which is a mid-sized system with an output texture of 128x128. |
Returns
0 if successful, otherwise a non-zero value.
...
This later gets overridden
Parameters
[in] | outputInstance | The output instance |
[in] | uvScale | The UV scaling to apply to the instance chart |
[in] | precompBlockSize | The block size used when testing charts in the packing |
...
Each levels correspond to a number of rays that get generated and cast per pixel.
Info | ||
---|---|---|
| ||
ePrecompQuality |
enumerators
PCMQ_LOW | |
PCMQ_MEDIUM | The default. |
PCMQ_HIGH | |
PCMQ_VERY_HIGH |
...
Each levels correspond to a number of rays that get generated and than cast over the sphere and/or hemisphere. More rays result in a better approximation and therefore higher quality.
Info | ||
---|---|---|
| ||
ePrecompCubeMapQuality |
enumerators
PCQ_DEBUG | |
PCQ_DRAFT | |
PCQ_LOW | |
PCQ_MEDIUM | |
PCQ_HIGH | |
PCQ_VERY_HIGH |
...
GEOM_BUILD_SUCCESS | The geometry was built successfully. |
GEOM_BUILD_INVALID_MESH_INPUT | A mesh failed validation, or the geometry's output pixel size or atlas width/height was invalid. |
GEOM_BUILD_INVALID_MESH_PROPERTIES | The flags and/or parameters of a mesh were invalid, or the geometry contained no input mesh or no output mesh. |
GEOM_BUILD_PRECOMPUTE_FAILURE | An internal precompute error occurred. Contact Enlighten support. |
GEOM_BUILD_EMPTY | The geometry contained no meshes. |
GEOM_BUILD_USER_CANCELLED | The user cancelled the geometry build. |
GEOM_BUILD_INVALID_TERRAIN | Geometry is marked up as terrain, but has invalid terrain properties. |
GEOM_BUILD_INVALID_GEOM_PROPERTIES | Geometry has invalid properties. |
...