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
static
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;
}
)GLSL"

Definition at line 90 of file GLFilter.h.


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