Main Page Class Hierarchy Compound List File List Compound Members File Members

MesaRenderer.cc

Go to the documentation of this file.
00001 /*
00002 File: MesaRenderer.cc
00003 
00004 Function: 
00005 
00006 Author: Andrew Willmott
00007 
00008 Notes: 
00009 */
00010 
00011 #include "gcl/MesaRenderer.h"
00012 
00013 #ifdef GCL_MESA
00014 
00015  Void MesaRenderer::Init(RGBAImage &img)
00016 {
00017 mesaContext = OSMesaCreateContext(OSMESA_RGBA, 0);
00018 
00019 glWidth = img.Width();
00020 glHeight = img.Height();
00021 outImage = &img;
00022 
00023 MakeCurrent();
00024 
00025 GLRenderer::Init();
00026 }
00027 
00028  Void MesaRenderer::MakeCurrent()
00029 {
00030 // it seems as if calling this twice core dumps?
00031 // so... how else do we switch between it and other
00032 // contexts? I guess we don't.
00033 if (!OSMesaMakeCurrent(mesaContext, outImage->RGBAData(),
00034 GL_UNSIGNED_BYTE, outImage->Width(), outImage->Height()))
00035 _Error("Couldn't select mesa context");
00036 }
00037 
00038  MesaRenderer::~MesaRenderer()
00039 {
00040 OSMesaDestroyContext(mesaContext);
00041 }
00042 
00043 #endif

Generated at Sat Aug 5 00:17:00 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000

AltStyle によって変換されたページ (->オリジナル) /