/* ZRenderBuffer.hpp Author: James Russell Created: 04/03/2011 Purpose: Buffer that can be used for depth and stencil buffers in frame buffer render targets for off-screen rendering. License: TODO */ #pragma once #ifndef _ZRENDERBUFFER_HPP #define _ZRENDERBUFFER_HPP #include //Enumeration of render buffer type enum ZRenderBufferType { ZRBT_DEPTH16, //16-bit Depth Storage ZRBT_DEPTH24, //24-bit Depth Storage ZRBT_DEPTH32, //32-bit Depth Storage ZRBT_STENCIL8, //8-bit Stencil Storage ZRBT_DEPTH24_STENCIL8, //24-bit Depth and 8-bit Stencil ZRBT_SIZE }; class ZRenderBuffer { public: //Virtual Destructor virtual ~ZRenderBuffer() { } /* public ZRenderBuffer::GetHeight Gets the height value for the render buffer (in pixels). @return (size_t) - height value @context (all) */ virtual size_t GetHeight() = 0; /* virtual public ZRenderBuffer::GetType Gets the type of render buffer this is set up to be (depth or stencil). @return (ZRenderBufferType) - the type of render buffer @context (all) */ virtual ZRenderBufferType GetType() = 0; /* public ZRenderBuffer::GetWidth Gets the width value for the render buffer (in pixels). @return (size_t) - width value @context (all) */ virtual size_t GetWidth() = 0; }; #endif