|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
#include <scene/renderer/shadowRendererDirectional.h>
Public Member Functions | |
| void | buildNonClusteredRenderPasses (FrameGraph *frameGraph, const std::unordered_map< Camera *, std::vector< Light * > > &cameraDirShadowLights) |
| void | cull (Light *light, Camera *camera) |
| std::shared_ptr< RenderPass > | getLightRenderPass (Light *light, Camera *camera, int face, bool clearRenderTarget, bool allCascadesRendering) |
| ShadowRendererDirectional (const std::shared_ptr< GraphicsDevice > &device, Renderer *renderer, ShadowRenderer *shadowRenderer) | |
Static Public Member Functions | |
| static void | generateSplitDistances (Light *light, float nearDist, float farDist) |
Definition at line 23 of file shadowRendererDirectional.h.
| visutwin::canvas::ShadowRendererDirectional::ShadowRendererDirectional | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| Renderer * | renderer, | ||
| ShadowRenderer * | shadowRenderer ) |
Definition at line 20 of file shadowRendererDirectional.cpp.
| void visutwin::canvas::ShadowRendererDirectional::buildNonClusteredRenderPasses | ( | FrameGraph * | frameGraph, |
| const std::unordered_map< Camera *, std::vector< Light * > > & | cameraDirShadowLights ) |
Definition at line 253 of file shadowRendererDirectional.cpp.
References visutwin::canvas::FrameGraph::addRenderPass(), getLightRenderPass(), and visutwin::canvas::LIGHTTYPE_DIRECTIONAL.
Definition at line 47 of file shadowRendererDirectional.cpp.
References visutwin::canvas::Light::cascadeViewports(), visutwin::canvas::Vector3::dot(), visutwin::canvas::Camera::farClip(), visutwin::canvas::Quaternion::fromEulerAngles(), generateSplitDistances(), visutwin::canvas::Matrix4::getColumn(), visutwin::canvas::Camera::getFrustumCorners(), visutwin::canvas::Vector4::getW(), visutwin::canvas::Vector4::getX(), visutwin::canvas::Vector4::getY(), visutwin::canvas::Vector3::getZ(), visutwin::canvas::Vector4::getZ(), visutwin::canvas::Matrix4::identity(), visutwin::canvas::Matrix4::inverse(), visutwin::canvas::Vector3::lengthSquared(), visutwin::canvas::LIGHTTYPE_DIRECTIONAL, visutwin::canvas::Camera::nearClip(), visutwin::canvas::Camera::node(), visutwin::canvas::Light::node(), visutwin::canvas::Vector3::normalized(), visutwin::canvas::Light::numCascades(), visutwin::canvas::Orthographic, visutwin::canvas::Camera::projectionMatrix(), visutwin::canvas::GraphNode::rotation(), visutwin::canvas::Camera::setAspectRatio(), visutwin::canvas::Matrix4::setElement(), visutwin::canvas::Camera::setFarClip(), visutwin::canvas::Camera::setNearClip(), visutwin::canvas::Camera::setOrthoHeight(), visutwin::canvas::Camera::setProjection(), visutwin::canvas::LightRenderData::shadowCamera, visutwin::canvas::Light::shadowCascadeDistances(), visutwin::canvas::Light::shadowDistance(), visutwin::canvas::Light::shadowMatrixPaletteData(), visutwin::canvas::Light::shadowResolution(), visutwin::canvas::LightRenderData::shadowScissor, visutwin::canvas::LightRenderData::shadowViewport, visutwin::canvas::Matrix4::transformPoint(), visutwin::canvas::Matrix4::trs(), visutwin::canvas::Light::type(), and visutwin::canvas::GraphNode::worldTransform().
|
static |
Definition at line 27 of file shadowRendererDirectional.cpp.
References visutwin::canvas::Light::cascadeDistribution(), visutwin::canvas::Light::numCascades(), and visutwin::canvas::Light::shadowCascadeDistancesData().
Referenced by cull().
| std::shared_ptr< RenderPass > visutwin::canvas::ShadowRendererDirectional::getLightRenderPass | ( | Light * | light, |
| Camera * | camera, | ||
| int | face, | ||
| bool | clearRenderTarget, | ||
| bool | allCascadesRendering ) |
Definition at line 230 of file shadowRendererDirectional.cpp.
References visutwin::canvas::LIGHTTYPE_DIRECTIONAL, visutwin::canvas::Light::numShadowFaces(), and visutwin::canvas::Light::type().
Referenced by buildNonClusteredRenderPasses().