00001 /* 00002 00003 ************************************************************************* 00004 00005 ArmageTron -- Just another Tron Lightcycle Game in 3D. 00006 Copyright (C) 2006, Armagetron Advanced Development Team 00007 00008 ************************************************************************** 00009 00010 This program is free software; you can redistribute it and/or 00011 modify it under the terms of the GNU General Public License 00012 as published by the Free Software Foundation; either version 2 00013 of the License, or (at your option) any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; if not, write to the Free Software 00022 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00023 00024 *************************************************************************** 00025 00026 */ 00027 00028 #include "rGLuintObject.h" 00029 00030 // heh, no parameters to document :) 00031 00032 rGLuintObject::rGLuintObject() 00033 : object_(0) 00034 { 00035 } 00036 00038 rGLuintObject::operator GLuint() 00039 { 00040 // auto-generate the object 00041 Gen(); 00042 return object_; 00043 } 00044 00046 bool rGLuintObject::IsValid() const 00047 { 00048 return object_; 00049 } 00050 00051 rGLuintObject::~rGLuintObject() 00052 { 00053 } 00054 00055 void rGLuintObject::Gen() 00056 { 00057 if ( !object_ ) 00058 { 00059 sr_CheckGLError(); 00060 DoGen(); 00061 sr_CheckGLError(); 00062 } 00063 } 00064 00065 void rGLuintObject::Delete() 00066 { 00067 if ( object_ ) 00068 { 00069 sr_CheckGLError(); 00070 DoDelete(); 00071 sr_CheckGLError(); 00072 } 00073 object_ = 0; 00074 } 00075