PxSDFDesc#
Defined in include/cooking/PxSDFDesc.h
-
class PxSDFDesc#
A structure describing signed distance fields (SDF) for triangle meshes.
SDF colliders only work when the GPU solver is used to run the simulation. The GPU solver is enabled by setting the flag PxSceneFlag::eENABLE_GPU_DYNAMICS in the scene description.
Public Functions
-
inline PxSDFDesc()#
Constructor.
-
inline bool isValid() const#
Returns true if the descriptor is valid.
- Returns:
true if the current settings are valid
Public Members
-
PxBoundedData sdf#
Pointer to first sdf array element.
-
PxU32 subgridSize#
The number of cells in a sparse subgrid block (full block has subgridSize^3 cells and (subgridSize+1)^3 samples).
If set to zero, this indicates that only a dense background grid SDF is used without sparse blocks
-
PxSdfBitsPerSubgridPixel::Enum bitsPerSubgridPixel#
Enumeration that defines the number of bits per subgrid pixel (either 32, 16 or 8bits)
-
PxDim3 sdfSubgrids3DTexBlockDim#
Number of subgrid blocks in the 3d texture.
The full texture dimension will be sdfSubgrids3DTexBlockDim*(subgridSize+1).
-
PxBoundedData sdfSubgrids#
The data to create the 3d texture containg the packed subgrid blocks.
Stored as PxU8 to support multiple formats (8, 16 and 32 bits per pixel)
-
PxBoundedData sdfStartSlots#
Array with start indices into the subgrid texture for every subgrid block.
10bits for z coordinate, 10bits for y and 10bits for x. Encoding is as follows: slot = (z << 20) | (y << 10) | x
-
PxReal subgridsMinSdfValue#
The minimum value over all subgrid blocks.
Used if normalized textures are used which is the case for 8 and 16bit formats
-
PxReal subgridsMaxSdfValue#
The maximum value over all subgrid blocks.
Used if normalized textures are used which is the case for 8 and 16bit formats
-
PxBounds3 sdfBounds#
The bounds of the sdf.
If left unassigned (empty), the bounds of the mesh will be used
-
PxReal narrowBandThicknessRelativeToSdfBoundsDiagonal#
Narrow band thickness as a fraction of the bounds diagonal length.
Every subgrid block that overlaps with the narrow band around the mesh surface will be kept providing high resolution around the mesh surface. The valid range of this parameter is (0, 1). The higher the value, the more subgrids will get created, the more memory will be required.
-
PxU32 numThreadsForSdfConstruction#
The number of threads that are launched to compute the signed distance field.
-
PxSimpleTriangleMesh baseMesh#
Optional pointer to the geometry of the mesh that is used to compute the SDF.
If it is not set, the geometry of the mesh, that this descriptor is passed to during cooking, will be taken. The mesh data must only be available during cooking. It can be released once cooking completed.
-
PxSDFBuilder *sdfBuilder#
Optional pointer to an instance of a SDF builder.
This significantly speeds up the construction of the SDF since the default SDF builder will do almost all computations directly on the GPU. The user must release the instance of the SDF builder once cooking completed.
-
inline PxSDFDesc()#