RenderingContext - OpenGL context
This commit is contained in:
parent
ef84e6de85
commit
a27f7dc6d0
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* RenderingContext.cpp
|
||||
* lwjgl
|
||||
*
|
||||
* Created by Gregory Pierce on Wed Sep 04 2002.
|
||||
* Copyright (c) 2002 __MyCompanyName__. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "RenderingContext.h"
|
||||
|
||||
RenderingContext::RenderingContext()
|
||||
{
|
||||
}
|
||||
|
||||
RenderingContext::~RenderingContext()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** OpenGL Setup
|
||||
*/
|
||||
//GetWindowPort(win)
|
||||
bool RenderingContext::setupAGL( AGLDrawable pAGLDrawable )
|
||||
{
|
||||
AGLPixelFormat fmt;
|
||||
GLboolean ok;
|
||||
GLint attrib[] = { AGL_RGBA, AGL_NONE };
|
||||
|
||||
|
||||
/* Choose an rgb pixel format */
|
||||
fmt = aglChoosePixelFormat(NULL, 0, attrib);
|
||||
if(fmt == NULL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Create an AGL context */
|
||||
aglContext = aglCreateContext(fmt, NULL);
|
||||
if(aglContext == NULL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Attach the window to the context */
|
||||
ok = aglSetDrawable(aglContext, pAGLDrawable );
|
||||
if(!ok)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Make the context the current context */
|
||||
ok = aglSetCurrentContext(aglContext);
|
||||
if(!ok)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Pixel format is no longer needed */
|
||||
aglDestroyPixelFormat(fmt);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void RenderingContext::destroy(void)
|
||||
{
|
||||
cleanupAGL();
|
||||
|
||||
// cleanup the window
|
||||
//
|
||||
DisposeWindow( windowPtr );
|
||||
}
|
||||
|
||||
/*
|
||||
** OpenGL Cleanup
|
||||
*/
|
||||
void RenderingContext::cleanupAGL()
|
||||
{
|
||||
aglSetCurrentContext(NULL);
|
||||
aglSetDrawable(aglContext, NULL);
|
||||
aglDestroyContext(aglContext);
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* RenderingContext.h
|
||||
* lwjgl
|
||||
*
|
||||
* Created by Gregory Pierce on Wed Sep 04 2002.
|
||||
* Copyright (c) 2002 __MyCompanyName__. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <AGL/agl.h>
|
||||
#include <DrawSprocket/DrawSprocket.h>
|
||||
|
||||
class RenderingContext
|
||||
{
|
||||
AGLContext aglContext;
|
||||
Rect rect;
|
||||
WindowPtr windowPtr;
|
||||
|
||||
public:
|
||||
RenderingContext();
|
||||
~RenderingContext();
|
||||
|
||||
void RenderingContext::cleanupAGL(void);
|
||||
void RenderingContext::destroy(void);
|
||||
bool RenderingContext::setupAGL( AGLDrawable pAGLDrawable );
|
||||
};
|
Loading…
Reference in New Issue