| 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
7 namespace globjects
8 {
9
10
11 class Object;
12 class Buffer;
13 class Framebuffer;
14 class Program;
15 class ProgramPipeline;
16 class Query;
17 class Renderbuffer;
18 class Sampler;
19 class Shader;
20 class Texture;
21 class TransformFeedback;
22 class VertexArray;
23
29 class GLOBJECTS_API ObjectVisitor
30 {
31 public:
32 ObjectVisitor();
33 virtual ~ObjectVisitor();
34
35 virtual void visit(Object * object);
36
37 virtual void visitBuffer(Buffer * buffer);
38 virtual void visitFrameBufferObject(Framebuffer * fbo);
39 virtual void visitProgram(Program * program);
40 virtual void visitProgramPipeline(ProgramPipeline * programPipeline);
41 virtual void visitQuery(Query * query);
42 virtual void visitRenderBufferObject(Renderbuffer * rbo);
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
globjects::VertexArray
Definition: VertexArray.h:22
globjects::Renderbuffer
Encapsulates OpenGL render buffer objects.
Definition: Renderbuffer.h:18
globjects
Contains all the classes that wrap OpenGL functionality.
globjects::Object
Superclass of all wrapped OpenGL objects.
Definition: Object.h:26
globjects::ProgramPipeline
Definition: ProgramPipeline.h:21
globjects::Program
Wraps an OpenGL program.
Definition: Program.h:78
globjects::Query
Encapsulates a GL Query object.
Definition: Query.h:65
globjects::Buffer
Wrapper for OpenGL buffer objects.
Definition: Buffer.h:35
globjects::Sampler
Wraps OpenGL sampler objects.
Definition: Sampler.h:18
globjects::TransformFeedback
Interface to use transform feedback.
Definition: TransformFeedback.h:58
globjects::ObjectVisitor
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition: ObjectVisitor.h:29
globjects::Framebuffer
Enables creation of arbitrary render targets that are not directly drawn on the screen.
Definition: Framebuffer.h:46
globjects::Texture
Wraps OpenGL texture objects. A Texture provides both interfaces to bind them for the OpenGL pipeline...
Definition: Texture.h:30
globjects::Shader
Encapsulates OpenGL shaders.
Definition: Shader.h:40