You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
50 lines
1.6 KiB
////////////////////////////////////////////////////////////////////////////
|
|
// File: FrameBufferObject.h
|
|
// Author: Changchang Wu
|
|
// Description : interface for the FrameBufferObject class.
|
|
//
|
|
//
|
|
//
|
|
// Copyright (c) 2007 University of North Carolina at Chapel Hill
|
|
// All Rights Reserved
|
|
//
|
|
// Permission to use, copy, modify and distribute this software and its
|
|
// documentation for educational, research and non-profit purposes, without
|
|
// fee, and without a written agreement is hereby granted, provided that the
|
|
// above copyright notice and the following paragraph appear in all copies.
|
|
//
|
|
// The University of North Carolina at Chapel Hill make no representations
|
|
// about the suitability of this software for any purpose. It is provided
|
|
// 'as is' without express or implied warranty.
|
|
//
|
|
// Please send BUG REPORTS to ccwu@cs.unc.edu
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#if !defined(_FRAME_BUFFER_OBJECT_H)
|
|
#define _FRAME_BUFFER_OBJECT_H
|
|
|
|
class FrameBufferObject
|
|
{
|
|
static GLuint GlobalFBO; //not thread-safe
|
|
GLuint _fboID;
|
|
public:
|
|
static int UseSingleFBO;
|
|
public:
|
|
static void DeleteGlobalFBO();
|
|
static void UnattachTex(GLenum attachment);
|
|
static void UnbindFBO();
|
|
static void AttachDepthTexture(GLenum textureTarget, GLuint texID);
|
|
static void AttachTexture( GLenum textureTarget, GLenum attachment, GLuint texID);
|
|
static void AttachRenderBuffer(GLenum attachment, GLuint buffID );
|
|
static void UnattachRenderBuffer(GLenum attachment);
|
|
public:
|
|
void BindFBO();
|
|
FrameBufferObject(int autobind = 1);
|
|
~FrameBufferObject();
|
|
|
|
};
|
|
|
|
#endif
|