Kanzi 3.9.10
kanzi::TextureSwizzleMask Class Reference

Use the texture swizzle mask to reorder the color channel values returned by the texture function in a shader. More...

#include <kanzi/core.ui/platform/graphics_backend/gl/graphics_swizzle_mask.hpp>

Public Types

enum class  ColorComponent : uint8_t {
  Zero , One , Red , Green ,
  Blue , Alpha , Count
}
 Wraps the color components of the graphics library. More...
 

Public Member Functions

GLSwizzleMask getMask () const
 Gets the swizzle mask.
 
constexpr TextureSwizzleMask (ColorComponent mask)
 Constructs the mask using the same value for each color channel.
 
constexpr TextureSwizzleMask (ColorComponent redChannelMask, ColorComponent greenChannelMask, ColorComponent blueChannelMask, ColorComponent alphaChannelMask)
 Constructs the mask using separate value for each channel.
 
 ~TextureSwizzleMask ()=default
 Default destructor.
 

Detailed Description

Use the texture swizzle mask to reorder the color channel values returned by the texture function in a shader.

See https://www.khronos.org/opengl/wiki/Texture#Swizzle_mask.

Note
To apply a swizzle mask, the target platform must support the GL_ARB_texture_swizzle or GL_EXT_texture_swizzle extension.

Example

This mask maps the red channel in a texture to the alpha channel:

string logArgumentToString(const JNIError &jniError)
Used by logging system to convert legacy exception type objects to string.
Definition jni_error.hpp:26
Use the texture swizzle mask to reorder the color channel values returned by the texture function in ...
Definition graphics_swizzle_mask.hpp:32
@ Zero
The component is disabled.
@ Red
The value for this component comes from the red channel of the texture.
void setTextureSwizzleMask(TextureType target, const TextureSwizzleMask &mask)
Sets the texture swizzle mask for the color and alpha channels.
Since
Kanzi 3.8.0

Member Enumeration Documentation

◆ ColorComponent

Wraps the color components of the graphics library.

Enumerator
Zero 

The component is disabled.

Maps to KZS_GL_ZERO.

One 

The component is kept as-is.

Maps to KZS_GL_ONE.

Red 

The value for this component comes from the red channel of the texture.

All texture color formats have at least a red channel. Maps to KZS_GL_RED.

Green 

The value for this component comes from the green channel of the texture, or 0 if it has no green channel.

Maps to KZS_GL_GREEN.

Blue 

The value for this component comes from the blue channel of the texture, or 0 if it has no blue channel.

Maps to KZS_GL_BLUE.

Alpha 

The value for this component comes from the alpha channel of the texture, or 1 if it has no alpha channel.

Maps to KZS_GL_ALPHA.

Count 

The number of supported color components.

Constructor & Destructor Documentation

◆ TextureSwizzleMask() [1/2]

constexpr kanzi::TextureSwizzleMask::TextureSwizzleMask ( ColorComponent redChannelMask,
ColorComponent greenChannelMask,
ColorComponent blueChannelMask,
ColorComponent alphaChannelMask )
inlineconstexpr

Constructs the mask using separate value for each channel.

Parameters
redChannelMaskMask for red channel.
greenChannelMaskMask for green channel.
blueChannelMaskMask for blue channel.
alphaChannelMaskMask for alpha channel.

◆ TextureSwizzleMask() [2/2]

constexpr kanzi::TextureSwizzleMask::TextureSwizzleMask ( ColorComponent mask)
inlineconstexpr

Constructs the mask using the same value for each color channel.

Parameters
maskSwizzle mask for all the channels.

◆ ~TextureSwizzleMask()

kanzi::TextureSwizzleMask::~TextureSwizzleMask ( )
default

Default destructor.

Member Function Documentation

◆ getMask()

GLSwizzleMask kanzi::TextureSwizzleMask::getMask ( ) const

Gets the swizzle mask.

Returns
Internal GL representation of the swizzle mask.

The documentation for this class was generated from the following file: