|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
#include <platform/graphics/metal/metalSsaoPass.h>
Public Member Functions | |
| void | execute (MTL::RenderCommandEncoder *encoder, const SsaoPassParams ¶ms, MetalRenderPipeline *pipeline, const std::shared_ptr< RenderTarget > &renderTarget, const std::vector< std::shared_ptr< MetalBindGroupFormat > > &bindGroupFormats, MTL::SamplerState *defaultSampler, MTL::DepthStencilState *defaultDepthStencilState) |
| Execute the SSAO pass on the active render command encoder. | |
| MetalSsaoPass (MetalGraphicsDevice *device, MetalComposePass *composePass) | |
| ~MetalSsaoPass () | |
Manages the SSAO pass: lazy resource creation, pipeline lookup, and dispatch. Depends on MetalComposePass for shared full-screen vertex buffer/format.
Definition at line 30 of file metalSsaoPass.h.
| visutwin::canvas::MetalSsaoPass::MetalSsaoPass | ( | MetalGraphicsDevice * | device, |
| MetalComposePass * | composePass ) |
Definition at line 227 of file metalSsaoPass.cpp.
| visutwin::canvas::MetalSsaoPass::~MetalSsaoPass | ( | ) |
Definition at line 232 of file metalSsaoPass.cpp.
| void visutwin::canvas::MetalSsaoPass::execute | ( | MTL::RenderCommandEncoder * | encoder, |
| const SsaoPassParams & | params, | ||
| MetalRenderPipeline * | pipeline, | ||
| const std::shared_ptr< RenderTarget > & | renderTarget, | ||
| const std::vector< std::shared_ptr< MetalBindGroupFormat > > & | bindGroupFormats, | ||
| MTL::SamplerState * | defaultSampler, | ||
| MTL::DepthStencilState * | defaultDepthStencilState ) |
Execute the SSAO pass on the active render command encoder.
Definition at line 273 of file metalSsaoPass.cpp.
References visutwin::canvas::SsaoPassParams::angleIncCos, visutwin::canvas::SsaoPassParams::angleIncSin, visutwin::canvas::SsaoPassParams::aspect, visutwin::canvas::Primitive::base, visutwin::canvas::SsaoPassParams::bias, visutwin::canvas::SsaoPassParams::cameraFar, visutwin::canvas::SsaoPassParams::cameraNear, visutwin::canvas::Primitive::count, visutwin::canvas::CULLFACE_NONE, visutwin::canvas::SsaoPassParams::depthTexture, visutwin::canvas::MetalRenderPipeline::get(), visutwin::canvas::Texture::impl(), visutwin::canvas::Primitive::indexed, visutwin::canvas::SsaoPassParams::intensity, visutwin::canvas::SsaoPassParams::invRadiusSquared, visutwin::canvas::SsaoPassParams::invResolutionX, visutwin::canvas::SsaoPassParams::invResolutionY, visutwin::canvas::SsaoPassParams::minHorizonAngleSineSquared, visutwin::canvas::SsaoPassParams::peak2, visutwin::canvas::SsaoPassParams::power, visutwin::canvas::PRIMITIVE_TRIANGLES, visutwin::canvas::SsaoPassParams::projectionScaleRadius, visutwin::canvas::SsaoPassParams::randomize, visutwin::canvas::SsaoPassParams::sampleCount, visutwin::canvas::SsaoPassParams::spiralTurns, and visutwin::canvas::Primitive::type.