Dit stamt van Apple's CocoaGL af, al zie je het alleen maar een beetje in de source. De NSWindow is niet meer textured en maar 128*128. Er zijn een aantal dingen die beter kunnen, maar dit was sneller om te maken, en 't is maar een testje dat ik speciaal hiervoor kleiner heb gemaakt.
#import <Cocoa/Cocoa.h>@interface MyOpenGLView : NSOpenGLView
{
	BOOL inited;
}
- (void)reshape:(NSRect)frame;
@end
#include <OpenGL/gl.h>#import "MyOpenGLView.h"
@implementation MyOpenGLView
- (id)initWithFrame:(NSRect)frame
{
	GLuint attribs[] = 
	{
		NSOpenGLPFANoRecovery,
		NSOpenGLPFAWindow,
		NSOpenGLPFADoubleBuffer,
		NSOpenGLPFAColorSize, 32,
		0
	}; // de rest maakt me nu niet uit
	NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:(NSOpenGLPixelFormatAttribute*)attribs]; 
	if(!fmt) NSLog(@"No pixel format");
	
	return self = [super initWithFrame:frame pixelFormat:[fmt autorelease]];
}
- (void)awakeFromNib
{
	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResize:) name:NSWindowDidResizeNotification object:[self window]];
	[[self window] setContentView:self];
	[[self window] setContentAspectRatio:NSMakeSize(1, 1)];
	[[self window] setMinSize:NSMakeSize(0, 0)];
}
- (void)reshape:(NSRect)frame
{
	glViewport(0, 0, frame.size.width, frame.size.height);
	glPointSize(frame.size.width); // boven 84 ziet ie er bij mij niet meer goed uit
}
- (void)drawRect:(NSRect)rect
{
	if(!inited) { // om het bij de andere gl*() te houden.
		glEnable(GL_BLEND);
		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
		glEnable(GL_POINT_SMOOTH);
		glColor3f(1, 1, 1);
		[self reshape:rect];
		inited = YES;
	}
	glClear(GL_COLOR_BUFFER_BIT);
	
	glBegin(GL_POINTS);
	glVertex2f(0, 0);
	glEnd();
	
	[[self openGLContext] flushBuffer];
}
- (void)windowDidResize:(NSNotification *)aNotification
{
	[self reshape:[self bounds]];
}
@end
Compile en draai 'm. Trek 'm over je scherm als je problemen wilt.
@OpenGL Driver Monitor: dat ik daar zelf niet aan dacht! VRAM gaat veeeeeeeeeeeeeeeeeeel te ver (maar dan nog verder).