NAME
glGetSeparableFilter
- get separable convolution filter kernel images
C SPECIFICATION
void ggllGGeettSSeeppaarraabblleeFFiilltteerr(
GLenum _t_a_r_g_e_t,
GLenum _f_o_r_m_a_t,
GLenum _t_y_p_e,
GLvoid _*_r_o_w,
GLvoid _*_c_o_l_u_m_n,
GLvoid _*_s_p_a_n )
PARAMETERS
-
_t_a_r_g_e_t
-
The separable filter to be retrieved.
Must be
GGLL__SSEEPPAARRAABBLLEE__22DD.
-
_f_o_r_m_a_t
-
Format of the output images.
Must be one of
GGLL__RREEDD,
GGLL__GGRREEEENN,
GGLL__BBLLUUEE,
GGLL__AALLPPHHAA,
GGLL__RRGGBB,
GGLL__BBGGRR
GGLL__RRGGBBAA,
GGLL__BBGGRRAA,
GGLL__LLUUMMIINNAANNCCEE, or
GGLL__LLUUMMIINNAANNCCEE__AALLPPHHAA.
-
_t_y_p_e
-
Data type of components in the output images.
Symbolic constants
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE,
GGLL__BBYYTTEE,
GGLL__BBIITTMMAAPP,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT,
GGLL__SSHHOORRTT,
GGLL__UUNNSSIIGGNNEEDD__IINNTT,
GGLL__IINNTT,
GGLL__FFLLOOAATT,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22, and
GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV
are accepted.
-
_r_o_w
-
Pointer to storage for the row filter image.
-
_c_o_l_u_m_n
-
Pointer to storage for the column filter image.
-
_s_p_a_n
-
Pointer to storage for the span filter image (currently unused).
DESCRIPTION
ggllGGeettSSeeppaarraabblleeFFiilltteerr returns the two one-dimensional filter kernel images for the
current separable 2D convolution filter.
The row image is placed in _r_o_w and the column image is placed in
_c_o_l_u_m_n according to the specifications in _f_o_r_m_a_t and _t_y_p_e.
(In the current implementation, _s_p_a_n is not affected in any way.)
No pixel transfer operations are performed on the images, but the relevant
pixel storage modes are applied.
Color components that are present in _f_o_r_m_a_t but not included in the
internal of the filters are returned as zero.
The assignments of internal color components to the components of _f_o_r_m_a_t
are as follows:
center;
cb cb
l l.
_
Internal Component Resulting Component
_
Red Red
Green Green
Blue Blue
Alpha Alpha
Luminance Red
Intensity Red
_
NOTES
ggllGGeettSSeeppaarraabblleeFFiilltteerr is present only if GGLL__AARRBB__iimmaaggiinngg is returned when ggllGGeettSSttrriinngg
is called with an argument of GGLL__EEXXTTEENNSSIIOONNSS.
Non-separable 2D filters must be retrieved with ggllGGeettCCoonnvvoolluuttiioonnFFiilltteerr.
ERRORS
GGLL__IINNVVAALLIIDD__EENNUUMM is generated if _t_a_r_g_e_t is not GGLL__SSEEPPAARRAABBLLEE__22DD.
GGLL__IINNVVAALLIIDD__EENNUUMM is generated if _f_o_r_m_a_t is not one of the allowable
values.
GGLL__IINNVVAALLIIDD__EENNUUMM is generated if _t_y_p_e is not one of the allowable
values.
GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is generated if ggllGGeettSSeeppaarraabblleeFFiilltteerr is executed
between the execution of ggllBBeeggiinn and the corresponding
execution of ggllEEnndd.
GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is generated if _t_y_p_e is one of
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55, or
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV
and _f_o_r_m_a_t is not GGLL__RRGGBB.
GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is generated if _t_y_p_e is one of
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22, or
GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV
and _f_o_r_m_a_t is neither GGLL__RRGGBBAA nor GGLL__BBGGRRAA.
ASSOCIATED GETS
ggllGGeettCCoonnvvoolluuttiioonnPPaarraammeetteerr
SEE ALSO
ggllGGeettCCoonnvvoolluuttiioonnFFiilltteerr((33GG)),
ggllCCoonnvvoolluuttiioonnPPaarraammeetteerr((33GG)),
ggllSSeeppaarraabblleeFFiilltteerr22DD((33GG))