Tachyon (current)  Current Main Branch
Data Structures | Macros
TachyonOptiX.h File Reference

Tachyon ray tracing host side routines and internal APIs that provide the core ray OptiX-based RTX-accelerated tracing engine. More...

#include <cuda.h>
#include <cuda_runtime.h>
#include <optix.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <vector>
#include "WKFUtils.h"
#include "TachyonOptiXShaders.h"

Go to the source code of this file.

Data Structures

struct  ConeArray
 
struct  CylinderArray
 
struct  QuadMesh
 
struct  RingArray
 
struct  SphereArray
 
struct  CurveArray
 
struct  TriangleMesh
 
struct  CUMemBuf
 Several OptiX APIs make use of CUDA driver API pointer types (CUdevicepointer) so it becomes worthwhile to manage these in a templated class supporting easy memory management for vectors of special template types, and simple copies to and from the associated CUDA device. More...
 
struct  TachyonInstanceGroup
 
class  TachyonOptiX
 

Macros

#define PINALLOCS(memtype)
 use the standard allocator if pinned memory isn't enabled at compile-time More...
 
#define RTPROF_GENERAL   PROFILE_BLUE
 trace color for general operations More...
 
#define RTPROF_ACCEL   PROFILE_RED
 trace color for RT AS builds More...
 
#define RTPROF_SBT   PROFILE_TEAL
 trace color for SBT construction More...
 
#define RTPROF_RENDER   PROFILE_ORANGE
 trace color for overall rendering More...
 
#define RTPROF_RENDERRT   PROFILE_YELLOW
 trace color for specifically for RT More...
 
#define RTPROF_TRANSFER   PROFILE_RED
 trace color for host-GPU DMA More...
 
#define RTPROF_GEOM   PROFILE_PURPLE
 trace color for geometry processing More...
 

Detailed Description

Tachyon ray tracing host side routines and internal APIs that provide the core ray OptiX-based RTX-accelerated tracing engine.

The major responsibilities of the core engine are to manage runtime RT pipeline construction and JIT-linked shaders to build complete ray tracing pipelines, management of RT engine state, and managing associated GPU hardware. Written for NVIDIA OptiX 7 and later.

The declarations and prototypes needed to drive the raytracer. Third party driver code should only use the functions in this header file to interface with the rendering engine.

Definition in file TachyonOptiX.h.

Macro Definition Documentation

◆ PINALLOCS

#define PINALLOCS (   memtype)

use the standard allocator if pinned memory isn't enabled at compile-time

Definition at line 164 of file TachyonOptiX.h.

◆ RTPROF_ACCEL

#define RTPROF_ACCEL   PROFILE_RED

trace color for RT AS builds

Definition at line 170 of file TachyonOptiX.h.

◆ RTPROF_GENERAL

#define RTPROF_GENERAL   PROFILE_BLUE

trace color for general operations

Definition at line 169 of file TachyonOptiX.h.

Referenced by TachyonOptiX::framebuffer_resize(), TachyonOptiX::TachyonOptiX(), and TachyonOptiX::~TachyonOptiX().

◆ RTPROF_GEOM

#define RTPROF_GEOM   PROFILE_PURPLE

trace color for geometry processing

Definition at line 175 of file TachyonOptiX.h.

◆ RTPROF_RENDER

#define RTPROF_RENDER   PROFILE_ORANGE

trace color for overall rendering

Definition at line 172 of file TachyonOptiX.h.

Referenced by TachyonOptiX::render().

◆ RTPROF_RENDERRT

#define RTPROF_RENDERRT   PROFILE_YELLOW

trace color for specifically for RT

Definition at line 173 of file TachyonOptiX.h.

Referenced by TachyonOptiX::render().

◆ RTPROF_SBT

#define RTPROF_SBT   PROFILE_TEAL

trace color for SBT construction

Definition at line 171 of file TachyonOptiX.h.

◆ RTPROF_TRANSFER

#define RTPROF_TRANSFER   PROFILE_RED

trace color for host-GPU DMA

Definition at line 174 of file TachyonOptiX.h.

Referenced by TachyonOptiX::render().