|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
Perspective or orthographic camera with projection matrix, jitter (TAA), and render target binding. More...
#include <scene/camera.h>
Public Member Functions | |
| void | _enableRenderPassColorGrab (const std::shared_ptr< GraphicsDevice > &device, bool enable) |
| void | _enableRenderPassDepthGrab (const std::shared_ptr< GraphicsDevice > &device, bool enable) |
| float | aspectRatio () const |
| AspectRatioMode | aspectRatioMode () const |
| const Color & | clearColor () const |
| bool | clearColorBufferEnabled () const |
| bool | clearDepthBufferEnabled () const |
| bool | clearStencilBufferEnabled () const |
| float | farClip () const |
| float | fov () const |
| std::array< Vector3, 8 > | getFrustumCorners (const float nearDist, const float farDist) const |
| bool | horizontalFov () const |
| float | jitter () const |
| const std::array< float, 4 > & | jitters () const |
| float | nearClip () const |
| const std::unique_ptr< GraphNode > & | node () const |
| float | orthoHeight () const |
| bool | planarReflectionDepthPass () const |
| ProjectionType | projection () const |
| const Matrix4 & | projectionMatrix () |
| const Matrix4 & | projectionMatrixSkybox () |
| const Vector4 & | rect () const |
| const std::shared_ptr< RenderPassColorGrab > & | renderPassColorGrab () const |
| const std::shared_ptr< RenderPass > & | renderPassDepthGrab () const |
| const std::vector< std::shared_ptr< RenderPass > > & | renderPasses () const |
| const std::shared_ptr< RenderTarget > & | renderTarget () const |
| const Vector4 & | scissorRect () const |
| void | setAspectRatio (float value) |
| void | setAspectRatioMode (AspectRatioMode value) |
| void | setClearColor (const Color &value) |
| void | setClearColorBuffer (bool value) |
| void | setClearDepthBuffer (bool value) |
| void | setClearStencilBuffer (bool value) |
| void | setFarClip (const float value) |
| void | setFov (float value) |
| void | setJitter (const float value) |
| void | setNearClip (const float value) |
| void | setNode (GraphNode *value) |
| void | setOrthoHeight (const float value) |
| void | setPlanarReflectionDepthPass (bool v) |
| void | setProjection (ProjectionType value) |
| void | setRect (const Vector4 &value) |
| void | setRenderTarget (const std::shared_ptr< RenderTarget > &value) |
| void | setScissorRect (const Vector4 &value) |
| void | setScissorRectClear (bool value) |
| void | storeShaderMatrices (const Matrix4 &viewProjection, float jitterX, float jitterY, int renderVersion) |
| const Matrix4 & | viewProjectionInverse () const |
| const Matrix4 & | viewProjectionPrevious () const |
Perspective or orthographic camera with projection matrix, jitter (TAA), and render target binding.
Camera manages the view-to-clip transformation and owns the list of RenderPass instances that define how the camera's view is rendered (forward, shadow, post-process).
| void visutwin::canvas::Camera::_enableRenderPassColorGrab | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| bool | enable ) |
Definition at line 77 of file camera.cpp.
| void visutwin::canvas::Camera::_enableRenderPassDepthGrab | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| bool | enable ) |
Definition at line 88 of file camera.cpp.
|
inline |
|
inline |
Definition at line 50 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
Definition at line 89 of file camera.h.
Referenced by visutwin::canvas::ShadowRenderer::setupRenderPass().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 57 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull().
|
inline |
Definition at line 126 of file camera.h.
References visutwin::canvas::Perspective.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull().
|
inline |
|
inline |
Definition at line 76 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
|
inline |
Definition at line 54 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull().
|
inline |
Definition at line 102 of file camera.h.
Referenced by visutwin::canvas::LightCamera::create(), visutwin::canvas::ShadowRendererDirectional::cull(), visutwin::canvas::ShadowRendererLocal::cullLocalLights(), visutwin::canvas::RenderPassShadowDirectional::execute(), visutwin::canvas::Renderer::renderForwardLayer(), and visutwin::canvas::shouldRenderShadowMeshInstance().
|
inline |
|
inlinenodiscard |
Definition at line 220 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
|
inline |
Definition at line 65 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull(), visutwin::canvas::ShadowRendererLocal::cullLocalLights(), visutwin::canvas::RenderPassShadowDirectional::execute(), visutwin::canvas::isVisibleInCameraFrustum(), and visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
|
inline |
Definition at line 94 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 86 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer(), and visutwin::canvas::ShadowRenderer::setupRenderPass().
|
inline |
Definition at line 99 of file camera.h.
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
| void visutwin::canvas::Camera::setAspectRatio | ( | float | value | ) |
Definition at line 25 of file camera.cpp.
Referenced by visutwin::canvas::LightCamera::create(), visutwin::canvas::ShadowRendererDirectional::cull(), and visutwin::canvas::Renderer::renderForwardLayer().
| void visutwin::canvas::Camera::setAspectRatioMode | ( | AspectRatioMode | value | ) |
Definition at line 33 of file camera.cpp.
Referenced by visutwin::canvas::LightCamera::create().
|
inline |
Definition at line 90 of file camera.h.
Referenced by visutwin::canvas::ShadowRenderer::createShadowCamera().
|
inline |
Definition at line 111 of file camera.h.
Referenced by visutwin::canvas::ShadowRenderer::createShadowCamera().
|
inline |
Definition at line 107 of file camera.h.
Referenced by visutwin::canvas::ShadowRenderer::createShadowCamera().
|
inline |
Definition at line 109 of file camera.h.
Referenced by visutwin::canvas::ShadowRenderer::createShadowCamera().
|
inline |
Definition at line 58 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull(), and visutwin::canvas::ShadowRendererLocal::cullLocalLights().
|
inline |
Definition at line 43 of file camera.h.
Referenced by visutwin::canvas::LightCamera::create(), and visutwin::canvas::ShadowRendererLocal::cullLocalLights().
|
inline |
|
inline |
Definition at line 55 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull(), and visutwin::canvas::ShadowRendererLocal::cullLocalLights().
| void visutwin::canvas::Camera::setNode | ( | GraphNode * | value | ) |
Definition at line 12 of file camera.cpp.
Referenced by visutwin::canvas::LightCamera::create().
|
inline |
Definition at line 61 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererDirectional::cull().
|
inline |
| void visutwin::canvas::Camera::setProjection | ( | ProjectionType | value | ) |
Definition at line 17 of file camera.cpp.
Referenced by visutwin::canvas::LightCamera::create(), and visutwin::canvas::ShadowRendererDirectional::cull().
|
inline |
|
inline |
Definition at line 87 of file camera.h.
Referenced by visutwin::canvas::ShadowRendererLocal::cullLocalLights(), and visutwin::canvas::ShadowRenderer::prepareFace().
|
inline |
|
inline |
Definition at line 105 of file camera.h.
Referenced by visutwin::canvas::LightCamera::create().
| void visutwin::canvas::Camera::storeShaderMatrices | ( | const Matrix4 & | viewProjection, |
| float | jitterX, | ||
| float | jitterY, | ||
| int | renderVersion ) |
Definition at line 58 of file camera.cpp.
References visutwin::canvas::Matrix4::inverse().
Referenced by visutwin::canvas::Renderer::renderForwardLayer().
|
inline |
|
inline |