NVIDIA OptiX 7.7 nvidia_logo_transpbg.gif Up
OptixBuildInputSphereArray Struct Reference

#include <optix_types.h>

Public Attributes

const CUdeviceptrvertexBuffers
 
unsigned int vertexStrideInBytes
 
unsigned int numVertices
 
const CUdeviceptrradiusBuffers
 
unsigned int radiusStrideInBytes
 
int singleRadius
 
const unsigned int * flags
 
unsigned int numSbtRecords
 
CUdeviceptr sbtIndexOffsetBuffer
 
unsigned int sbtIndexOffsetSizeInBytes
 
unsigned int sbtIndexOffsetStrideInBytes
 
unsigned int primitiveIndexOffset
 

Detailed Description

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.

See also
OptixBuildInput::sphereArray

Member Data Documentation

 flags

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.

 numSbtRecords

unsigned int OptixBuildInputSphereArray::numSbtRecords

Number of sbt records available to the sbt index offset override.

 numVertices

unsigned int OptixBuildInputSphereArray::numVertices

Number of vertices in each buffer in vertexBuffers.

 primitiveIndexOffset

unsigned int OptixBuildInputSphereArray::primitiveIndexOffset

Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitives must not overflow 32bits.

 radiusBuffers

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.

 radiusStrideInBytes

unsigned int OptixBuildInputSphereArray::radiusStrideInBytes

Stride between radii. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).

 sbtIndexOffsetBuffer

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.

 sbtIndexOffsetSizeInBytes

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).

 sbtIndexOffsetStrideInBytes

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).

 singleRadius

int OptixBuildInputSphereArray::singleRadius

Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in radiusBuffers equals numVertices.

 vertexBuffers

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).

 vertexStrideInBytes

unsigned int OptixBuildInputSphereArray::vertexStrideInBytes

Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).