28 #ifndef __OgreGL3PlusFBORTT_H__
29 #define __OgreGL3PlusFBORTT_H__
36 class GL3PlusFBOManager;
37 class GL3PlusRenderBuffer;
46 virtual void getCustomAttribute(
const String& name,
void* pData);
49 virtual void swapBuffers();
52 virtual bool attachDepthBuffer(
DepthBuffer *depthBuffer );
53 virtual void detachDepthBuffer();
54 virtual void _detachDepthBuffer();
78 void getBestDepthStencil(GLenum internalFormat, GLenum *depthFormat, GLenum *stencilFormat);
135 format(inFormat), width(inWidth), height(inHeight), samples(fsaa)
149 else if(format == other.
format)
151 if(width < other.
width)
155 else if(width == other.
width)
159 else if (height == other.
height)
173 buffer(inBuffer), refcount(1)
186 void detectFBOFormats();
187 GLuint _tryFormat(GLenum depthFormat, GLenum stencilFormat);
188 bool _tryPackedFormat(GLenum packedFormat);
189 void _createTempFramebuffer(
int ogreFormat, GLuint internalFormat, GLuint fmt, GLenum dataType, GLuint &fb, GLuint &tid);
A 'canvas' which can receive the results of a rendering operation.
GL3PlusRenderBuffer * buffer
GL3PlusFrameBufferObject mFB
bool operator<(SharedPtr< T > const &a, SharedPtr< U > const &b)
void unbind(RenderTarget *target)
Unbind a certain render target.
GLuint getTemporaryFBO()
Get a FBO without depth/stencil for temporary use, like blitting between textures.
bool checkFormat(PixelFormat format)
Check if a certain format is usable as FBO rendertarget format.
GLuint mTempFBO
Temporary FBO identifier.
RenderBufferMap mRenderBufferMap
This class represents a render target that renders to multiple RenderTextures at once.
Factory for GL Frame Buffer Objects, and related things.
map< RBFormat, RBRef >::type RenderBufferMap
An abstract class that contains a depth/stencil buffer.
RenderTexture for GL FBO.
PixelFormat
The pixel format used for images, textures, and render surfaces.
Manager/factory for RenderTextures.
Base class for GL Render Textures.
#define _OgreGL3PlusExport
RBRef(GL3PlusRenderBuffer *inBuffer)
Frame Buffer Object abstraction.