53 #include <ACG/Config/ACGDefines.hh> 54 #include <ACG/GL/gl.hh> 71 class ACGDLLEXPORT
FBO 90 GLsizei setMultisampling(GLsizei _samples, GLboolean _fixedsamplelocations = GL_TRUE);
96 void attachTexture( GLenum _attachment,
101 void attachTexture2D( GLenum _attachment,
102 GLsizei _width, GLsizei _height,
103 GLuint _internalFmt, GLenum _format,
104 GLint _wrapMode = GL_CLAMP_TO_EDGE,
105 GLint _minFilter = GL_NEAREST,
106 GLint _magFilter = GL_NEAREST);
110 void attachTexture2D( GLenum _attachment, GLuint _texture, GLenum _target = GL_TEXTURE_2D );
113 void attachTexture2DDepth( GLsizei _width, GLsizei _height, GLuint _internalFmt = GL_DEPTH_COMPONENT32, GLenum _format = GL_DEPTH_COMPONENT );
116 void attachTexture2DStencil(GLsizei _width, GLsizei _height);
120 void attachTexture3D( GLenum _attachment,
121 GLsizei _width, GLsizei _height, GLsizei _depth,
122 GLuint _internalFmt, GLenum _format,
123 GLint _wrapMode = GL_CLAMP,
124 GLint _minFilter = GL_NEAREST,
125 GLint _magFilter = GL_NEAREST);
128 void addDepthBuffer( GLuint _width, GLuint _height );
131 void addStencilBuffer( GLuint _width, GLuint _height );
134 void addDepthStencilBuffer( GLuint _width, GLuint _height );
137 GLuint getAttachment( GLenum _attachment );
140 GLuint getInternalFormat( GLenum _attachment );
146 void resize(GLsizei _width, GLsizei _height,
bool _forceResize =
false);
149 GLsizei
width()
const {
return width_;}
164 bool checkFramebufferStatus();
188 GLenum internalFormat, format, gltype;
202 typedef std::map<GLenum, RenderTexture> AttachmentList;
203 AttachmentList attachments_;
218 GLuint prevDrawBuffer_;
225 #endif // ACG_FBO_HH defined
VectorT< signed int, 2 > Vec2i
GLsizei width() const
get width of fbo texture
GLuint depthbuffer_
depthbuffer
GLuint fbo_
handle of frame buffer object
Namespace providing different geometric functions concerning angles.
GLsizei getMultisamplingCount() const
get number of samples
GLsizei height() const
get height of fbo texture
GLsizei width_
width and height of render textures
GLuint prevFbo_
handle of previously bound fbo
bool bind(osg::GeometryPtr &_geo, Mesh &_mesh)
GLboolean fixedsamplelocation_
enable fixed sample location if multisampling
GLsizei samples_
sample count if multisampling
ACG::Vec2i size() const
get width and height of fbo texture
GLuint stencilbuffer_
stencilbuffer