Next Page > Hide TOC

NSOpenGLView Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/AppKit.framework
Availability
Available in Mac OS X v10.0 and later.
Companion guide
Declared in
NSOpenGLView.h
Related sample code

Overview

An NSOpenGLView object maintains an NSOpenGLPixelFormat and NSOpenGLContext object into which OpenGL calls can be rendered. The view provides methods for accessing and managing the NSOpenGLPixelFormat and NSOpenGLContext objects, as well as notifications of visible region changes.

An NSOpenGLView object cannot have subviews. You can, however, divide a single NSOpenGLView into multiple rendering areas using the glViewport function.

When creating an NSOpenGLView object in Interface Builder, you use the inspector window to specify the pixel format attributes you want for the view. Only those attributes listed in the Interface Builder inspector are set when the view is instantiated.

Note: In versions of the Xcode Tools that shipped prior to Mac OS X v10.4, the Interface Builder inspector does not list any pixel format attributes for NSOpenGLView.

Tasks

Initializing an NSOpenGLView

Managing the NSOpenGLPixelFormat

Managing the NSOpenGLContext

Managing the Visible Region

Class Methods

defaultPixelFormat

Returns a default NSOpenGLPixelFormat object.

+ (NSOpenGLPixelFormat *)defaultPixelFormat

Return Value

A pixel format object with no attributes set.

Discussion

Typically used with the initializer initWithFrame:pixelFormat:, this object has no attributes set.

Availability
See Also
Related Sample Code
Declared In
NSOpenGLView.h

Instance Methods

clearGLContext

Releases the NSOpenGLContext object associated with the view.

- (void)clearGLContext

Discussion

If necessary, this method calls the clearDrawable method of the context object before releasing it.

Availability
See Also
Declared In
NSOpenGLView.h

initWithFrame:pixelFormat:

Returns an NSOpenGLView object initialized with the specified frame rectangle and pixel format.

- (id)initWithFrame:(NSRect)frameRect pixelFormat:(NSOpenGLPixelFormat *)format

Parameters
frameRect

The frame rectangle for the view, specified in the coordinate system of its parent view.

format

The pixel format to use when creating the view's NSOpenGLContext object.

Return Value

An initialized NSOpenGLView object, or nil if the object could not be initialized.

Availability
See Also
Related Sample Code
Declared In
NSOpenGLView.h

openGLContext

Returns the NSOpenGLContext object associated with the receiver.

- (NSOpenGLContext *)openGLContext

Return Value

The OpenGL context object of the receiver.

Discussion

If the receiver has no associated context object, a new NSOpenGLContext object is created and returned. The new object is initialized with the receiver’s pixel format information.

Availability
See Also
Related Sample Code
Declared In
NSOpenGLView.h

pixelFormat

Returns the NSOpenGLPixelFormat object associated with the receiver.

- (NSOpenGLPixelFormat *)pixelFormat

Return Value

The receiver's pixel format object.

Availability
See Also
Related Sample Code
Declared In
NSOpenGLView.h

prepareOpenGL

Used by subclasses to initialize OpenGL state.

- (void)prepareOpenGL

Discussion

This method is called only once after the OpenGL context is made the current context. Subclasses that implement this method can use it to configure the Open GL state in preparation for drawing.

Availability
Related Sample Code
Declared In
NSOpenGLView.h

reshape

Called by Cocoa when the view's visible rectangle or bounds change.

- (void)reshape

Discussion

Cocoa typically calls this method during scrolling and resize operations but may call it in other situations when the view's rectangles change. The default implementation does nothing. You can override this method if you need to adjust the viewport and display frustum.

Availability
Related Sample Code
Declared In
NSOpenGLView.h

setOpenGLContext:

Sets the NSOpenGLContext object associated with the receiver.

- (void)setOpenGLContext:(NSOpenGLContext *)context

Parameters
context

The OpenGL context object to associate with the receiver.

Discussion

This method releases the current OpenGL context, if one already exists. You must also call the setView: method of the context object to synchronize the context with the view.

Availability
See Also
Related Sample Code
Declared In
NSOpenGLView.h

setPixelFormat:

Sets the receiver’s NSOpenGLPixelFormat object to the specified object.

- (void)setPixelFormat:(NSOpenGLPixelFormat *)pixelFormat

Parameters
pixelFormat

The new pixel format object for the receiver.

Availability
See Also
Declared In
NSOpenGLView.h

update

Called by Cocoa when the view’s window moves or when the view itself moves or is resized.

- (void)update

Discussion

The default implementation simply calls the update method of NSOpenGLContext. You can override this method to perform additional update operations on the context or if you need to add locks for multithreaded access to multiple contexts.

Availability
Related Sample Code
Declared In
NSOpenGLView.h

Next Page > Hide TOC


© 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-01-26)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.