OpenVDB  9.0.1
Public Member Functions | List of all members
Camera< RealT, Vec3T, RayT > Class Template Reference

A minimal perspective camera for ray generation. More...

#include <nanovdb/examples/benchmark/Camera.h>

Public Member Functions

 Camera ()=default
 default Ctor. More...
 
__hostdev__ Camera (const Vec3T &eye, const Vec3T &lookat, const Vec3T &up, RealT vfov, RealT aspect)
 Ctor. // vfov is top to bottom in degrees. More...
 
__hostdev__ void update (const Vec3T &eye, const Vec3T &lookat, const Vec3T &up, RealT vfov, RealT aspect)
 
__hostdev__ RayT getRay (RealT u, RealT v) const
 {u,v} are are assumed to be [0,1] More...
 
__hostdev__ const Vec3T & P () const
 
__hostdev__ const Vec3T & U () const
 
__hostdev__ const Vec3T & V () const
 
__hostdev__ const Vec3T & W () const
 

Detailed Description

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>
class nanovdb::Camera< RealT, Vec3T, RayT >

A minimal perspective camera for ray generation.

Constructor & Destructor Documentation

Camera ( )
default

default Ctor.

__hostdev__ Camera ( const Vec3T &  eye,
const Vec3T &  lookat,
const Vec3T &  up,
RealT  vfov,
RealT  aspect 
)
inline

Ctor. // vfov is top to bottom in degrees.

Note
up is assumed to be a unit-vector

Member Function Documentation

__hostdev__ RayT getRay ( RealT  u,
RealT  v 
) const
inline

{u,v} are are assumed to be [0,1]

__hostdev__ const Vec3T& P ( ) const
inline
__hostdev__ const Vec3T& U ( ) const
inline
__hostdev__ void update ( const Vec3T &  eye,
const Vec3T &  lookat,
const Vec3T &  up,
RealT  vfov,
RealT  aspect 
)
inline
__hostdev__ const Vec3T& V ( ) const
inline
__hostdev__ const Vec3T& W ( ) const
inline