Loading...
Searching...
No Matches
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.
__hostdev__ | Camera (const Vec3T &eye, const Vec3T &lookat, const Vec3T &up, RealT vfov, RealT aspect)
| Ctor. // vfov is top to bottom in degrees.
__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]
__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() [1/2]

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

Camera | ( |  | ) |

default

default Ctor.

## Camera() [2/2]

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__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

## getRay()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

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

inline

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

## P()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__hostdev__ const Vec3T & P | ( |  | ) | const

inline

## U()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__hostdev__ const Vec3T & U | ( |  | ) | const

inline

## update()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__hostdev__ void update | ( | const Vec3T & | eye,
|  | const Vec3T & | lookat,
|  | const Vec3T & | up,
|  | RealT | vfov,
|  | RealT | aspect )

inline

## V()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__hostdev__ const Vec3T & V | ( |  | ) | const

inline

## W()

template<typename RealT = float, typename Vec3T = Vec3<RealT>, typename RayT = Ray<RealT>>

__hostdev__ const Vec3T & W | ( |  | ) | const

inline