|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
#include <scene/renderer/renderer.h>
Public Member Functions | |
| void | cullShadowmaps (Camera *camera) |
| Renderer (const std::shared_ptr< GraphicsDevice > &device, const std::shared_ptr< Scene > &scene) | |
| void | renderForwardLayer (Camera *camera, RenderTarget *renderTarget, Layer *layer, bool transparent) |
Protected Member Functions | |
| ShadowRendererDirectional * | shadowRendererDirectional () const |
Protected Attributes | |
| std::unordered_map< Camera *, std::vector< Light * > > | _cameraDirShadowLights |
| std::shared_ptr< GraphicsDevice > | _device |
| std::vector< Light * > | _lights |
| std::vector< Light * > | _localLights |
| std::vector< std::unique_ptr< ShadowMap > > | _ownedShadowMaps |
| std::shared_ptr< RenderPassUpdateClustered > | _renderPassUpdateClustered |
| std::shared_ptr< Scene > | _scene |
| std::unique_ptr< ShadowRendererLocal > | _shadowRendererLocal |
Friends | |
| class | Engine |
| class | ShadowRenderer |
Definition at line 28 of file renderer.h.
| visutwin::canvas::Renderer::Renderer | ( | const std::shared_ptr< GraphicsDevice > & | device, |
| const std::shared_ptr< Scene > & | scene ) |
Definition at line 149 of file renderer.cpp.
References _device, _renderPassUpdateClustered, _scene, _shadowRendererLocal, and visutwin::canvas::runLightingValidationSelfTest().
Referenced by visutwin::canvas::ForwardRenderer::ForwardRenderer().
| void visutwin::canvas::Renderer::cullShadowmaps | ( | Camera * | camera | ) |
Definition at line 170 of file renderer.cpp.
References _cameraDirShadowLights, _device, _ownedShadowMaps, visutwin::canvas::ShadowMap::create(), visutwin::canvas::LightComponent::instances(), visutwin::canvas::LIGHTTYPE_DIRECTIONAL, visutwin::canvas::Light::setShadowMap(), and visutwin::canvas::Light::shadowMap().
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph().
| void visutwin::canvas::Renderer::renderForwardLayer | ( | Camera * | camera, |
| RenderTarget * | renderTarget, | ||
| Layer * | layer, | ||
| bool | transparent ) |
Definition at line 218 of file renderer.cpp.
References _device, _scene, visutwin::canvas::ObjectPool< T >::allocate(), visutwin::canvas::ASPECT_AUTO, visutwin::canvas::Camera::aspectRatioMode(), visutwin::canvas::ObjectPool< T >::freeAll(), visutwin::canvas::getDefaultMaterial(), visutwin::canvas::getProgramLibrary(), visutwin::canvas::Vector4::getW(), visutwin::canvas::Vector4::getX(), visutwin::canvas::Vector4::getY(), visutwin::canvas::Vector4::getZ(), visutwin::canvas::Layer::id(), visutwin::canvas::Matrix4::identity(), visutwin::canvas::CameraComponent::instances(), visutwin::canvas::LightComponent::instances(), visutwin::canvas::RenderComponent::instances(), visutwin::canvas::isVisibleInCameraFrustum(), visutwin::canvas::Camera::jitter(), visutwin::canvas::LIGHTTYPE_AREA_RECT, visutwin::canvas::LIGHTTYPE_DIRECTIONAL, visutwin::canvas::LIGHTTYPE_OMNI, visutwin::canvas::Layer::meshInstances(), visutwin::canvas::Camera::node(), visutwin::canvas::Camera::planarReflectionDepthPass(), visutwin::canvas::Camera::projectionMatrix(), visutwin::canvas::Camera::rect(), visutwin::canvas::Camera::renderTarget(), visutwin::canvas::Camera::scissorRect(), visutwin::canvas::Camera::setAspectRatio(), visutwin::canvas::Matrix4::setElement(), visutwin::canvas::Light::shadowMap(), and visutwin::canvas::Camera::storeShaderMatrices().
|
inlineprotected |
Definition at line 59 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph().
|
friend |
|
friend |
Definition at line 66 of file renderer.h.
References visutwin::canvas::PRIMITIVE_POINTS, visutwin::canvas::PRIMITIVE_TRIFAN, and ShadowRenderer.
Referenced by ShadowRenderer.
|
protected |
Definition at line 57 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph(), and cullShadowmaps().
|
protected |
Definition at line 41 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::addMainRenderPass(), visutwin::canvas::ForwardRenderer::buildFrameGraph(), cullShadowmaps(), Renderer(), and renderForwardLayer().
|
protected |
Definition at line 50 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph().
|
protected |
Definition at line 53 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph().
|
protected |
Definition at line 62 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph(), and cullShadowmaps().
|
protected |
Definition at line 45 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph(), and Renderer().
|
protected |
Definition at line 43 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::addMainRenderPass(), visutwin::canvas::ForwardRenderer::buildFrameGraph(), Renderer(), and renderForwardLayer().
|
protected |
Definition at line 47 of file renderer.h.
Referenced by visutwin::canvas::ForwardRenderer::buildFrameGraph(), and Renderer().