NTrace
GPU ray tracing framework
|
Scene class declarations. More...
Namespaces | |
Intersect | |
Classes | |
class | CameraControls |
class | ConvexPolyhedron |
class | MeshBase |
class | Mesh |
struct | VertexP |
struct | VertexPN |
struct | VertexPNC |
struct | VertexPNT |
class | Texture |
class | TextureAtlas |
class | ArrayBase |
class | Array |
class | Array64 |
class | BinaryHeap |
class | Deque |
class | Set |
struct | HashEntry |
class | Hash |
struct | GenericHashKey |
class | Vector |
class | VectorBase |
class | Vec2i |
class | Vec3i |
class | Vec4i |
class | Vec2f |
class | Vec3f |
class | Vec4f |
class | Vec2d |
class | Vec3d |
class | Vec4d |
class | MatrixBase |
class | Matrix |
class | Mat2f |
class | Mat3f |
class | Mat4f |
class | Mat2d |
class | Mat3d |
class | Mat4d |
class | MulticoreLauncher |
class | Random |
struct | TaskSpec |
class | String |
class | Spinlock |
class | Semaphore |
class | Monitor |
class | Thread |
class | Timer |
class | UnionFind |
class | Buffer |
class | CudaCompiler |
class | CudaKernel |
class | CudaModule |
class | GLContext |
class | CommonControls |
class | ImageFormat |
class | Image |
class | Window |
class | AviExporter |
class | File |
class | Output |
class | Input |
struct | Material |
struct | TextureSpec |
struct | ImportState |
class | StateDump |
class | InputStream |
class | OutputStream |
class | BufferedInputStream |
class | BufferedOutputStream |
class | MemoryInputStream |
class | MemoryOutputStream |
class | Serializable |
class | AccelerationStructure |
class | App |
struct | RayStats |
Structure holding ray statistics. Also provides print to the console. These statistics are used in a CPU trace method provided by this class. More... | |
class | BVH |
BVH acceleration structure class. More... | |
class | SplitInfo |
Class holding information about a split of a BVH node. More... | |
class | BVHNode |
BVH virtual node. Parent class of both a leaf node and an inner node. More... | |
class | InnerNode |
BVH inner node. More... | |
class | LeafNode |
BVH leaf node. More... | |
struct | HLBVHParams |
class | HLBVHBuilder |
class | OcclusionBVHBuilder |
class | Platform |
Class holding various SAH and batch processing parameters. More... | |
class | SAHBVHBuilder |
Class that builds a BVH using SAH. More... | |
class | SplitBVHBuilder |
Class performing SBVH build. More... | |
class | CPURenderer |
class | CudaAS |
Interface for acceleration structure. More... | |
class | CudaBVH |
Cuda BVH class. More... | |
class | CudaBVHTracer |
CUDA tracer for the BVH acceleration structure. Performs BVH traversal on the GPU. More... | |
class | CudaKDTree |
Cuda friendly KDTree representation. More... | |
class | CudaKDTreeTracer |
Cuda tracer for the k-d tree acceleration structure. Performs kd-tree traversal on the GPU. More... | |
class | CudaPersistentBVHTracer |
class | CudaNoStructTracer |
class | CudaRenderer |
class | CudaVirtualTracer |
class | Renderer |
struct | ReconstructInput |
struct | CountHitsInput |
class | FastKDTreeBuilder |
Fast k-d tree builder class. More... | |
class | KDTree |
K-d tree acceleration structure class. More... | |
class | KDTreeNode |
K-d tree virtual parent node class. More... | |
class | KDTInnerNode |
K-d tree's inner node class. More... | |
class | KDTLeafNode |
K-d tree's leaf node class. More... | |
class | NaiveKDTreeBuilder |
Naive k-d tree builder class. More... | |
class | PixelTable |
class | RayBuffer |
Ray buffer class. Stores rays. More... | |
struct | MortonKey |
struct | FindAABBInput |
struct | FindAABBOutput |
struct | GenMortonKeysInput |
struct | ReorderRaysInput |
class | RayGen |
Ray generator class. Generates rays for both the GPU and the CPU. More... | |
struct | RayGenPrimaryInput |
struct | RayGenAOInput |
struct | RayGenShadowInput |
class | Scene |
Class holding 3d scene. More... | |
class | Visualization |
Class for the visualization. More... | |
class | VisualizationBVH |
Class for the BVH visualization. More... | |
class | VisualizationKDTree |
Class for the BVH visualization. More... | |
class | AABB |
struct | Ray |
struct | RayResult |
Typedefs | |
typedef unsigned char | U8 |
typedef unsigned short | U16 |
typedef unsigned int | U32 |
typedef signed char | S8 |
typedef signed short | S16 |
typedef signed int | S32 |
typedef float | F32 |
typedef double | F64 |
typedef void(* | FuncPtr )(void) |
typedef unsigned __int64 | U64 |
typedef signed __int64 | S64 |
typedef __w64 S32 | SPTR |
typedef __w64 U32 | UPTR |
typedef bool(* | SortCompareFunc )(void *data, int idxA, int idxB) |
typedef void(* | SortSwapFunc )(void *data, int idxA, int idxB) |
Enumerations | |
enum | TiffType { Tiff_Byte = 1, Tiff_Ascii = 2, Tiff_Short = 3, Tiff_Long = 4, Tiff_Rational = 5 } |
enum | BVH_STAT { BVH_STAT_NODE_COUNT, BVH_STAT_INNER_COUNT, BVH_STAT_LEAF_COUNT, BVH_STAT_TRIANGLE_COUNT, BVH_STAT_CHILDNODE_COUNT } |
Available BVH stats. More... | |
enum | { CountHits_BlockWidth = 32, CountHits_BlockHeight = 8 } |
enum | KDTREE_STAT { KDTREE_STAT_NODE_COUNT, KDTREE_STAT_INNER_COUNT, KDTREE_STAT_LEAF_COUNT, KDTREE_STAT_TRIANGLE_COUNT, KDTREE_STAT_CHILDNODE_COUNT, KDTREE_STAT_EMPTYLEAF_COUNT } |
Available statistics. Used in getSubtreeSize. More... | |
enum | { FindAABB_BlockWidth = 32, FindAABB_BlockHeight = 8 } |
Functions | |
MeshBase * | importMesh (const String &fileName) |
void | exportMesh (const String &fileName, const MeshBase *mesh) |
String | getMeshImportFilter (void) |
String | getMeshExportFilter (void) |
void | addCubeToMesh (Mesh< VertexPNC > &mesh, int submesh, const Vec3f &lo, const Vec3f &hi, const Vec4f &color, bool forceNormal=false, const Vec3f &normal=Vec3f(0.0f)) |
void * | malloc (size_t size) |
void | free (void *ptr) |
void * | realloc (void *ptr, size_t size) |
void | printf (const char *fmt,...) |
String | sprintf (const char *fmt,...) |
void | setError (const char *fmt,...) |
String | clearError (void) |
bool | restoreError (const String &old) |
bool | hasError (void) |
const String & | getError (void) |
void | fail (const char *fmt,...) |
void | failWin32Error (const char *funcName) |
void | failIfError (void) |
int | incNestingLevel (int delta) |
bool | setDiscardEvents (bool discard) |
bool | getDiscardEvents (void) |
void | pushLogFile (const String &name, bool append=true) |
void | popLogFile (void) |
bool | hasLogFile (void) |
size_t | getMemoryUsed (void) |
void | pushMemOwner (const char *id) |
void | popMemOwner (void) |
void | printMemStats (void) |
void | profileStart (void) |
void | profilePush (const char *id) |
void | profilePop (void) |
void | profileEnd (bool printResults=true) |
template<class T > | |
FW_CUDA_FUNC void | swap (T &a, T &b) |
FW_SPECIALIZE_MINMAX (template< class T >, T &,(a< b)?a:b,(a > b)?a:b) FW_SPECIALIZE_MINMAX(template< class T > | |
void | setCudaDLLName (const String &name) |
void | initDLLImports (void) |
void | initGLImports (void) |
void | deinitDLLImports (void) |
U32 | hashBits (U32 a, U32 b=FW_HASH_MAGIC, U32 c=0) |
U32 | hashBits (U32 a, U32 b, U32 c, U32 d, U32 e=0, U32 f=0) |
bool | equalsBuffer (const void *ptrA, const void *ptrB, int size) |
bool | equalsBuffer (const void *ptrA, int sizeA, const void *ptrB, int sizeB) |
U32 | hashBuffer (const void *ptr, int size) |
U32 | hashBufferAlign (const void *ptr, int size) |
template<class T > | |
bool | equalsArray (const T *ptrA, int sizeA, const T *ptrB, int sizeB) |
template<class T > | |
U32 | hashArray (const T *ptr, int size) |
template<class T > | |
bool | equals (const T &a, const T &b) |
template<class T > | |
U32 | hash (const T &value) |
template<> | |
bool | equalsArray< S8 > (const S8 *ptrA, int sizeA, const S8 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< U8 > (const U8 *ptrA, int sizeA, const U8 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< S16 > (const S16 *ptrA, int sizeA, const S16 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< U16 > (const U16 *ptrA, int sizeA, const U16 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< S32 > (const S32 *ptrA, int sizeA, const S32 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< U32 > (const U32 *ptrA, int sizeA, const U32 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< F32 > (const F32 *ptrA, int sizeA, const F32 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< S64 > (const S64 *ptrA, int sizeA, const S64 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< U64 > (const U64 *ptrA, int sizeA, const U64 *ptrB, int sizeB) |
template<> | |
bool | equalsArray< F64 > (const F64 *ptrA, int sizeA, const F64 *ptrB, int sizeB) |
template<> | |
U32 | hashArray< S8 > (const S8 *ptr, int size) |
template<> | |
U32 | hashArray< U8 > (const U8 *ptr, int size) |
template<> | |
U32 | hashArray< S16 > (const S16 *ptr, int size) |
template<> | |
U32 | hashArray< U16 > (const U16 *ptr, int size) |
template<> | |
U32 | hashArray< S32 > (const S32 *ptr, int size) |
template<> | |
U32 | hashArray< U32 > (const U32 *ptr, int size) |
template<> | |
U32 | hashArray< F32 > (const F32 *ptr, int size) |
template<> | |
U32 | hashArray< S64 > (const S64 *ptr, int size) |
template<> | |
U32 | hashArray< U64 > (const U64 *ptr, int size) |
template<> | |
U32 | hashArray< F64 > (const F64 *ptr, int size) |
template<> | |
bool | equals< S8 > (const S8 &a, const S8 &b) |
template<> | |
bool | equals< U8 > (const U8 &a, const U8 &b) |
template<> | |
bool | equals< S16 > (const S16 &a, const S16 &b) |
template<> | |
bool | equals< U16 > (const U16 &a, const U16 &b) |
template<> | |
bool | equals< S32 > (const S32 &a, const S32 &b) |
template<> | |
bool | equals< U32 > (const U32 &a, const U32 &b) |
template<> | |
bool | equals< F32 > (const F32 &a, const F32 &b) |
template<> | |
bool | equals< S64 > (const S64 &a, const S64 &b) |
template<> | |
bool | equals< U64 > (const U64 &a, const U64 &b) |
template<> | |
bool | equals< F64 > (const F64 &a, const F64 &b) |
template<> | |
U32 | hash< S8 > (const S8 &value) |
template<> | |
U32 | hash< U8 > (const U8 &value) |
template<> | |
U32 | hash< S16 > (const S16 &value) |
template<> | |
U32 | hash< U16 > (const U16 &value) |
template<> | |
U32 | hash< S32 > (const S32 &value) |
template<> | |
U32 | hash< U32 > (const U32 &value) |
template<> | |
U32 | hash< F32 > (const F32 &value) |
template<> | |
U32 | hash< S64 > (const S64 &value) |
template<> | |
U32 | hash< U64 > (const U64 &value) |
template<> | |
U32 | hash< F64 > (const F64 &value) |
template<> | |
bool | equals< Vec2i > (const Vec2i &a, const Vec2i &b) |
template<> | |
bool | equals< Vec2f > (const Vec2f &a, const Vec2f &b) |
template<> | |
bool | equals< Vec3i > (const Vec3i &a, const Vec3i &b) |
template<> | |
bool | equals< Vec3f > (const Vec3f &a, const Vec3f &b) |
template<> | |
bool | equals< Vec4i > (const Vec4i &a, const Vec4i &b) |
template<> | |
bool | equals< Vec4f > (const Vec4f &a, const Vec4f &b) |
template<> | |
bool | equals< Mat2f > (const Mat2f &a, const Mat2f &b) |
template<> | |
bool | equals< Mat3f > (const Mat3f &a, const Mat3f &b) |
template<> | |
bool | equals< Mat4f > (const Mat4f &a, const Mat4f &b) |
template<> | |
bool | equals< String > (const String &a, const String &b) |
template<> | |
U32 | hash< Vec2i > (const Vec2i &value) |
template<> | |
U32 | hash< Vec2f > (const Vec2f &value) |
template<> | |
U32 | hash< Vec3i > (const Vec3i &value) |
template<> | |
U32 | hash< Vec3f > (const Vec3f &value) |
template<> | |
U32 | hash< Vec4i > (const Vec4i &value) |
template<> | |
U32 | hash< Vec4f > (const Vec4f &value) |
template<> | |
U32 | hash< Mat2f > (const Mat2f &value) |
template<> | |
U32 | hash< Mat3f > (const Mat3f &value) |
template<> | |
U32 | hash< Mat4f > (const Mat4f &value) |
template<> | |
U32 | hash< String > (const String &value) |
template<class T , class TT > | |
bool | equals (TT *const &a, TT *const &b) |
template<class T , class TT > | |
U32 | hash (TT *const &value) |
template<class T , class K , class V > | |
bool | equals (const HashEntry< K, V > &a, const HashEntry< K, V > &b) |
template<class T , class K , class V > | |
U32 | hash (const HashEntry< K, V > &value) |
template<class T , class TT > | |
bool | equals (const Array< TT > &a, const Array< TT > &b) |
template<class T , class TT > | |
U32 | hash (const Array< TT > &value) |
template<> | |
bool | equals< GenericHashKey > (const GenericHashKey &a, const GenericHashKey &b) |
template<> | |
U32 | hash< GenericHashKey > (const GenericHashKey &value) |
void | init (void) |
void | disableLeakCheck (void) |
FW_CUDA_FUNC F32 | sqrt (F32 a) |
FW_CUDA_FUNC F64 | sqrt (F64 a) |
FW_CUDA_FUNC S32 | abs (S32 a) |
FW_CUDA_FUNC S64 | abs (S64 a) |
FW_CUDA_FUNC F32 | abs (F32 a) |
FW_CUDA_FUNC F64 | abs (F64 a) |
FW_CUDA_FUNC F64 | pow (F64 a, F64 b) |
FW_CUDA_FUNC F64 | exp (F64 a) |
FW_CUDA_FUNC F64 | log (F64 a) |
FW_CUDA_FUNC F64 | sin (F64 a) |
FW_CUDA_FUNC F64 | cos (F64 a) |
FW_CUDA_FUNC F64 | tan (F64 a) |
FW_CUDA_FUNC F32 | asin (F32 a) |
FW_CUDA_FUNC F64 | asin (F64 a) |
FW_CUDA_FUNC F32 | acos (F32 a) |
FW_CUDA_FUNC F64 | acos (F64 a) |
FW_CUDA_FUNC F32 | atan (F32 a) |
FW_CUDA_FUNC F64 | atan (F64 a) |
FW_CUDA_FUNC F64 | atan2 (F64 y, F64 x) |
FW_CUDA_FUNC F32 | atan2 (F32 y, F32 x) |
FW_CUDA_FUNC F32 | floor (F32 a) |
FW_CUDA_FUNC F64 | floor (F64 a) |
FW_CUDA_FUNC F32 | ceil (F32 a) |
FW_CUDA_FUNC F64 | ceil (F64 a) |
FW_CUDA_FUNC U64 | doubleToBits (F64 a) |
FW_CUDA_FUNC F64 | bitsToDouble (U64 a) |
F32 | pow (F32 a, F32 b) |
F32 | exp (F32 a) |
F32 | exp2 (F32 a) |
F64 | exp2 (F64 a) |
F32 | log (F32 a) |
F32 | log2 (F32 a) |
F64 | log2 (F64 a) |
F32 | sin (F32 a) |
F32 | cos (F32 a) |
F32 | tan (F32 a) |
U32 | floatToBits (F32 a) |
F32 | bitsToFloat (U32 a) |
F32 | exp2 (int a) |
F32 | fastMin (F32 a, F32 b) |
F32 | fastMax (F32 a, F32 b) |
F64 | fastMin (F64 a, F64 b) |
F64 | fastMax (F64 a, F64 b) |
FW_CUDA_FUNC F32 | scale (F32 a, int b) |
FW_CUDA_FUNC int | popc8 (U32 mask) |
FW_CUDA_FUNC int | popc16 (U32 mask) |
FW_CUDA_FUNC int | popc32 (U32 mask) |
FW_CUDA_FUNC int | popc64 (U64 mask) |
FW_CUDA_FUNC F32 | fastClamp (F32 v, F32 lo, F32 hi) |
FW_CUDA_FUNC F64 | fastClamp (F64 v, F64 lo, F64 hi) |
template<class T > | |
FW_CUDA_FUNC T | sqr (const T &a) |
template<class T > | |
FW_CUDA_FUNC T | rcp (const T &a) |
template<class A , class B > | |
FW_CUDA_FUNC A | lerp (const A &a, const A &b, const B &t) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | lenSqr (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | length (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | normalize (const VectorBase< T, L, S > &v, T len=(T) 1) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | min (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | max (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | sum (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | abs (const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator+ (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator- (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator* (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator/ (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator% (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator& (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator| (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator^ (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator<< (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator>> (const T &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S , class V > | |
FW_CUDA_FUNC T | dot (const VectorBase< T, L, S > &a, const VectorBase< T, L, V > &b) |
FW_CUDA_FUNC Vec2f | perpendicular (const Vec2f &v) |
FW_CUDA_FUNC Vec2d | perpendicular (const Vec2d &v) |
FW_CUDA_FUNC F32 | cross (const Vec2f &a, const Vec2f &b) |
FW_CUDA_FUNC F64 | cross (const Vec2d &a, const Vec2d &b) |
FW_CUDA_FUNC Vec3f | cross (const Vec3f &a, const Vec3f &b) |
FW_CUDA_FUNC Vec3d | cross (const Vec3d &a, const Vec3d &b) |
MINMAX (Vec2i) MINMAX(Vec3i) MINMAX(Vec4i) MINMAX(Vec2f) MINMAX(Vec3f) MINMAX(Vec4f) MINMAX(Vec2d) MINMAX(Vec3d) MINMAX(Vec4d) template< class T | |
template<class T , int L, class S > | |
FW_CUDA_FUNC Matrix< T, L > | outerProduct (const VectorBase< T, L, S > &a, const VectorBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | det (const MatrixBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | transpose (const MatrixBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | invert (const MatrixBase< T, L, S > &v) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator+ (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator- (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator* (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator/ (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator% (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator& (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator| (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator^ (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator<< (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC S | operator>> (const T &a, const MatrixBase< T, L, S > &b) |
template<class T , int L, class S > | |
FW_CUDA_FUNC T | detImpl (const MatrixBase< T, L, S > &v) |
template<class T , class S > | |
FW_CUDA_FUNC T | detImpl (const MatrixBase< T, 1, S > &v) |
template<class T , class S > | |
FW_CUDA_FUNC T | detImpl (const MatrixBase< T, 2, S > &v) |
template<class T , class S > | |
FW_CUDA_FUNC T | detImpl (const MatrixBase< T, 3, S > &v) |
template<class T , int L, class S > | |
Matrix< T, L > | outerProduct (const VectorBase< T, L, S > &a, const VectorBase< T, L, S > &b) |
void | sort (void *data, int start, int end, SortCompareFunc compareFunc, SortSwapFunc swapFunc, bool multicore=false) |
template<class T > | |
bool | sortDefaultCompare (void *data, int idxA, int idxB) |
template<class T > | |
void | sortDefaultSwap (void *data, int idxA, int idxB) |
template<class T > | |
void | sort (T *data, int num, SortCompareFunc compareFunc=sortDefaultCompare< T >, SortSwapFunc swapFunc=sortDefaultSwap< T >, bool multicore=false) |
template<class T > | |
void | sort (Array< T > &data, SortCompareFunc compareFunc=sortDefaultCompare< T >, SortSwapFunc swapFunc=sortDefaultSwap< T >, bool multicore=false) |
template<class T > | |
void | sort (Array< T > &data, int start, int end, SortCompareFunc compareFunc=sortDefaultCompare< T >, SortSwapFunc swapFunc=sortDefaultSwap< T >, bool multicore=false) |
int | compareU32 (void *data, int idxA, int idxB) |
void | swapU32 (void *data, int idxA, int idxB) |
int | compareU64 (void *data, int idxA, int idxB) |
void | swapU64 (void *data, int idxA, int idxB) |
int | compareS32 (void *data, int idxA, int idxB) |
void | swapS32 (void *data, int idxA, int idxB) |
int | compareS64 (void *data, int idxA, int idxB) |
void | swapS64 (void *data, int idxA, int idxB) |
int | compareF32 (void *data, int idxA, int idxB) |
void | swapF32 (void *data, int idxA, int idxB) |
int | compareF64 (void *data, int idxA, int idxB) |
void | swapF64 (void *data, int idxA, int idxB) |
String | getDateString (void) |
bool | parseSpace (const char *&ptr) |
bool | parseChar (const char *&ptr, char chr) |
bool | parseLiteral (const char *&ptr, const char *str) |
bool | parseInt (const char *&ptr, S32 &value) |
bool | parseInt (const char *&ptr, S64 &value) |
bool | parseHex (const char *&ptr, U32 &value) |
bool | parseFloat (const char *&ptr, F32 &value) |
bool | parseVec3f (const char *&ptr, Vec3f &value) |
String | formatInlineCuda (const char *file, int line, const char *code) |
CudaModule * | compileInlineCuda (const char *file, int line, const char *code) |
Image * | importImage (const String &fileName) |
void | exportImage (const String &fileName, const Image *image) |
String | getImageImportFilter (void) |
String | getImageExportFilter (void) |
String | unicodeToKey (S32 cp) |
S32 | keyToUnicode (const String &key) |
String | vkeyToKey (U32 vkey) |
Image * | importBinaryImage (InputStream &stream) |
void | exportBinaryImage (OutputStream &stream, const Image *image) |
Image * | importBmpImage (InputStream &stream) |
void | exportBmpImage (OutputStream &stream, const Image *image) |
Image * | importLodePngImage (InputStream &stream) |
void | exportLodePngImage (OutputStream &stream, const Image *image) |
void | exportRawPngImage (OutputStream &stream, const Image *image) |
Image * | importTargaImage (InputStream &stream) |
void | exportTargaImage (OutputStream &stream, const Image *image) |
Image * | importTiffImage (InputStream &stream) |
void | exportTiffImage (OutputStream &stream, const Image *image) |
MeshBase * | importBinaryMesh (InputStream &stream) |
void | exportBinaryMesh (OutputStream &stream, const MeshBase *mesh) |
template<class T > | |
bool | equals (const VertexPNT &a, const VertexPNT &b) |
template<class T > | |
U32 | hash (const VertexPNT &value) |
Mesh< VertexPNT > * | importWavefrontMesh (BufferedInputStream &stream, const String &fileName) |
void | exportWavefrontMesh (BufferedOutputStream &stream, const MeshBase *mesh, const String &fileName) |
InputStream & | operator>> (InputStream &s, U8 &v) |
InputStream & | operator>> (InputStream &s, U16 &v) |
InputStream & | operator>> (InputStream &s, U32 &v) |
InputStream & | operator>> (InputStream &s, U64 &v) |
InputStream & | operator>> (InputStream &s, S8 &v) |
InputStream & | operator>> (InputStream &s, S16 &v) |
InputStream & | operator>> (InputStream &s, S32 &v) |
InputStream & | operator>> (InputStream &s, S64 &v) |
InputStream & | operator>> (InputStream &s, F32 &v) |
InputStream & | operator>> (InputStream &s, F64 &v) |
InputStream & | operator>> (InputStream &s, char &v) |
InputStream & | operator>> (InputStream &s, bool &v) |
OutputStream & | operator<< (OutputStream &s, U8 v) |
OutputStream & | operator<< (OutputStream &s, U16 v) |
OutputStream & | operator<< (OutputStream &s, U32 v) |
OutputStream & | operator<< (OutputStream &s, U64 v) |
OutputStream & | operator<< (OutputStream &s, S8 v) |
OutputStream & | operator<< (OutputStream &s, S16 v) |
OutputStream & | operator<< (OutputStream &s, S32 v) |
OutputStream & | operator<< (OutputStream &s, S64 v) |
OutputStream & | operator<< (OutputStream &s, F32 v) |
OutputStream & | operator<< (OutputStream &s, F64 v) |
OutputStream & | operator<< (OutputStream &s, char v) |
OutputStream & | operator<< (OutputStream &s, bool v) |
InputStream & | operator>> (InputStream &s, Serializable &v) |
OutputStream & | operator<< (OutputStream &s, const Serializable &v) |
template<class T > | |
InputStream & | operator>> (InputStream &s, Array< T > &v) |
template<class T > | |
OutputStream & | operator<< (OutputStream &s, const Array< T > &v) |
InputStream & | operator>> (InputStream &s, String &v) |
OutputStream & | operator<< (OutputStream &s, const String &v) |
template<class T , int L, class S > | |
InputStream & | operator>> (InputStream &s, VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
OutputStream & | operator<< (OutputStream &s, const VectorBase< T, L, S > &v) |
template<class T , int L, class S > | |
InputStream & | operator>> (InputStream &s, MatrixBase< T, L, S > &v) |
template<class T , int L, class S > | |
OutputStream & | operator<< (OutputStream &s, const MatrixBase< T, L, S > &v) |
void | listKernels (Array< String > &kernelNames) |
void | runInteractive (const Vec2i &frameSize, const String &stateFile) |
void | runBenchmark (const Vec2i &frameSize, const String &meshFile, const Array< String > &cameras, const Array< String > &kernels, F32 sbvhAlpha, F32 aoRadius, int numSamples, bool sortSecondary, int warmupRepeats, int measureRepeats) |
void | assignIndicesDepthFirstRecursive (BVHNode *node, S32 &index, bool includeLeafNodes) |
Variables | |
int | argc = 0 |
char ** | argv = NULL |
int | exitCode = 0 |
int | L |
FW_CUDA_CONST int | c_popc8LUT [] |
Scene class declarations.
anonymous enum |
Enumerator | |
---|---|
CountHits_BlockWidth | |
CountHits_BlockHeight |
Definition at line 36 of file RendererKernels.hpp.
anonymous enum |
Enumerator | |
---|---|
FindAABB_BlockWidth | |
FindAABB_BlockHeight |
Definition at line 37 of file RayBufferKernels.hpp.
enum FW::BVH_STAT |
Available BVH stats.
Enumerator | |
---|---|
BVH_STAT_NODE_COUNT | |
BVH_STAT_INNER_COUNT | |
BVH_STAT_LEAF_COUNT | |
BVH_STAT_TRIANGLE_COUNT | |
BVH_STAT_CHILDNODE_COUNT |
Definition at line 46 of file BVHNode.hpp.
enum FW::KDTREE_STAT |
Available statistics. Used in getSubtreeSize.
Enumerator | |
---|---|
KDTREE_STAT_NODE_COUNT | |
KDTREE_STAT_INNER_COUNT | |
KDTREE_STAT_LEAF_COUNT | |
KDTREE_STAT_TRIANGLE_COUNT | |
KDTREE_STAT_CHILDNODE_COUNT | |
KDTREE_STAT_EMPTYLEAF_COUNT |
Definition at line 38 of file KDTreeNode.hpp.
enum FW::TiffType |
Enumerator | |
---|---|
Tiff_Byte | |
Tiff_Ascii | |
Tiff_Short | |
Tiff_Long | |
Tiff_Rational |
Definition at line 68 of file ImageTiffIO.cpp.
FW_CUDA_FUNC S32 FW::abs | ( | S32 | a | ) |
FW_CUDA_FUNC S64 FW::abs | ( | S64 | a | ) |
FW_CUDA_FUNC F32 FW::abs | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::abs | ( | F64 | a | ) |
FW_CUDA_FUNC S FW::abs | ( | const VectorBase< T, L, S > & | v | ) |
FW_CUDA_FUNC F32 FW::acos | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::acos | ( | F64 | a | ) |
FW_CUDA_FUNC F32 FW::asin | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::asin | ( | F64 | a | ) |
void FW::assignIndicesDepthFirstRecursive | ( | BVHNode * | node, |
S32 & | index, | ||
bool | includeLeafNodes | ||
) |
Definition at line 99 of file BVHNode.cpp.
FW_CUDA_FUNC F32 FW::atan | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::atan | ( | F64 | a | ) |
FW_CUDA_FUNC F64 FW::atan2 | ( | F64 | y, |
F64 | x | ||
) |
FW_CUDA_FUNC F32 FW::atan2 | ( | F32 | y, |
F32 | x | ||
) |
FW_CUDA_FUNC F64 FW::bitsToDouble | ( | U64 | a | ) |
FW_CUDA_FUNC F32 FW::ceil | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::ceil | ( | F64 | a | ) |
CudaModule * FW::compileInlineCuda | ( | const char * | file, |
int | line, | ||
const char * | code | ||
) |
Definition at line 106 of file CudaCompiler.cpp.
FW_CUDA_FUNC F64 FW::cos | ( | F64 | a | ) |
FW_CUDA_FUNC F32 FW::cross | ( | const Vec2f & | a, |
const Vec2f & | b | ||
) |
FW_CUDA_FUNC F64 FW::cross | ( | const Vec2d & | a, |
const Vec2d & | b | ||
) |
FW_CUDA_FUNC Vec3f FW::cross | ( | const Vec3f & | a, |
const Vec3f & | b | ||
) |
FW_CUDA_FUNC Vec3d FW::cross | ( | const Vec3d & | a, |
const Vec3d & | b | ||
) |
Definition at line 132 of file DLLImports.cpp.
FW_CUDA_FUNC T FW::det | ( | const MatrixBase< T, L, S > & | v | ) |
FW_CUDA_FUNC T FW::detImpl | ( | const MatrixBase< T, L, S > & | v | ) |
FW_CUDA_FUNC T FW::detImpl | ( | const MatrixBase< T, 1, S > & | v | ) |
FW_CUDA_FUNC T FW::detImpl | ( | const MatrixBase< T, 2, S > & | v | ) |
FW_CUDA_FUNC T FW::detImpl | ( | const MatrixBase< T, 3, S > & | v | ) |
FW_CUDA_FUNC T FW::dot | ( | const VectorBase< T, L, S > & | a, |
const VectorBase< T, L, V > & | b | ||
) |
FW_CUDA_FUNC U64 FW::doubleToBits | ( | F64 | a | ) |
Definition at line 83 of file MeshWavefrontIO.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
FW_CUDA_FUNC F64 FW::exp | ( | F64 | a | ) |
void FW::exportBinaryImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 110 of file ImageBinaryIO.cpp.
void FW::exportBinaryMesh | ( | OutputStream & | stream, |
const MeshBase * | mesh | ||
) |
Definition at line 149 of file MeshBinaryIO.cpp.
void FW::exportBmpImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 292 of file ImageBmpIO.cpp.
void FW::exportLodePngImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 97 of file ImageLodePngIO.cpp.
void FW::exportRawPngImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 80 of file ImageRawPngIO.cpp.
void FW::exportTargaImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 176 of file ImageTargaIO.cpp.
void FW::exportTiffImage | ( | OutputStream & | stream, |
const Image * | image | ||
) |
Definition at line 330 of file ImageTiffIO.cpp.
void FW::exportWavefrontMesh | ( | BufferedOutputStream & | stream, |
const MeshBase * | mesh, | ||
const String & | fileName | ||
) |
Definition at line 576 of file MeshWavefrontIO.cpp.
FW_CUDA_FUNC F32 FW::fastClamp | ( | F32 | v, |
F32 | lo, | ||
F32 | hi | ||
) |
FW_CUDA_FUNC F64 FW::fastClamp | ( | F64 | v, |
F64 | lo, | ||
F64 | hi | ||
) |
FW_CUDA_FUNC F32 FW::floor | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::floor | ( | F64 | a | ) |
String FW::formatInlineCuda | ( | const char * | file, |
int | line, | ||
const char * | code | ||
) |
Definition at line 60 of file CudaCompiler.cpp.
FW::FW_SPECIALIZE_MINMAX | ( | template< class T > | , |
T & | , | ||
(a< b)?a:b | , | ||
(a > b)?a:b | |||
) |
Definition at line 323 of file String.cpp.
Definition at line 90 of file MeshWavefrontIO.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Image * FW::importBinaryImage | ( | InputStream & | stream | ) |
Definition at line 36 of file ImageBinaryIO.cpp.
MeshBase * FW::importBinaryMesh | ( | InputStream & | stream | ) |
Definition at line 37 of file MeshBinaryIO.cpp.
Image * FW::importBmpImage | ( | InputStream & | stream | ) |
Definition at line 36 of file ImageBmpIO.cpp.
Image * FW::importLodePngImage | ( | InputStream & | stream | ) |
Definition at line 38 of file ImageLodePngIO.cpp.
Image * FW::importTargaImage | ( | InputStream & | stream | ) |
Definition at line 36 of file ImageTargaIO.cpp.
Image * FW::importTiffImage | ( | InputStream & | stream | ) |
Definition at line 81 of file ImageTiffIO.cpp.
Mesh< VertexPNT > * FW::importWavefrontMesh | ( | BufferedInputStream & | stream, |
const String & | fileName | ||
) |
Definition at line 554 of file MeshWavefrontIO.cpp.
Definition at line 104 of file DLLImports.cpp.
Definition at line 122 of file DLLImports.cpp.
FW_CUDA_FUNC S FW::invert | ( | const MatrixBase< T, L, S > & | v | ) |
FW_CUDA_FUNC T FW::length | ( | const VectorBase< T, L, S > & | v | ) |
FW_CUDA_FUNC T FW::lenSqr | ( | const VectorBase< T, L, S > & | v | ) |
FW_CUDA_FUNC A FW::lerp | ( | const A & | a, |
const A & | b, | ||
const B & | t | ||
) |
FW_CUDA_FUNC F64 FW::log | ( | F64 | a | ) |
FW_CUDA_FUNC T FW::max | ( | const VectorBase< T, L, S > & | v | ) |
FW_CUDA_FUNC T FW::min | ( | const VectorBase< T, L, S > & | v | ) |
FW::MINMAX | ( | Vec2i | ) |
FW_CUDA_FUNC S FW::normalize | ( | const VectorBase< T, L, S > & | v, |
T | len = (T)1 |
||
) |
FW_CUDA_FUNC S FW::operator% | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator% | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator& | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator& | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator* | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator* | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator+ | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator+ | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator- | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator- | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator/ | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator/ | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
|
inline |
Definition at line 221 of file Stream.hpp.
|
inline |
Definition at line 222 of file Stream.hpp.
|
inline |
Definition at line 223 of file Stream.hpp.
|
inline |
Definition at line 224 of file Stream.hpp.
|
inline |
Definition at line 225 of file Stream.hpp.
|
inline |
Definition at line 226 of file Stream.hpp.
|
inline |
Definition at line 227 of file Stream.hpp.
|
inline |
Definition at line 228 of file Stream.hpp.
|
inline |
Definition at line 229 of file Stream.hpp.
|
inline |
Definition at line 230 of file Stream.hpp.
|
inline |
Definition at line 231 of file Stream.hpp.
|
inline |
Definition at line 232 of file Stream.hpp.
|
inline |
Definition at line 246 of file Stream.hpp.
OutputStream& FW::operator<< | ( | OutputStream & | s, |
const Array< T > & | v | ||
) |
Definition at line 266 of file Stream.hpp.
|
inline |
Definition at line 290 of file Stream.hpp.
OutputStream& FW::operator<< | ( | OutputStream & | s, |
const VectorBase< T, L, S > & | v | ||
) |
Definition at line 309 of file Stream.hpp.
OutputStream& FW::operator<< | ( | OutputStream & | s, |
const MatrixBase< T, L, S > & | v | ||
) |
Definition at line 327 of file Stream.hpp.
FW_CUDA_FUNC S FW::operator<< | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator<< | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
|
inline |
Definition at line 208 of file Stream.hpp.
|
inline |
Definition at line 209 of file Stream.hpp.
|
inline |
Definition at line 210 of file Stream.hpp.
|
inline |
Definition at line 211 of file Stream.hpp.
|
inline |
Definition at line 212 of file Stream.hpp.
|
inline |
Definition at line 213 of file Stream.hpp.
|
inline |
Definition at line 214 of file Stream.hpp.
|
inline |
Definition at line 215 of file Stream.hpp.
|
inline |
Definition at line 216 of file Stream.hpp.
|
inline |
Definition at line 217 of file Stream.hpp.
|
inline |
Definition at line 218 of file Stream.hpp.
|
inline |
Definition at line 219 of file Stream.hpp.
|
inline |
Definition at line 238 of file Stream.hpp.
InputStream& FW::operator>> | ( | InputStream & | s, |
Array< T > & | v | ||
) |
Definition at line 254 of file Stream.hpp.
|
inline |
Definition at line 276 of file Stream.hpp.
InputStream& FW::operator>> | ( | InputStream & | s, |
VectorBase< T, L, S > & | v | ||
) |
Definition at line 300 of file Stream.hpp.
InputStream& FW::operator>> | ( | InputStream & | s, |
MatrixBase< T, L, S > & | v | ||
) |
Definition at line 318 of file Stream.hpp.
FW_CUDA_FUNC S FW::operator>> | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator>> | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator^ | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator^ | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator| | ( | const T & | a, |
const VectorBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC S FW::operator| | ( | const T & | a, |
const MatrixBase< T, L, S > & | b | ||
) |
FW_CUDA_FUNC Matrix<T, L> FW::outerProduct | ( | const VectorBase< T, L, S > & | a, |
const VectorBase< T, L, S > & | b | ||
) |
bool FW::parseChar | ( | const char *& | ptr, |
char | chr | ||
) |
Definition at line 354 of file String.cpp.
bool FW::parseFloat | ( | const char *& | ptr, |
F32 & | value | ||
) |
Definition at line 440 of file String.cpp.
bool FW::parseHex | ( | const char *& | ptr, |
U32 & | value | ||
) |
Definition at line 418 of file String.cpp.
bool FW::parseInt | ( | const char *& | ptr, |
S32 & | value | ||
) |
Definition at line 384 of file String.cpp.
bool FW::parseInt | ( | const char *& | ptr, |
S64 & | value | ||
) |
Definition at line 401 of file String.cpp.
bool FW::parseLiteral | ( | const char *& | ptr, |
const char * | str | ||
) |
Definition at line 365 of file String.cpp.
bool FW::parseSpace | ( | const char *& | ptr | ) |
Definition at line 344 of file String.cpp.
bool FW::parseVec3f | ( | const char *& | ptr, |
Vec3f & | value | ||
) |
Definition at line 503 of file String.cpp.
FW_CUDA_FUNC Vec2f FW::perpendicular | ( | const Vec2f & | v | ) |
FW_CUDA_FUNC Vec2d FW::perpendicular | ( | const Vec2d & | v | ) |
FW_CUDA_FUNC int FW::popc16 | ( | U32 | mask | ) |
FW_CUDA_FUNC int FW::popc32 | ( | U32 | mask | ) |
FW_CUDA_FUNC int FW::popc64 | ( | U64 | mask | ) |
FW_CUDA_FUNC int FW::popc8 | ( | U32 | mask | ) |
FW_CUDA_FUNC F64 FW::pow | ( | F64 | a, |
F64 | b | ||
) |
FW_CUDA_FUNC T FW::rcp | ( | const T & | a | ) |
FW_CUDA_FUNC F32 FW::scale | ( | F32 | a, |
int | b | ||
) |
Definition at line 95 of file DLLImports.cpp.
FW_CUDA_FUNC F64 FW::sin | ( | F64 | a | ) |
void FW::sort | ( | T * | data, |
int | num, | ||
SortCompareFunc | compareFunc = sortDefaultCompare<T> , |
||
SortSwapFunc | swapFunc = sortDefaultSwap<T> , |
||
bool | multicore = false |
||
) |
void FW::sort | ( | Array< T > & | data, |
SortCompareFunc | compareFunc = sortDefaultCompare<T> , |
||
SortSwapFunc | swapFunc = sortDefaultSwap<T> , |
||
bool | multicore = false |
||
) |
void FW::sort | ( | Array< T > & | data, |
int | start, | ||
int | end, | ||
SortCompareFunc | compareFunc = sortDefaultCompare<T> , |
||
SortSwapFunc | swapFunc = sortDefaultSwap<T> , |
||
bool | multicore = false |
||
) |
bool FW::sortDefaultCompare | ( | void * | data, |
int | idxA, | ||
int | idxB | ||
) |
FW_CUDA_FUNC T FW::sqr | ( | const T & | a | ) |
FW_CUDA_FUNC F32 FW::sqrt | ( | F32 | a | ) |
FW_CUDA_FUNC F64 FW::sqrt | ( | F64 | a | ) |
FW_CUDA_FUNC T FW::sum | ( | const VectorBase< T, L, S > & | v | ) |
FW_CUDA_FUNC void FW::swap | ( | T & | a, |
T & | b | ||
) |
FW_CUDA_FUNC F64 FW::tan | ( | F64 | a | ) |
FW_CUDA_FUNC S FW::transpose | ( | const MatrixBase< T, L, S > & | v | ) |
FW_CUDA_CONST int FW::c_popc8LUT[] |