Project

General

Profile

Statistics
| Branch: | Revision:

root / rgbdslam / external / siftgpu / src / SiftGPU / FrameBufferObject.h @ 9240aaa3

History | View | Annotate | Download (1.57 KB)

1 9240aaa3 Alex
////////////////////////////////////////////////////////////////////////////
2
//        File:                FrameBufferObject.h
3
//        Author:                Changchang Wu
4
//        Description : interface for the FrameBufferObject class.
5
//
6
//
7
//
8
//        Copyright (c) 2007 University of North Carolina at Chapel Hill
9
//        All Rights Reserved
10
//
11
//        Permission to use, copy, modify and distribute this software and its
12
//        documentation for educational, research and non-profit purposes, without
13
//        fee, and without a written agreement is hereby granted, provided that the
14
//        above copyright notice and the following paragraph appear in all copies.
15
//        
16
//        The University of North Carolina at Chapel Hill make no representations
17
//        about the suitability of this software for any purpose. It is provided
18
//        'as is' without express or implied warranty. 
19
//
20
//        Please send BUG REPORTS to ccwu@cs.unc.edu
21
//
22
////////////////////////////////////////////////////////////////////////////
23
24
25
#if !defined(_FRAME_BUFFER_OBJECT_H)
26
#define _FRAME_BUFFER_OBJECT_H
27
28
class FrameBufferObject  
29
{
30
        static GLuint        GlobalFBO;   //not thread-safe
31
        GLuint _fboID;
32
public:
33
        static int                UseSingleFBO;
34
public:
35
        static void DeleteGlobalFBO();
36
        static void UnattachTex(GLenum attachment);
37
        static void UnbindFBO();
38
        static void AttachDepthTexture(GLenum textureTarget, GLuint texID);
39
        static void AttachTexture( GLenum textureTarget, GLenum attachment, GLuint texID);
40
        static void AttachRenderBuffer(GLenum attachment,  GLuint buffID  );
41
        static void UnattachRenderBuffer(GLenum attachment);
42
public:
43
        void BindFBO();
44
        FrameBufferObject(int autobind = 1);
45
        ~FrameBufferObject();
46
47
};
48
49
#endif