Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion optix/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.1.1"
__version__ = "0.1.2"
108 changes: 89 additions & 19 deletions optix/build.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,13 @@ cdef extern from "optix.h" nogil:
float timeBegin
float timeEnd


cdef struct OptixAccelBuildOptions:
unsigned int buildFlags
OptixBuildOperation operation
OptixMotionOptions motionOptions


cdef enum OptixBuildInputType:
OPTIX_BUILD_INPUT_TYPE_TRIANGLES,
OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES,
Expand All @@ -51,6 +53,7 @@ cdef extern from "optix.h" nogil:
CUdeviceptr instances
unsigned int numInstances


cdef struct OptixAabb:
float minX
float minY
Expand All @@ -59,6 +62,7 @@ cdef extern from "optix.h" nogil:
float maxY
float maxZ


cdef struct OptixBuildInputCustomPrimitiveArray:
const CUdeviceptr * aabbBuffers
unsigned int numPrimitives
Expand All @@ -70,19 +74,39 @@ cdef extern from "optix.h" nogil:
unsigned int sbtIndexOffsetStrideInBytes
unsigned int primitiveIndexOffset

IF _OPTIX_VERSION_MAJOR == 7 and _OPTIX_VERSION_MINOR > 3: # switch to new instance flags

IF _OPTIX_VERSION_MAJOR == 7 and _OPTIX_VERSION_MINOR > 4: # switch to new instance flags
cdef enum OptixPrimitiveType:
OPTIX_PRIMITIVE_TYPE_CUSTOM,
OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR,
OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM,
OPTIX_PRIMITIVE_TYPE_SPHERE,
OPTIX_PRIMITIVE_TYPE_TRIANGLE,
ELIF _OPTIX_VERSION_MAJOR == 7 and _OPTIX_VERSION_MINOR > 3:
cdef enum OptixPrimitiveType:
OPTIX_PRIMITIVE_TYPE_CUSTOM,
OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR,
OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM,
OPTIX_PRIMITIVE_TYPE_TRIANGLE,
ELSE:
cdef enum OptixPrimitiveType:
OPTIX_PRIMITIVE_TYPE_CUSTOM,
OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR,
OPTIX_PRIMITIVE_TYPE_TRIANGLE,


IF _OPTIX_VERSION_MAJOR == 7 and _OPTIX_VERSION_MINOR > 3: # switch to new instance flags
cdef enum OptixCurveEndcapFlags:
OPTIX_CURVE_ENDCAP_DEFAULT,
OPTIX_CURVE_ENDCAP_ON


cdef struct OptixBuildInputCurveArray:
OptixPrimitiveType curveType
unsigned int numPrimitives
Expand All @@ -99,13 +123,6 @@ cdef extern from "optix.h" nogil:
unsigned int primitiveIndexOffset
unsigned int endcapFlags
ELSE:
cdef enum OptixPrimitiveType:
OPTIX_PRIMITIVE_TYPE_CUSTOM,
OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE,
OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR,
OPTIX_PRIMITIVE_TYPE_TRIANGLE,

cdef struct OptixBuildInputCurveArray:
OptixPrimitiveType curveType
unsigned int numPrimitives
Expand All @@ -121,11 +138,13 @@ cdef extern from "optix.h" nogil:
unsigned int flag
unsigned int primitiveIndexOffset


cdef enum OptixIndicesFormat:
OPTIX_INDICES_FORMAT_NONE,
OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3,
OPTIX_INDICES_FORMAT_UNSIGNED_INT3


cdef enum OptixVertexFormat:
OPTIX_VERTEX_FORMAT_NONE,
OPTIX_VERTEX_FORMAT_FLOAT3,
Expand All @@ -135,14 +154,23 @@ cdef extern from "optix.h" nogil:
OPTIX_VERTEX_FORMAT_SNORM16_3,
OPTIX_VERTEX_FORMAT_SNORM16_2


cdef enum OptixTransformFormat:
OPTIX_TRANSFORM_FORMAT_NONE,
OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12,

cdef enum OptixGeometryFlags:
OPTIX_GEOMETRY_FLAG_NONE,
OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT,
OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL

IF _OPTIX_VERSION > 70400: # switch to new geometry flags
cdef enum OptixGeometryFlags:
OPTIX_GEOMETRY_FLAG_NONE,
OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT,
OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL
OPTIX_GEOMETRY_FLAG_DISABLE_TRIANGLE_FACE_CULLING
ELSE:
cdef enum OptixGeometryFlags:
OPTIX_GEOMETRY_FLAG_NONE,
OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT,
OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL

cdef struct OptixBuildInputTriangleArray:
const CUdeviceptr * vertexBuffers
Expand All @@ -162,32 +190,63 @@ cdef extern from "optix.h" nogil:
unsigned int primitiveIndexOffset
OptixTransformFormat transformFormat

cdef struct OptixBuildInput:
OptixBuildInputType type
# union
OptixBuildInputTriangleArray triangleArray
OptixBuildInputCurveArray curveArray
OptixBuildInputCustomPrimitiveArray customPrimitiveArray
OptixBuildInputInstanceArray instanceArray

IF _OPTIX_VERSION > 70400: # switch to new geometry flags
cdef struct OptixBuildInputSphereArray:
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

cdef struct OptixBuildInput:
OptixBuildInputType type
# union
OptixBuildInputTriangleArray triangleArray
OptixBuildInputCurveArray curveArray
OptixBuildInputSphereArray sphereArray
OptixBuildInputCustomPrimitiveArray customPrimitiveArray
OptixBuildInputInstanceArray instanceArray
ELSE:
cdef struct OptixBuildInput:
OptixBuildInputType type
# union
OptixBuildInputTriangleArray triangleArray
OptixBuildInputCurveArray curveArray
OptixBuildInputCustomPrimitiveArray customPrimitiveArray
OptixBuildInputInstanceArray instanceArray


cdef struct OptixAccelBufferSizes:
size_t outputSizeInBytes
size_t tempSizeInBytes
size_t tempUpdateSizeInBytes


cdef enum OptixAccelPropertyType:
OPTIX_PROPERTY_TYPE_COMPACTED_SIZE,
OPTIX_PROPERTY_TYPE_AABBS,


cdef struct OptixAccelEmitDesc:
CUdeviceptr result
OptixAccelPropertyType type


ctypedef uintptr_t OptixTraversableHandle


cdef struct OptixAccelRelocationInfo:
unsigned long long info[4]


cdef enum OptixTraversableType:
OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM,
OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM,
Expand Down Expand Up @@ -301,6 +360,17 @@ cdef class BuildInputCurveArray(BuildInputArray):
cdef object _d_index_buffer


IF _OPTIX_VERSION > 70400:
cdef class BuildInputSphereArray(BuildInputArray):
cdef OptixBuildInputSphereArray build_input
cdef list _d_vertex_buffers
cdef vector[CUdeviceptr] _d_vertex_buffer_ptrs
cdef list _d_radius_buffers
cdef vector[CUdeviceptr] _d_radius_buffer_ptrs
cdef object _d_sbt_offset_buffer
cdef vector[unsigned int] _flags


cdef class Instance(OptixObject):
cdef OptixInstance instance
cdef AccelerationStructure _traversable
Expand Down
Loading