OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Classes | Macros | Typedefs | Functions
optixu_matrix_namespace.h File Reference

Detailed Description

OptiX public API.

Author
NVIDIA Corporation OptiX public API Reference - Public Matrix namespace

Go to the source code of this file.

Classes

struct  optix::VectorDim< DIM >
 
struct  optix::VectorDim< 2 >
 
struct  optix::VectorDim< 3 >
 
struct  optix::VectorDim< 4 >
 
class  optix::Matrix< M, N >
 
class  optix::Matrix< M, N >
 

Macros

#define OPTIXU_INLINE_DEFINED   1
 
#define OPTIXU_INLINE   __forceinline__
 
#define RT_MATRIX_ACCESS(m, i, j)   m[i*N+j]
 
#define RT_MAT_DECL   template <unsigned int M, unsigned int N>
 

Typedefs

typedef Matrix< 2, 2 > optix::Matrix2x2
 
typedef Matrix< 2, 3 > optix::Matrix2x3
 
typedef Matrix< 2, 4 > optix::Matrix2x4
 
typedef Matrix< 3, 2 > optix::Matrix3x2
 
typedef Matrix< 3, 3 > optix::Matrix3x3
 
typedef Matrix< 3, 4 > optix::Matrix3x4
 
typedef Matrix< 4, 2 > optix::Matrix4x2
 
typedef Matrix< 4, 3 > optix::Matrix4x3
 
typedef Matrix< 4, 4 > optix::Matrix4x4
 

Functions

template<unsigned int M>
OPTIXU_INLINE RT_HOSTDEVICE
Matrix< M, M > & 
optix::operator*= (Matrix< M, M > &m1, const Matrix< M, M > &m2)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > & 
optix::operator-= (Matrix< M, N > &m1, const Matrix< M, N > &m2)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > & 
optix::operator+= (Matrix< M, N > &m1, const Matrix< M, N > &m2)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > & 
optix::operator*= (Matrix< M, N > &m1, float f)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > & 
optix::operator/= (Matrix< M, N > &m1, float f)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > 
optix::operator- (const Matrix< M, N > &m1, const Matrix< M, N > &m2)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > 
optix::operator+ (const Matrix< M, N > &m1, const Matrix< M, N > &m2)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > 
optix::operator/ (const Matrix< M, N > &m, float f)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > 
optix::operator* (const Matrix< M, N > &m, float f)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N > 
optix::operator* (float f, const Matrix< M, N > &m)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N >
::floatM 
optix::operator* (const Matrix< M, N > &m, const typename Matrix< M, N >::floatN &v)
 
RT_MAT_DECL OPTIXU_INLINE
RT_HOSTDEVICE Matrix< M, N >
::floatN 
optix::operator* (const typename Matrix< M, N >::floatM &v, const Matrix< M, N > &m)
 
template<unsigned int M, unsigned int N, unsigned int R>
OPTIXU_INLINE RT_HOSTDEVICE
Matrix< M, R > 
optix::operator* (const Matrix< M, N > &m1, const Matrix< N, R > &m2)
 
template<unsigned int N>
OPTIXU_INLINE RT_HOSTDEVICE float2 optix::operator* (const Matrix< 2, N > &m, const typename Matrix< 2, N >::floatN &vec)
 
template<unsigned int N>
OPTIXU_INLINE RT_HOSTDEVICE float3 optix::operator* (const Matrix< 3, N > &m, const typename Matrix< 3, N >::floatN &vec)
 
template<unsigned int N>
OPTIXU_INLINE RT_HOSTDEVICE float4 optix::operator* (const Matrix< 4, N > &m, const typename Matrix< 4, N >::floatN &vec)
 
OPTIXU_INLINE RT_HOSTDEVICE float4 optix::operator* (const Matrix< 4, 4 > &m, const float4 &vec)
 
template<unsigned int M, unsigned int N, unsigned int R>
RT_HOSTDEVICE Matrix< M, R > optix::operator* (const Matrix< M, N > &m1, const Matrix< N, R > &m2)
 
template<unsigned int M>
RT_HOSTDEVICE Matrix< M, M > & optix::operator*= (Matrix< M, M > &m1, const Matrix< M, M > &m2)
 
OPTIXU_INLINE RT_HOSTDEVICE
Matrix< 3, 3 > 
optix::make_matrix3x3 (const Matrix< 4, 4 > &matrix)