#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) |
Vector2 blur_radius |
Blur radius in source pixels based on scaled_sigma.
Definition at line 84 of file gaussian_blur_filter_contents.cc.
Referenced by impeller::GaussianBlurFilterContents::CalculateScale(), impeller::GaussianBlurFilterContents::GetFilterSourceCoverage(), impeller::SolidRRectLikeBlurContents::Render(), impeller::testing::TEST(), and impeller::testing::TEST_P().
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.
Vector2 local_padding |
Padding in unrotated local space.
Definition at line 88 of file gaussian_blur_filter_contents.cc.
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().
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().
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.
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.
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().
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().
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().