Euphoria
viewport.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "base/rect.h"
4 #include "base/vec2.h"
5 #include "base/ray.h"
6 
7 namespace eu::core
8 {
9  struct Viewport
10  {
11  Viewport(const Recti& r);
12 
13  [[nodiscard]] float
14  get_aspect_ratio() const;
15 
16  [[nodiscard]] vec2f
17  to_clip_coord(const vec2i& p) const;
18 
20  };
21 
22  struct CompiledCamera3;
23 
25  (
26  const CompiledCamera3& camera,
27  const Viewport& viewport,
28  const vec2i& position
29  );
30 
32  (
33  const CompiledCamera3& camera,
34  const Viewport& viewport,
35  const vec2i& position
36  );
37 }
UnitRay3f from_mouse_to_unit_ray(const core::CompiledCamera3 &camera, const core::Viewport &viewport, const vec2i &position)
Definition: viewport.cc:48
Ray3f from_mouse_to_ray(const core::CompiledCamera3 &camera, const core::Viewport &viewport, const vec2i &position)
Definition: viewport.cc:31
Definition: ray.h:37
Viewport(const Recti &r)
Definition: viewport.cc:8
float get_aspect_ratio() const
Definition: viewport.cc:15
vec2f to_clip_coord(const vec2i &p) const
Definition: viewport.cc:22
Definition: vec2.h:33
Definition: vec2.h:72