globjects  1.0.0.000000000000
Strict OpenGL objects wrapper.
ObjectVisitor.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <globjects/globjects_api.h>
5
6
7namespace globjects
8{
9
10
11class Object;
12class Buffer;
13class Framebuffer;
14class Program;
15class ProgramPipeline;
16class Query;
17class Renderbuffer;
18class Sampler;
19class Shader;
20class Texture;
21class TransformFeedback;
22class VertexArray;
23
29class GLOBJECTS_API ObjectVisitor
30{
31public:
33 virtual ~ObjectVisitor();
34
35 virtual void visit(Object * object);
36
37 virtual void visitBuffer(Buffer * buffer);
39 virtual void visitProgram(Program * program);
40 virtual void visitProgramPipeline(ProgramPipeline * programPipeline);
41 virtual void visitQuery(Query * query);
43 virtual void visitSampler(Sampler * sampler);
44 virtual void visitShader(Shader * shader);
45 virtual void visitTexture(Texture * texture);
46 virtual void visitTransformFeedback(TransformFeedback * transformfeedback);
47 virtual void visitVertexArray(VertexArray * vao);
48};
49
50
51} // namespace globjects
Wrapper for OpenGL buffer objects.
Definition: Buffer.h:36
Enables creation of arbitrary render targets that are not directly drawn on the screen.
Definition: Framebuffer.h:47
Superclass of all wrapped OpenGL objects.
Definition: Object.h:27
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition: ObjectVisitor.h:30
virtual void visitTexture(Texture *texture)
virtual void visitProgramPipeline(ProgramPipeline *programPipeline)
virtual void visitFrameBufferObject(Framebuffer *fbo)
virtual void visitRenderBufferObject(Renderbuffer *rbo)
virtual void visitQuery(Query *query)
virtual void visitProgram(Program *program)
virtual void visitVertexArray(VertexArray *vao)
virtual void visitTransformFeedback(TransformFeedback *transformfeedback)
virtual void visitBuffer(Buffer *buffer)
virtual void visit(Object *object)
virtual void visitShader(Shader *shader)
virtual void visitSampler(Sampler *sampler)
Wraps an OpenGL program.
Definition: Program.h:79
Definition: ProgramPipeline.h:22
Encapsulates a GL Query object.
Definition: Query.h:66
Encapsulates OpenGL render buffer objects.
Definition: Renderbuffer.h:19
Wraps OpenGL sampler objects.
Definition: Sampler.h:19
Encapsulates OpenGL shaders.
Definition: Shader.h:41
Wraps OpenGL texture objects. A Texture provides both interfaces to bind them for the OpenGL pipeline...
Definition: Texture.h:31
Interface to use transform feedback.
Definition: TransformFeedback.h:59
Definition: VertexArray.h:23
Contains all the classes that wrap OpenGL functionality.