EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Public Attributes | List of all members
EBGeometry::Render::RenderDetail::CameraView< T > Struct Template Reference

What every pixel needs from the camera, worked out once per frame: the eye, the view's axes and the field of view's slope. More...

#include <EBGeometry_Render.hpp>

Public Attributes

Vec3T< T > m_eye
 The eye.
 
Vec3T< T > m_forward
 Unit direction the camera looks in.
 
Vec3T< T > m_right
 Unit right of the image.
 
Vec3T< T > m_up
 Unit up of the image.
 
Vec3T< T > m_axis
 Unit up axis of the scene.
 
Vec3T< T > m_first
 Horizontal unit vectors (see Camera::horizontal()).
 
Vec3T< T > m_second
 Horizontal unit vectors (see Camera::horizontal()).
 
T m_tanHalf
 Tangent of half the vertical field of view.
 
T m_distance
 Distance from the eye to the target.
 
T m_footprint
 How wide a pixel is at distance t along a camera ray: m_footprint + m_footprintPerLength t (the first for an orthographic camera, the second for a perspective one).
 
T m_footprintPerLength
 See m_footprint.
 
bool m_orthographic
 Whether the camera is orthographic.
 

Detailed Description

template<class T>
struct EBGeometry::Render::RenderDetail::CameraView< T >

What every pixel needs from the camera, worked out once per frame: the eye, the view's axes and the field of view's slope.

Internal helper; not part of the public API. It depends on the camera alone, so it is computed on the host even for a device render (the shape's box, which only a device view may read there, is not in it).

Template Parameters
TFloating-point precision.

The documentation for this struct was generated from the following file: