49      this->filter = filter;
 
   50      this->use16Bit = use16Bit;
 
 
   54      return other.filter == this->filter &&
 
   55             other.use16Bit == use16Bit;
 
 
 
   66      this->config = config;
 
 
 
   80  const char* 
name() 
override;
 
 
  102  std::vector<View2DShaderGLSL::Shader*> _shaders;
 
  118  static void createCubicShader(std::stringstream& 
str, 
bool use16BitLut);
 
  119  static void createNearestShader(std::stringstream& 
str, 
bool use16BitLut);
 
  120  static void createLinearShader(std::stringstream& 
str, 
bool use16BitLut);
 
  121  static void createTextHaloShader(std::stringstream& 
str, 
bool use16BitLut);
 
  122  static void createARGBShader(std::stringstream& 
str);
 
 
View2DTextureFilter
Filter mode.
 
@ FILTER_LINEAR
Bilinear filtering (after classification/LUT)
 
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
 
Global GLSL shader cache for all shaders that are used in the SoView2D.
 
static View2DShaderCacheGLSL * self()
get the shader cache singleton (creates it if not yet present)
 
View2DShaderGLSL::Shader * findOrCreateShader(const View2DShaderGLSL::ShaderConfig &config)
Finds the given shader or creates it if not yet available The returned shader contains an already com...
 
specialized shader that uses GLSL to implement a (up-to) 16 bit Hardware Lut
 
void unbind() override
deactivates the shader
 
void bind(View2DTexture *texture, int tw, int th) override
binds/activates the shader
 
static bool mayUseShaders()
returns if GLSL shaders may be used
 
static bool runsInHardware()
returns if the shader is supported and would run in hardware (calling this method requires a valid GL...
 
const char * name() override
get the shader's name
 
~View2DShaderGLSL() override
 
abstract base class for shaders that use a 2D texture for LUT lookup
 
A class to render images as OpenGL Textures.
 
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
 
Stores a shader configuration.
 
bool operator==(const ShaderConfig &other) const
 
View2DTextureFilter filter
 
ShaderConfig(View2DTextureFilter filter, bool use16Bit)
 
Stores a full shader program for the given configuration.
 
Shader(const ShaderConfig &config)
 
ml::GLSLFragmentShader fragmentShader
 
ml::GLSLVertexShader vertexShader