|
constexpr | camera_interface (vec3 const &eye, vec3 const &lookat, vec3 const &up, Vec4< std::size_t > const &viewport) |
|
constexpr | camera_interface (vec3 const &eye, vec3 const &lookat, vec3 const &up, Vec4< std::size_t > const &viewport, mat4 const &p) |
|
virtual | ~camera_interface ()=default |
|
auto constexpr | viewport () const -> auto const & |
| Returns number of pixels of plane in x-direction. More...
|
|
auto constexpr | viewport (std::size_t const i) const -> auto const & |
|
auto constexpr | plane_width () const |
| Returns number of pixels of plane in x-direction. More...
|
|
auto constexpr | plane_height () const |
| Returns number of pixels of plane in y-direction. More...
|
|
auto constexpr | aspect_ratio () const |
|
auto constexpr | eye () const -> auto |
|
auto constexpr | right_direction () const |
|
auto constexpr | up_direction () const |
|
auto constexpr | view_direction () const |
|
auto constexpr | set_viewport_without_update (std::size_t const bottom, std::size_t const left, std::size_t const width, std::size_t const height) |
|
auto constexpr | set_viewport (std::size_t const bottom, std::size_t const left, std::size_t const width, std::size_t const height) |
|
auto constexpr | set_resolution_without_update (std::size_t const width, std::size_t const height) |
|
auto constexpr | set_resolution (std::size_t const width, std::size_t const height) |
|
auto | set_gl_viewport () const |
|
auto constexpr | look_at (vec3 const &eye, vec3 const &lookat, vec3 const &up={0, 1, 0}) -> void |
|
auto constexpr | look_at (vec3 const &eye, arithmetic auto const pitch, arithmetic auto const yaw) -> void |
|
auto constexpr | transform_matrix () const -> auto const & |
|
auto constexpr | view_matrix () const |
|
auto constexpr | projection_matrix () const -> auto const & |
|
auto | view_projection_matrix () const |
|
auto | unproject (vec2 const &p) const |
| Projects a screen coordinates to world coordinates. More...
|
|
auto | unproject (vec3 const &p) const |
| Projects a screen coordinates to world coordinates. More...
|
|
auto | unproject (vec4 p) const |
| Projects a homogeneous screen coordinates to world coordinates. More...
|
|
auto | project (vec2 const &p) const |
| Projects a world coordinate to screen coordinates. More...
|
|
auto | project (vec3 const &p) const |
| Projects a world coordinate to screen coordinates. More...
|
|
auto | project (vec4 p) const |
| Projects a homogeneous world coordinate to screen coordinates. More...
|
|
auto | ray (Real const x, Real const y) const -> ray_type |
| Gets a ray through plane at pixel with coordinate [x,y]. More...
|
|
template<floating_point Real>
struct tatooine::rendering::camera_interface< Real >
Interface for camera implementations.
Implementations must override the ray method that casts rays through the camera's image plane.