\hypertarget{classACG_1_1BilateralBlurFilter}{}\section{A\+CG\+:\+:Bilateral\+Blur\+Filter Class Reference}
\label{classACG_1_1BilateralBlurFilter}\index{A\+C\+G\+::\+Bilateral\+Blur\+Filter@{A\+C\+G\+::\+Bilateral\+Blur\+Filter}}
Inheritance diagram for A\+CG\+:\+:Bilateral\+Blur\+Filter\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classACG_1_1BilateralBlurFilter}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_af669c904677b2d5181a60596608b3f3e}\label{classACG_1_1BilateralBlurFilter_af669c904677b2d5181a60596608b3f3e}} 
{\bfseries Bilateral\+Blur\+Filter} (int \+\_\+tex\+Width, int \+\_\+tex\+Height, int \+\_\+blur\+Radius, float \+\_\+blur\+SigmaS=1.\+0f, float blur\+Sigma\+R=1.\+0f, G\+Lenum \+\_\+internalfmt=\+G\+L\+\_\+\+R\+G\+B\+A)
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a7a63c59da4202115cdd1c51320530969}\label{classACG_1_1BilateralBlurFilter_a7a63c59da4202115cdd1c51320530969}} 
virtual \hyperlink{classACG_1_1BilateralBlurFilter_a7a63c59da4202115cdd1c51320530969}{$\sim$\+Bilateral\+Blur\+Filter} ()
\begin{DoxyCompactList}\small\item\em Class destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a7c021057b34383f7fe8ca63b71fb5b5a}\label{classACG_1_1BilateralBlurFilter_a7c021057b34383f7fe8ca63b71fb5b5a}} 
void {\bfseries set\+Params} (const \hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{A\+C\+G\+::\+G\+L\+Matrixf} \&\+\_\+proj, G\+Luint \+\_\+depth\+Tex)
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a31a605cf56e1ceac66ca67aef2d96c68}\label{classACG_1_1BilateralBlurFilter_a31a605cf56e1ceac66ca67aef2d96c68}} 
void {\bfseries set\+Kernel} (int \+\_\+blur\+Radius, float \+\_\+blur\+SigmaS, float \+\_\+blur\+SigmaR)
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a039a6a22a78cda61d693f57ba9380bfa}\label{classACG_1_1BilateralBlurFilter_a039a6a22a78cda61d693f57ba9380bfa}} 
int \hyperlink{classACG_1_1BilateralBlurFilter_a039a6a22a78cda61d693f57ba9380bfa}{radius} () const
\begin{DoxyCompactList}\small\item\em radius \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_af10a5bcf194c2a0606af52d828c13ca2}\label{classACG_1_1BilateralBlurFilter_af10a5bcf194c2a0606af52d828c13ca2}} 
int \hyperlink{classACG_1_1BilateralBlurFilter_af10a5bcf194c2a0606af52d828c13ca2}{samples} () const
\begin{DoxyCompactList}\small\item\em number of samples \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a3b6dee0d1aab4825a51eab75f0f25583}\label{classACG_1_1BilateralBlurFilter_a3b6dee0d1aab4825a51eab75f0f25583}} 
const \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} \& \hyperlink{classACG_1_1BilateralBlurFilter_a3b6dee0d1aab4825a51eab75f0f25583}{sigma} () const
\begin{DoxyCompactList}\small\item\em blur (sigmaS, sigmaR) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_aa4eb208fba01f8aa75082391eb67d24d}\label{classACG_1_1BilateralBlurFilter_aa4eb208fba01f8aa75082391eb67d24d}} 
const std\+::vector$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ \& \hyperlink{classACG_1_1BilateralBlurFilter_aa4eb208fba01f8aa75082391eb67d24d}{offsetsX} () const
\begin{DoxyCompactList}\small\item\em sample offsets along x direction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a996634eef88f9aeae5c195218864a8c1}\label{classACG_1_1BilateralBlurFilter_a996634eef88f9aeae5c195218864a8c1}} 
const std\+::vector$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ \& \hyperlink{classACG_1_1BilateralBlurFilter_a996634eef88f9aeae5c195218864a8c1}{offsetsY} () const
\begin{DoxyCompactList}\small\item\em sample offsets along y direction \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_ab62ab22b66d7be85e62ce3c37ecef222}\label{classACG_1_1BilateralBlurFilter_ab62ab22b66d7be85e62ce3c37ecef222}} 
virtual \hyperlink{classGLSL_1_1Program}{G\+L\+S\+L\+::\+Program} $\ast$ {\bfseries setup\+Pass} (int \+\_\+pass, G\+Luint \+\_\+src\+Tex) override
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a8154a337312e562869aac999ee5aed37}\label{classACG_1_1BilateralBlurFilter_a8154a337312e562869aac999ee5aed37}} 
void {\bfseries update\+Kernel} () override
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_abd76c1b4efad3300bfb018e2b63bc3f0}\label{classACG_1_1BilateralBlurFilter_abd76c1b4efad3300bfb018e2b63bc3f0}} 
int {\bfseries radius\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_ac23ac89a93131ebbb280d811618bb238}\label{classACG_1_1BilateralBlurFilter_ac23ac89a93131ebbb280d811618bb238}} 
int {\bfseries samples\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a3bd84349a139ceb2a85487a56646d71d}\label{classACG_1_1BilateralBlurFilter_a3bd84349a139ceb2a85487a56646d71d}} 
\hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} \hyperlink{classACG_1_1BilateralBlurFilter_a3bd84349a139ceb2a85487a56646d71d}{sigma\+\_\+}
\begin{DoxyCompactList}\small\item\em (sigmaS, sigmaR) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_ace213d15772f514bdf99ff02871f75bf}\label{classACG_1_1BilateralBlurFilter_ace213d15772f514bdf99ff02871f75bf}} 
\hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} \hyperlink{classACG_1_1BilateralBlurFilter_ace213d15772f514bdf99ff02871f75bf}{sigma2\+Rcp\+\_\+}
\begin{DoxyCompactList}\small\item\em -\/1 / (2 $\ast$ sigma$^\wedge$2) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_ab68e75431d5b845b634fc510fc60686a}\label{classACG_1_1BilateralBlurFilter_ab68e75431d5b845b634fc510fc60686a}} 
std\+::vector$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ \hyperlink{classACG_1_1BilateralBlurFilter_ab68e75431d5b845b634fc510fc60686a}{offsets\+X\+\_\+}
\begin{DoxyCompactList}\small\item\em filter taps \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_aac94e02af488fa3106a87b6f40ae3fe1}\label{classACG_1_1BilateralBlurFilter_aac94e02af488fa3106a87b6f40ae3fe1}} 
std\+::vector$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ {\bfseries offsets\+Y\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_af61cc828b9f0fc446c7d7954d6f9acba}\label{classACG_1_1BilateralBlurFilter_af61cc828b9f0fc446c7d7954d6f9acba}} 
std\+::vector$<$ float $>$ \hyperlink{classACG_1_1BilateralBlurFilter_af61cc828b9f0fc446c7d7954d6f9acba}{spatial\+Kernel\+\_\+}
\begin{DoxyCompactList}\small\item\em precomputed sample -\/r$^\wedge$2 / (2 $\ast$ sigma\+\_\+s$^\wedge$2) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a8a900b817605f9d886e9624d8e6659af}\label{classACG_1_1BilateralBlurFilter_a8a900b817605f9d886e9624d8e6659af}} 
Q\+String\+List \hyperlink{classACG_1_1BilateralBlurFilter_a8a900b817605f9d886e9624d8e6659af}{macros\+\_\+}
\begin{DoxyCompactList}\small\item\em shader macros \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a8ce8f6d2ea449914a4b48311130f93b6}\label{classACG_1_1BilateralBlurFilter_a8ce8f6d2ea449914a4b48311130f93b6}} 
\hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{A\+C\+G\+::\+G\+L\+Matrixf} {\bfseries proj\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1BilateralBlurFilter_a92fb527aeb9815040c0fef91f828991c}\label{classACG_1_1BilateralBlurFilter_a92fb527aeb9815040c0fef91f828991c}} 
G\+Luint {\bfseries depth\+Tex\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 229 of file Filter\+Kernels.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+G\+L/Filter\+Kernels.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+G\+L/Filter\+Kernels.\+cc\end{DoxyCompactItemize}
