00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /*************************************************************************** 00003 * gpu.h 00004 * 00005 * Fri Dec 17 10:58:01 CET 2004 00006 * Copyright 2004 Jesper Fruergaard and Bent Bisballe 00007 * {deva,jesper}@daimi.au.dk 00008 ****************************************************************************/ 00009 00010 /* 00011 * This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation; either version 2 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Library General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef __LIBGPU_GPU_H__ 00027 #define __LIBGPU_GPU_H__ 00028 00029 #include "glstuff.h" 00030 #include "cgstuff.h" 00031 00032 #include <X11/Xlib.h> 00033 00034 #include <stdio.h> 00035 00036 class Gpu { 00037 friend class __init; 00038 friend class Kernel; 00039 friend class Texture; 00040 friend class Program; 00041 private: 00042 Gpu(); 00043 ~Gpu(); 00044 00045 // CG stuff 00046 CGcontext cgContext; 00047 CGprofile cgProfileF; 00048 CGprofile cgProfileV; 00049 00050 // X stuff 00051 Display *display; 00052 Window window; 00053 00054 // GLX stuff 00055 GLXPbuffer pbuffer; 00056 GLXContext window_context; 00057 GLXContext pbuffer_context; 00058 00059 int viewportsize; 00060 00061 int pbwidth; 00062 int pbheight; 00063 int winwidth; 00064 int winheight; 00065 }; 00066 00067 extern Gpu *__global_gpu_object; 00068 00069 #endif/*__LIBGPU_GPU_H__*/