1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __I_Z_BUFFER_H_INCLUDED__
\r
6 #define __I_Z_BUFFER_H_INCLUDED__
\r
8 #include "IReferenceCounted.h"
\r
9 #include "dimension2d.h"
\r
10 #include "S2DVertex.h"
\r
16 class IZBuffer : public virtual IReferenceCounted
\r
21 virtual ~IZBuffer() {};
\r
23 //! clears the zbuffer
\r
24 virtual void clear() = 0;
\r
26 //! sets the new size of the zbuffer
\r
27 virtual void setSize(const core::dimension2d<u32>& size) = 0;
\r
29 //! returns the size of the zbuffer
\r
30 virtual const core::dimension2d<u32>& getSize() const = 0;
\r
32 //! locks the zbuffer
\r
33 virtual TZBufferType* lock() = 0;
\r
35 //! unlocks the zbuffer
\r
36 virtual void unlock() = 0;
\r
40 //! creates a ZBuffer
\r
41 IZBuffer* createZBuffer(const core::dimension2d<u32>& size);
\r
43 } // end namespace video
\r
44 } // end namespace irr
\r