Caffe2 - C++ API
A deep learning, cross platform ML framework
Data Structures | Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Static Protected Attributes
GLFilter Class Reference
Inheritance diagram for GLFilter:
GLAdd GLConcat GLConvolution GLMul GLNormPlanarYUV GLPadImage GLPool GLPRelu GLReduce GLResizeNearest GLScale GLSigmoid GLSoftmaxReduce GLSoftmaxScale GLStylizer GLSub

Data Structures

struct  binding
struct  texture_attachment

Public Types

typedef std::vector< std::pair< std::string, std::string > > replacements_t

Public Member Functions

 GLFilter (const std::string kernel_name, const std::string vertex_shader, const std::string fragment_shader, const std::vector< binding * > uniforms, const std::vector< binding * > uniform_blocks={}, const std::vector< binding * > attributes={}, const replacements_t &replacements={})
void throwRuntimeError (std::function< void(std::stringstream &errmsg)> error_formatter) const
void checkGLError (std::function< void(std::stringstream &errmsg)> error_formatter) const
template<typename T >
void attach_uniform_buffer (const binding *block, GLuint bindingPoint, std::function< void(T *, size_t)> loader)
void run (const std::vector< texture_attachment > &input, const std::vector< const GLTexture * > &output, std::function< void(void)> uniforms_initializer, int width, int height)
void releaseBuffers ()
void deleteProgram ()
void deleteBindings ()

Static Public Attributes

static const char * vertex_shader

Protected Attributes

const std::string kernel_name
GLuint program = 0
GLuint frameBuffer = 0
GLuint uniformBlock [kMaxUniformBlocks] = {0}
GLint blockSize [kMaxUniformBlocks] = {0}
bool frame_buffer_initialized = false

Static Protected Attributes

static constexpr int kMaxUniformBlocks = 12
static constexpr bool check_opengl_errors = true

Detailed Description

Definition at line 15 of file GLFilter.h.

Field Documentation

const char * GLFilter::vertex_shader
Initial value:
= R"GLSL(#version 300 es
layout(location = 0) in vec4 a_position;
layout(location = 1) in vec2 a_texCoord;
out vec2 v_texCoord;
void main()
gl_Position = a_position;
v_texCoord = a_texCoord;

Definition at line 90 of file GLFilter.h.

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