Euclid
Geometry Processing and Shape Analysis in C++
|
A RayCamera using orthographic projection. More...
#include <RayTracer.h>
Public Member Functions | |
OrthoRayCamera ()=default | |
Create an OrthoRayCamera using default parameters. | |
OrthoRayCamera (const Vec3 &position, const Vec3 &focus, const Vec3 &up, float xextent, float yextent, float tnear, float tfar) | |
Create an OrthoRayCamera. More... | |
void | set_extent (float xextent, float yextent) |
Set the extent of the film plane. | |
RTCRayHit | gen_ray (float s, float t) const override |
Generate an embree rayhit structure. More... | |
Public Member Functions inherited from Euclid::RayCamera | |
RayCamera ()=default | |
Create a RayCamera. | |
RayCamera (const Vec3 &position, const Vec3 &focus, const Vec3 &up, float tnear, float tfar) | |
Create a RayCamera. More... | |
Public Member Functions inherited from Euclid::Camera | |
Camera ()=default | |
Create a Camera with default paramters. | |
Camera (const Vec3 &position, const Vec3 &focus, const Vec3 &up, float tnear, float tfar) | |
Create a Camera. More... | |
void | lookat (const Vec3 &position, const Vec3 &focus, const Vec3 &up) |
Pose the camera according to the parameteres. | |
void | set_range (float tnear, float tfar) |
Set the range of the ray. More... | |
Additional Inherited Members | |
Public Types inherited from Euclid::Camera | |
using | Vec3 = Eigen::Vector3f |
Public Attributes inherited from Euclid::RayCamera | |
Film | film |
The film plane. More... | |
Public Attributes inherited from Euclid::Camera | |
Eigen::Vector3f | pos { 0.0f, 0.0f, 0.0f } |
Position. | |
Eigen::Vector3f | u { 1.0f, 0.0f, 0.0f } |
Right vector. | |
Eigen::Vector3f | v { 0.0f, 1.0f, 0.0f } |
Up vector. | |
Eigen::Vector3f | dir { 0.0f, 0.0f, 1.0f } |
Negative view vector. | |
float | tnear = 0.0f |
The near plane. | |
float | tfar = std::numeric_limits<float>::max() |
The far plane. | |
The range of visible frustum of an orthographic camera is determined by the extent of film plane in world space.
|
inline |
In addition to camera position and orientation, an orthogonal camera specifies width and height of the film plane directly.
position | Position. |
focus | Focus. |
up | Rough up direction. |
xextent | Width of the film plane in world space. |
yextent | Height of the film plane in world space. |
tnear | The near clipping plane. |
tfar | The far clipping plane. |
|
inlineoverridevirtual |
The ray's origin be at the pixel (s, t) on the film plane and points to the camera viewing direction.
Implements Euclid::RayCamera.