Lugdunum  0.1.0
Orthographic.cpp
Go to the documentation of this file.
2 
5 
6 namespace lug {
7 namespace Graphics {
8 namespace Render {
9 namespace Camera {
10 
11 Orthographic::Orthographic(const std::string& name) : Camera(name) {}
12 
14  if (!_renderView) {
15  return;
16  }
17 
18  float xmag = _xmag;
19  float ymag = _ymag;
20 
21  const auto& viewport = _renderView->getViewport();
22 
23  if (xmag == 0.0f && ymag != 0.0f) {
24  xmag = ymag / viewport.getRatio();
25  } else if (xmag != 0.0f && ymag == 0.0f) {
26  ymag = xmag * viewport.getRatio();
27  } else if (xmag == 0.0f && ymag == 0.0f) {
28  xmag = viewport.extent.width;
29  ymag = viewport.extent.height;
30  }
31 
33  -xmag / 2.0f, xmag / 2.0f,
34  -ymag / 2.0f, ymag / 2.0f,
35  _znear,
36  _zfar
37  );
38 
39  _needUpdateProj = false;
40 }
41 
42 } // Camer
43 } // Render
44 } // Graphics
45 } // lug
Orthographic(const Orthographic &)=delete
Matrix< 4, 4, T > ortho(T left, T right, T bottom, T top, T zNear, T zFar)
Definition: Transform.inl:81
const Viewport & getViewport() const
Definition: View.inl:9