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
Definition: VertexArray.h:22
Encapsulates OpenGL render buffer objects.
Definition: Renderbuffer.h:18
Contains all the classes that wrap OpenGL functionality.
Superclass of all wrapped OpenGL objects.
Definition: Object.h:26
Definition: ProgramPipeline.h:21
Wraps an OpenGL program.
Definition: Program.h:78
Encapsulates a GL Query object.
Definition: Query.h:65
Wrapper for OpenGL buffer objects.
Definition: Buffer.h:35
Wraps OpenGL sampler objects.
Definition: Sampler.h:18
Interface to use transform feedback.
Definition: TransformFeedback.h:58
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition: ObjectVisitor.h:29
Enables creation of arbitrary render targets that are not directly drawn on the screen.
Definition: Framebuffer.h:46
Wraps OpenGL texture objects. A Texture provides both interfaces to bind them for the OpenGL pipeline...
Definition: Texture.h:30
Encapsulates OpenGL shaders.
Definition: Shader.h:40