1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00
GLideN64/DepthBuffer.h

51 lines
930 B
C
Raw Normal View History

#ifndef DEPTHBUFFER_H
#define DEPTHBUFFER_H
#include "Types.h"
2013-11-27 10:08:48 +00:00
#include "Textures.h"
struct DepthBuffer
{
DepthBuffer *higher, *lower;
u32 address, width;
2013-06-01 13:10:30 +00:00
GLuint renderbuf;
2013-10-30 06:07:24 +00:00
CachedTexture *depth_texture;
2013-11-12 07:35:26 +00:00
GLuint fbo;
};
struct DepthBufferList
{
DepthBuffer *top, *bottom, *current;
int numBuffers;
static DepthBufferList & get()
{
static DepthBufferList depthBufferList;
return depthBufferList;
}
private:
DepthBufferList() : current(NULL) {}
DepthBufferList(const FrameBufferList &);
};
inline
DepthBufferList & depthBufferList()
{
return DepthBufferList::get();
}
2013-12-14 14:30:20 +00:00
extern const GLuint ZlutImageUnit;
extern const GLuint TlutImageUnit;
extern const GLuint depthImageUnit;
void DepthBuffer_Init();
void DepthBuffer_Destroy();
void DepthBuffer_SetBuffer( u32 address );
void DepthBuffer_RemoveBuffer( u32 address );
2013-12-14 14:30:20 +00:00
void DepthBuffer_ClearBuffer();
DepthBuffer *DepthBuffer_FindBuffer( u32 address );
#endif