#include <optix_types.h>
Public Attributes | |
const CUdeviceptr * | vertexBuffers |
unsigned int | vertexStrideInBytes |
unsigned int | numVertices |
const CUdeviceptr * | radiusBuffers |
unsigned int | radiusStrideInBytes |
int | singleRadius |
const unsigned int * | flags |
unsigned int | numSbtRecords |
CUdeviceptr | sbtIndexOffsetBuffer |
unsigned int | sbtIndexOffsetSizeInBytes |
unsigned int | sbtIndexOffsetStrideInBytes |
unsigned int | primitiveIndexOffset |
Sphere inputs.
A sphere is defined by a center point and a radius. Each center point is represented by a vertex in the vertex buffer. There is either a single radius for all spheres, or the radii are represented by entries in the radius buffer.
The vertex buffers and radius buffers point to a host array of device pointers, one per motion step. Host array size must match the number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 0 or 1). Each per motion key device pointer must point to an array of vertices corresponding to the center points of the spheres, or an array of 1 or N radii. Format OPTIX_VERTEX_FORMAT_FLOAT3 is used for vertices, OPTIX_VERTEX_FORMAT_FLOAT for radii.
const unsigned int* OptixBuildInputSphereArray::flags |
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the primitive behavior, size must match numSbtRecords.
unsigned int OptixBuildInputSphereArray::numSbtRecords |
Number of sbt records available to the sbt index offset override.
unsigned int OptixBuildInputSphereArray::numVertices |
Number of vertices in each buffer in vertexBuffers.
unsigned int OptixBuildInputSphereArray::primitiveIndexOffset |
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitives must not overflow 32bits.
const CUdeviceptr* OptixBuildInputSphereArray::radiusBuffers |
Parallel to vertexBuffers: a device pointer per motion step, each with numRadii float values, specifying the sphere radius corresponding to each vertex.
unsigned int OptixBuildInputSphereArray::radiusStrideInBytes |
Stride between radii. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).
CUdeviceptr OptixBuildInputSphereArray::sbtIndexOffsetBuffer |
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in range [0,numSbtRecords-1]. Size needs to be the number of primitives.
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetSizeInBytes |
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetStrideInBytes |
Stride between the sbt index offsets. If set to zero, the offsets are assumed to be tightly packed and the stride matches the size of the type (sbtIndexOffsetSizeInBytes).
int OptixBuildInputSphereArray::singleRadius |
Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in radiusBuffers equals numVertices.
const CUdeviceptr* OptixBuildInputSphereArray::vertexBuffers |
Pointer to host array of device pointers, one per motion step. Host array size must match number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 1). Each per-motion-key device pointer must point to an array of floats (the center points of the spheres).
unsigned int OptixBuildInputSphereArray::vertexStrideInBytes |
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).