25 CameraContext(
float width,
float height,
float fovAng,
float zNear,
float zFar);
83 void Draw(
const Body *excludeBody =
nullptr);
108 void CalcShadows(
const int lightNum,
const Body *b, std::vector<Shadow> &shadowsOut)
const;
120 std::unique_ptr<Graphics::Material> m_billboardMaterial;
140 Color billboardColor;
145 static bool sort_BodyAttrs(
const BodyAttrs &a,
const BodyAttrs &b);
146 friend bool operator<(
const BodyAttrs &a,
const BodyAttrs &b)
148 return sort_BodyAttrs(a, b);
152 std::list<BodyAttrs> m_sortedBodies;
153 std::vector<LightSource> m_lightSources;
float GetZNear() const
Definition: Camera.h:31
float GetFovAng() const
Definition: Camera.h:30
FrameId GetCameraFrame() const
Definition: Camera.h:37
void BeginFrame()
Definition: Camera.cpp:45
void EndFrame()
Definition: Camera.cpp:63
FrameId GetTempFrame() const
Definition: Camera.h:55
~CameraContext()
Definition: Camera.cpp:39
CameraContext(float width, float height, float fovAng, float zNear, float zFar)
Definition: Camera.cpp:25
const vector3d GetCameraPos() const
Definition: Camera.h:45
void SetCameraOrient(const matrix3x3d &orient)
Definition: Camera.h:43
float GetWidth() const
Definition: Camera.h:28
const matrix3x3d & GetCameraOrient() const
Definition: Camera.h:46
void ApplyDrawTransforms(Graphics::Renderer *r)
Definition: Camera.cpp:73
const Graphics::Frustum & GetFrustum() const
Definition: Camera.h:49
void SetCameraPosition(const vector3d &pos)
Definition: Camera.h:40
float GetZFar() const
Definition: Camera.h:32
void SetCameraFrame(FrameId frame)
Definition: Camera.h:35
float GetHeight() const
Definition: Camera.h:29
const Body * GetBody() const
Definition: Camera.h:92
const Graphics::Light & GetLight() const
Definition: Camera.h:93
LightSource(const Body *b, Graphics::Light &light)
Definition: Camera.h:88
const CameraContext * GetContext() const
Definition: Camera.h:80
Camera(RefCountedPtr< CameraContext > context, Graphics::Renderer *renderer)
Definition: Camera.cpp:97
int GetNumLightSources() const
Definition: Camera.h:114
void Draw(const Body *excludeBody=nullptr)
Definition: Camera.cpp:209
void Update()
Definition: Camera.cpp:135
void PrincipalShadows(const Body *b, const int n, std::vector< Shadow > &shadowsOut) const
Definition: Camera.cpp:389
float ShadowedIntensity(const int lightNum, const Body *b) const
Definition: Camera.cpp:377
const std::vector< LightSource > & GetLightSources() const
Definition: Camera.h:113
void CalcShadows(const int lightNum, const Body *b, std::vector< Shadow > &shadowsOut) const
Definition: Camera.cpp:296
Definition: Renderer.h:39
Definition: RefCounted.h:11
T * Get() const
Definition: SmartPtr.h:37
Definition: Background.h:13
float srad
Definition: Camera.h:102
bool operator<(const Shadow &other) const
Definition: Camera.h:105
float lrad
Definition: Camera.h:103
vector3d centre
Definition: Camera.h:101