mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-17 07:50:24 +01:00
0c6385cb92
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED. Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well). While this touches every header it shouldn't affect users (I hope). Also a few whitespace changes to unify whitespace usage a bit. And a bunch of spelling fixes in comments. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
82 lines
1.9 KiB
C++
82 lines
1.9 KiB
C++
// Copyright (C) 2002-2012 Nikolaus Gebhardt / Thomas Alten
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
#ifndef IRR_I_Z2_BUFFER_H_INCLUDED
|
|
#define IRR_I_Z2_BUFFER_H_INCLUDED
|
|
|
|
#include "IReferenceCounted.h"
|
|
#include "dimension2d.h"
|
|
#include "S4DVertex.h"
|
|
|
|
namespace irr
|
|
{
|
|
namespace video
|
|
{
|
|
class IDepthBuffer : public virtual IReferenceCounted
|
|
{
|
|
public:
|
|
|
|
//! destructor
|
|
virtual ~IDepthBuffer() {};
|
|
|
|
//! clears the zbuffer
|
|
virtual void clear(f32 value, const interlaced_control interlaced) = 0;
|
|
|
|
//! sets the new size of the zbuffer
|
|
virtual void setSize(const core::dimension2d<u32>& size) = 0;
|
|
|
|
//! returns the size of the zbuffer
|
|
virtual const core::dimension2d<u32>& getSize() const = 0;
|
|
|
|
//! locks the zbuffer
|
|
virtual void* lock() = 0;
|
|
|
|
//! unlocks the zbuffer
|
|
virtual void unlock() = 0;
|
|
|
|
//! returns pitch of depthbuffer (in bytes)
|
|
virtual u32 getPitch() const = 0;
|
|
|
|
};
|
|
|
|
|
|
//! creates a ZBuffer
|
|
IDepthBuffer* createDepthBuffer(const core::dimension2d<u32>& size);
|
|
|
|
class IStencilBuffer : public virtual IReferenceCounted
|
|
{
|
|
public:
|
|
|
|
//! destructor
|
|
virtual ~IStencilBuffer() {};
|
|
|
|
//! clears the stencil buffer
|
|
virtual void clear(u32 value, const interlaced_control interlaced) = 0;
|
|
|
|
//! sets the new size of the zbuffer
|
|
virtual void setSize(const core::dimension2d<u32>& size) = 0;
|
|
|
|
//! returns the size of the stencil buffer
|
|
virtual const core::dimension2d<u32>& getSize() const = 0;
|
|
|
|
//! locks the stencil buffer
|
|
virtual void* lock() = 0;
|
|
|
|
//! unlocks the stencil buffer
|
|
virtual void unlock() = 0;
|
|
|
|
//! returns pitch of stencil buffer (in bytes)
|
|
virtual u32 getPitch() const = 0;
|
|
|
|
};
|
|
|
|
|
|
//! creates a Stencil Buffer
|
|
IStencilBuffer* createStencilBuffer(const core::dimension2d<u32>& size, u32 bit);
|
|
|
|
} // end namespace video
|
|
} // end namespace irr
|
|
|
|
#endif
|