Flutter Impeller
gaussian_blur_filter_contents.cc File Reference
#include "impeller/entity/contents/filters/gaussian_blur_filter_contents.h"
#include <cmath>
#include "flutter/fml/make_copyable.h"
#include "impeller/entity/contents/clip_contents.h"
#include "impeller/entity/contents/content_context.h"
#include "impeller/entity/entity.h"
#include "impeller/entity/texture_downsample.frag.h"
#include "impeller/entity/texture_fill.frag.h"
#include "impeller/entity/texture_fill.vert.h"
#include "impeller/geometry/color.h"
#include "impeller/renderer/render_pass.h"
#include "impeller/renderer/vertex_buffer_builder.h"

Go to the source code of this file.

Namespaces

 impeller
 

Typedefs

using impeller::GaussianBlurVertexShader = GaussianBlurPipeline::VertexShader
 
using impeller::GaussianBlurFragmentShader = GaussianBlurPipeline::FragmentShader
 

Functions

KernelSamples impeller::GenerateBlurInfo (BlurParameters parameters)
 
GaussianBlurPipeline::FragmentShader::KernelSamples impeller::LerpHackKernelSamples (KernelSamples parameters)
 

Variable Documentation

◆ blur_radius

◆ effective_scalar

Vector2 effective_scalar

The effective scalar of the down-sample pass. This isn't usually exactly as we'd calculate because it has to be rounded to integer boundaries for generating the texture for the output.

Definition at line 209 of file gaussian_blur_filter_contents.cc.

◆ local_padding

Vector2 local_padding

Padding in unrotated local space.

Definition at line 88 of file gaussian_blur_filter_contents.cc.

◆ padding

Vector2 padding

The halo padding in source space.

Definition at line 86 of file gaussian_blur_filter_contents.cc.

Referenced by impeller::DriverInfoVK::DumpToLog(), and impeller::testing::TEST_P().

◆ scaled_sigma

Vector2 scaled_sigma

Sigma when considering an entity's scale and the effect transform.

Definition at line 82 of file gaussian_blur_filter_contents.cc.

Referenced by impeller::GaussianBlurFilterContents::GetFilterSourceCoverage().

◆ source_space_offset

Vector2 source_space_offset

The translation that is used to get from source space to unrotated local space.

Definition at line 80 of file gaussian_blur_filter_contents.cc.

◆ source_space_scalar

Vector2 source_space_scalar

The scalar that is used to get from source space to unrotated local space.

Definition at line 77 of file gaussian_blur_filter_contents.cc.

◆ subpass_size

ISize subpass_size

The output size of the down-sampling pass.

Definition at line 202 of file gaussian_blur_filter_contents.cc.

Referenced by impeller::Contents::RenderToSnapshot(), and impeller::Canvas::SaveLayer().

◆ transform

Matrix transform

Transforms from unrotated local space to position the output from the down-sample pass. This can differ if we request a coverage hint but it is rejected, as is the case with backdrop filters.

Definition at line 214 of file gaussian_blur_filter_contents.cc.

Referenced by impeller::LazyGlyphAtlas::AddTextFrame(), impeller::AdvancedBlend(), impeller::ColorSourceContents::AppliesAlphaForStrokeCoverage(), impeller::LineGeometry::ComputeAlongVector(), impeller::ArcGeometry::ComputeAlphaCoverage(), impeller::CircleGeometry::ComputeAlphaCoverage(), impeller::StrokeSegmentsGeometry::ComputeAlphaCoverage(), impeller::LineGeometry::ComputeCorners(), impeller::LineGeometry::ComputePixelHalfWidth(), impeller::Geometry::ComputeStrokeAlphaCoverage(), impeller::TextFrame::ComputeSubpixelPosition(), impeller::TextContents::ComputeVertexData(), impeller::Canvas::Concat(), impeller::FillPathSourceGeometry::CoversArea(), impeller::LineGeometry::CoversArea(), impeller::FillRectGeometry::CoversArea(), impeller::RoundRectGeometry::CoversArea(), impeller::FillRoundRectGeometry::CoversArea(), impeller::RoundSuperellipseGeometry::CoversArea(), impeller::DlVerticesGeometry::GetCoverage(), impeller::LineGeometry::GetCoverage(), impeller::PointFieldGeometry::GetCoverage(), impeller::FillRectGeometry::GetCoverage(), impeller::StrokeRectGeometry::GetCoverage(), impeller::StrokePathSourceGeometry::GetCoverage(), impeller::ArcStrokeGeometry::GetCoverage(), impeller::BorderMaskBlurFilterContents::GetFilterCoverage(), impeller::MatrixFilterContents::GetFilterCoverage(), impeller::DirectionalMorphologyFilterContents::GetFilterCoverage(), impeller::Entity::GetShaderTransform(), impeller::StrokeSegmentsGeometry::GetStrokeCoverage(), impeller::TRect< T >::GetTransformedPoints(), impeller::interop::ImpellerDisplayListBuilderSetTransform(), impeller::interop::ImpellerDisplayListBuilderTransform(), impeller::LinearGradientContents::IsOpaque(), impeller::RadialGradientContents::IsOpaque(), impeller::SolidColorContents::IsOpaque(), impeller::SweepGradientContents::IsOpaque(), impeller::TiledTextureContents::IsOpaque(), impeller::PipelineBlend(), impeller::Canvas::PreConcat(), impeller::EntityPassClipStack::RecordClip(), impeller::VerticesSimpleBlendContents::SetEffectTransform(), impeller::TextFrame::SetPerFrameData(), IMPELLER_HPP_NAMESPACE::DisplayListBuilder::SetTransform(), impeller::Entity::SetTransform(), impeller::testing::TEST(), impeller::testing::TEST_P(), impeller::compiler::ToLowerCase(), IMPELLER_HPP_NAMESPACE::DisplayListBuilder::Transform(), impeller::Canvas::Transform(), impeller::TRect< T >::TransformAndClipBounds(), impeller::TRect< T >::TransformBounds(), and impeller::DlDispatcherBase::transformFullPerspective().

◆ uvs

Quad uvs

The UVs that will be used for drawing to the down-sampling pass. This effectively is chopping out a region of the input.

Definition at line 205 of file gaussian_blur_filter_contents.cc.

Referenced by impeller::testing::TEST_P().