Jump To:
Leopard Reference Library
Graphics and imaging on Mac OS X consists of three main developer technologies: Quartz, an advanced drawing engine and windowing environment; OpenGL, an Apple implementation of this 3D graphics industry-standard API; and QuickTime, the cross-platform multimedia technology for handling video, sound, and text.

A guided introduction for developers new to Mac OS X graphics and imaging.   Essential information for developers working with graphics and imaging.   C and Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
How can I optimize a Quartz Composer composition depending on the hardware it runs on? (HTML)
QA1433: Explains how to design compositions that adapt to the hardware limitations.
Cocoa, Performance, Quartz Technical Q&As 2005-06-01
JustDraw (HTML) (DMG) (ZIP)
Sample code being used in the WWDC 2005 Hands-On session 215 "Moving from QD to Quartz"
Carbon, Quartz Sample Code 2005-06-01
Link Snoop (HTML) (DMG) (ZIP)
Shows how to use PDFKit to scan for and highlight link annotations in PDFs.
Cocoa Sample Code 2005-06-01
MouseTracking (HTML) (DMG) (ZIP)
Sample code used in the WWDC 2005 Hands-On session 215 "Moving from QD to Quartz"
Carbon, Quartz Sample Code 2005-06-01
MyPhoto (HTML) (DMG) (ZIP)
Demonstrates preferred techniques for working with the Image Capture APIs
Carbon, Cocoa Sample Code 2005-06-01
Quartz Composer Live DV (HTML) (DMG) (ZIP)
Shows how to export a Quartz Composer composition as a real-time DV stream on the FireWire port.
Cocoa, OpenGL, Quartz, QuickTime Sample Code 2005-06-01
Quartz Composer Matrix (HTML) (DMG) (ZIP)
Shows how to use Quartz Composer to display a QuickTime movie as a series of frames in a 3D world.
Cocoa, OpenGL, Quartz, QuickTime Sample Code 2005-06-01
Quartz Composer Offline Rendering (HTML) (DMG) (ZIP)
Shows how to render a Quartz Composer composition as a series of images using an OpenGL pBuffer.
Cocoa, OpenGL, Quartz Sample Code 2005-06-01
Quartz Composer Texture (HTML) (DMG) (ZIP)
Shows how to use a Quartz Composer composition as an OpenGL texture.
Cocoa, Games, OpenGL, Quartz Sample Code 2005-06-01
Quartz Composer WWDC 2005 Composition (HTML) (DMG) (ZIP)
Shows how to build a parameterized motion graphics composition with Quartz Composer.
Cocoa, Quartz, Tools Sample Code 2005-06-01
Quartz Composer WWDC 2005 TextEdit (HTML) (DMG) (ZIP)
Demonstrate how to modify TextEdit's about dialog to display a Quartz Composer composition.
Cocoa, Quartz Sample Code 2005-06-01
QuartzCache (HTML) (DMG) (ZIP)
Demonstrates several caching techniques using CGBitmapContext, CGImageRef re-use, CGLayerRefs, CGImageSource.
Performance, Quartz Sample Code 2005-06-01
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Quartz Sample Code 2005-06-01
TexturePerformanceDemo (HTML) (DMG) (ZIP)
OpenGL texture optimization demo for WWDC Session 214
Cocoa, Games, OpenGL Sample Code 2005-06-01
VertexPerformanceDemo (HTML) (DMG) (ZIP)
Vertex optimization demo for WWDC Session 214
Cocoa, Games, OpenGL Sample Code 2005-06-01
Why does my Quartz Composer composition render with a corrupted background in the QCView? (HTML)
QA1434: Describes the circumstances in which the QCView background may render corrupted.
Quartz Technical Q&As 2005-06-01
Worm (HTML) (DMG) (ZIP)
NSView performance demonstration. Uses a periodic timer to get best performance with Coalesced Update feature.
Cocoa, Performance Sample Code 2005-06-01
Carbon Resolution Independence Release Notes (HTML)
Carbon Release Notes 2005-04-29
Resolution Independent UI Release Notes (HTML)
Quartz Release Notes 2005-04-29
CarbonSketch (HTML) (DMG) (ZIP)
Core Graphics only example of a Sketch application implemented with HIToolbox. Shows 1x1-CGBitmapContext for hit-testing, printing.
Carbon, Quartz Sample Code 2005-03-23
Optimizing OpenGL Data Throughput on Mac OS X (HTML)
Learn how to optimize your OpenGL code to maximize vertex data throughput.
OpenGL, Performance Articles 2005-03-21
Tiger Developer Overview Series: Developing with Core Image (HTML)
Learn how Core Image can help you take your graphics development to the next level.
Carbon, Cocoa, Games, Quartz Articles 2005-03-09
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Cocoa, Quartz Technical Q&As 2005-03-08
QuartzShapes (HTML) (DMG) (ZIP)
Example Quartz functions that implement equivalents to the QuickDraw PaintArc, FrameArc, PaintOval, FrameOval, PaintRect, and FrameRect
Carbon, Quartz Sample Code 2005-03-08
Context Sharing Tips (HTML) (日本語 HTML)
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Carbon, Games, OpenGL Technical Q&As 2005-02-07
OpenGL Release Highlights - Mac OS X 10.3 Panther (HTML)
TN2131: Contains a list of bugs along with a short description on a release-by-release basis
Carbon, Cocoa, Games, OpenGL Technical Notes 2005-02-04
NSOpenGLView redraw problems after a window is closed and re-opened. (HTML)
QA1353: Workaround for NSOpenGLView failure to draw after its window is closed and re-opened.
Cocoa, OpenGL Technical Q&As 2004-12-03
NSGLImage (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to texture in OpenGL with an NSImage and/or NSBitmapImageRep
Cocoa, Games, OpenGL Sample Code 2004-12-01
Using Interface Builder's NSOpenGLView or Custom View objects for an OpenGL application (HTML)
QA1167: Describes usage cases for both NSOpenGLViews and Custom Views for Cocoa OpenGL applications
Cocoa, OpenGL Technical Q&As 2004-10-28
glFlush() vs. glFinish() (HTML)
QA1158: Explanation of the differences between glFlush() and glFinish()
OpenGL Technical Q&As 2004-10-11
How do I determine how much VRAM is available on my video card? (HTML)
QA1168: Using Core Graphics and IOKit to find the physical size of VRAM on installed hardware.
Cocoa, Games, OpenGL, Quartz Technical Q&As 2004-10-11
iSight Programming Guide (HTML) (PDF)
Describes the Apple iSight video camera and its enhancements.
Hardware & Drivers Guides 2004-10-05
Java Advanced Imaging and Java 3D for Java 1.4.1 and 1.4.2 Release Notes (HTML)
Describes notes and known issues about Java Advanced Imaging and Java 3D for Java 1.4.1 and 1.4.2 on Mac OS X.
Java Release Notes 2004-10-05
Setting the ColorSync profile for a NSBitmapImageRep object (HTML)
QA1369: Setting the ColorSync profile for a NSBitmapImageRep object
Cocoa, ColorSync Technical Q&As 2004-09-08
Supporting Printing in Your Carbon Application (HTML) (PDF)
Explains how to support printing in Carbon applications. Includes creating PDFs and porting from Mac OS 9.
Carbon, Printing Guides 2004-08-31
HIShape Reference (HTML) (PDF)
Describes the Carbon API for manipulating HIShape objects.
Carbon Reference 2004-06-28
Graphics Exporters - Creating 16-bit-per-channel image files (HTML)
QA1354: Discusses how to use QuickTime Graphics Exporters to create 16-bit-per-channel image files.
QuickTime Technical Q&As 2004-06-03
GLCarbon1ContextPbuffer (HTML) (DMG) (ZIP)
Demostrates using OpenGL pixel buffers with a single shared context.
OpenGL Sample Code 2004-03-26
GLCarbonSharedPbuffer (HTML) (DMG) (ZIP)
Demostrates sharing a single OpenGL pixel buffer with multiple other contexts.
OpenGL Sample Code 2004-03-26
GLUTBasics (HTML) (DMG) (ZIP)
Simple GLUT example which can be used as starter code.
OpenGL Sample Code 2004-03-26
GLUTSurfaceTexture (HTML) (DMG) (ZIP)
Example of using the new glutSurfaceTexture.
OpenGL Sample Code 2004-03-26
Creating an OpenGL texture from an NSView (HTML) (日本語 HTML)
QA1325: Addresses the issues involved with using an NSView as the source data for an OpenGL texture.
OpenGL Technical Q&As 2004-02-13
NSOpenGL Fullscreen (HTML) (DMG) (ZIP)
Demonstrates how to create and switch between windowed and fullscreen OpenGL contexts using NSOpenGL.
Cocoa, OpenGL Sample Code 2004-02-11
OpenGL Tools for Serious Graphics Development (HTML)
Learn how Apple's best-of-breed OpenGL tools help developers locate, analyze, and debug graphics bottlenecks.
OpenGL, Performance, Tools Articles 2004-02-02
OpenGL Driver Monitor Decoder Ring (HTML) (日本語 HTML)
QA1334: Describes what each of the parameters available in the OpenGL Driver Monitor measure.
OpenGL Technical Q&As 2004-01-30
Shearing a Coordinate Space with NSAffineTransform (HTML) (日本語 HTML)
QA1332: Describes a simple way to shear coordinate spaces by adding a few methods to the NSAffineTransform class.
Cocoa, Quartz Technical Q&As 2004-01-29
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
OpenGL Technical Notes 2003-12-29
ColorMatching (HTML) (DMG) (ZIP)
Performs simple color matching of images using ColorSync or the QuickTime 6.4 Graphics Importers.
Cocoa, ColorSync Sample Code 2003-12-18
OpenGL Screensaver (HTML) (DMG) (ZIP)
Demonstrates how to integrate OpenGL drawing into a standard Cocoa screen saver on Mac OS X.
Cocoa, OpenGL Sample Code 2003-12-10
RGB ValueTransformers (HTML) (DMG) (ZIP)
Supersedes the "RGB Image sample". Sample now uses bindings. Color separation now done in an NSValueTransformer subclass.
Cocoa, Quartz Sample Code 2003-11-18
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Carbon Sample Code 2003-10-27
qtshell (HTML) (DMG) (ZIP)
Simple QuickTime and QuickTime VR viewer framework.
QuickTime Sample Code 2003-10-27
TextNameTool (HTML) (DMG) (ZIP)
A command line tool sample illustrating how to use various graphical facilities and services without a login.
Typography Sample Code 2003-10-27
CollectPictColors (HTML) (DMG) (ZIP)
Deprecated - Uses Picture Utilities package and KnowsPict application to demonstrate collecting colors used by Pict resources.
Carbon Sample Code 2003-10-10
Palette and GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of palette and color tables with GWorlds.
Carbon Sample Code 2003-10-10
Sharpening Full Scene Anti-Aliasing Details (HTML)
QA1268: Using full scene anti-aliasing (FSAA) in OpenGL applications.
OpenGL Technical Q&As 2003-10-10
Providing QuickDraw with a Known Good Port (HTML) (日本語 HTML)
Deprecated - QA1237: How to use SetPort( NULL) to provide QuickDraw with a known good port.
Carbon Technical Q&As 2003-09-29
OpenGL Extensions Guide (HTML)
Information about OpenGL functionality supported in Mac OS X.
Carbon, OpenGL Guides 2003-09-10
Printing Plug-in Interfaces Reference (HTML) (PDF)
Describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Printing Reference 2003-07-31
TE Over Background (HTML) (DMG) (ZIP)
Deprecated - A textEdit that shows old text editing over a colored background
Carbon Sample Code 2003-07-22
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Carbon, Cocoa, Quartz Technical Q&As 2003-07-17
Cocoa CG aliasing demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased text and graphics using Quartz and Cocoa.
Cocoa, Quartz Sample Code 2003-07-17
Cocoa CG arc demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased arcs using Quartz and Cocoa.
Cocoa, Quartz Sample Code 2003-07-17
Draw Pixels (HTML) (DMG) (ZIP)
An example of the correct use of DrawPixels.
OpenGL Sample Code 2003-07-16
TextureRange (HTML) (DMG) (ZIP)
Shows the fundamental techniques required to fast texture upload performance.
OpenGL Sample Code 2003-07-16
Tioga PostScript Printing Plugins in Mac OS X 10.2 (HTML) (日本語 HTML)
QA1085: Why Tioga printing plugins for PostScript printing aren't called on Mac OS X 10.2 and later.
Printing Technical Q&As 2003-07-14
AGLSurfaceTexture (HTML) (DMG) (ZIP)
Example of render to texture/texture from surface using aglSurfaceTexture.
Carbon, OpenGL Sample Code 2003-07-07
Carbon GLSnapshot (HTML) (DMG) (ZIP)
Demonstrates the use of OpenGL with Quicktime to capture OpenGL content.
OpenGL Sample Code 2003-07-07
NURBSSurfaceVertexProg (HTML) (DMG) (ZIP)
Uses a vertex program to compute the vertex position for a NURB surface.
OpenGL Sample Code 2003-07-07
SurfaceVertexProgram (HTML) (DMG) (ZIP)
Vertex program that demonstrates the use of a UV mesh to draw an implicit surface.
OpenGL Sample Code 2003-07-07
VBL (HTML) (DMG) (ZIP)
A simple example of how to create an OpenGLView in AppKit.
Cocoa, OpenGL Sample Code 2003-07-07
Vertex Optimization (HTML) (DMG) (ZIP)
Shows examples of optimized vertex throughput.
OpenGL Sample Code 2003-07-07
Maximizing Mac OS X Application Performance (HTML)
Learn how to achieve better performance on Mac OS X.
Performance Articles 2003-06-23
Updating OpenGL Contexts (HTML) (日本語 HTML)
QA1209: When and why to update an OpenGL context in response to system and user actions.
Carbon, Games, OpenGL Technical Q&As 2003-06-19
CubePuzzle (HTML) (DMG) (ZIP)
Models a Rubik's Cube using Cocoa and OpenGL
Games, OpenGL Sample Code 2003-04-21
GLChildWindowDemo (HTML) (DMG) (ZIP)
Shows using Cocoa's child windows and Quartz Extreme to provide 2D/3D overlays above 3D content.
Cocoa, OpenGL Sample Code 2003-04-21
OpenGLCompositorLab (HTML) (DMG) (ZIP)
Demonstrates using OpenGL to composite multiple sources in hardware. Requires NVIDIA GeForce 4 Ti hardware.
Cocoa, OpenGL, QuickTime Sample Code 2003-04-21
Is ColorSync thread safe? (HTML) (日本語 HTML)
QA1261: Discusses ColorSync thread-safety issues.
Carbon, Cocoa, ColorSync, Games, Hardware & Drivers, Performance, QuickTime Technical Q&As 2003-04-17
Out of This GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of offscreen GWorlds and palette animation to simulate animation.
Carbon, Games Sample Code 2003-03-12
TubeTest (HTML) (DMG) (ZIP)
Deprecated - The program is a simple demonstration of how to use the Palette Manager in a color program.
Carbon Sample Code 2003-03-12
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Carbon, Printing Technical Q&As 2003-02-25
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Carbon, Cocoa, Performance, Printing, Quartz Technical Q&As 2003-02-25
GLUTStereo (HTML) (DMG) (ZIP)
Shows how to use stereo with GLUT under Mac OS X v10.2.3 or later.
OpenGL Sample Code 2003-02-20
Mac OS X QuickDraw Performance (HTML) (日本語 HTML)
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Carbon Technical Notes 2003-02-13
Matching Fonts With Font Sync (HTML) (PDF)
Conceptual information about comparing and identifying fonts based upon their content.
Typography Guides 2003-02-12
icon cache demo (HTML) (DMG) (ZIP)
Demonstrates the use of an icon cache to limit the search for icon resource to one resource file.
Carbon Sample Code 2003-01-30
Image Difference (HTML) (DMG) (ZIP)
Demonstrates a way to use Quartz's compositing capability to find the difference between two images.
Cocoa, Quartz Sample Code 2003-01-30
aglClipBufferRect (HTML) (DMG) (ZIP)
Shows the use of clip regions and buffer rects in AGL.
Carbon, OpenGL Sample Code 2003-01-14
BlitNoVBL (HTML) (DMG) (ZIP)
Shows how to draw directly to the screen without syncing to the VBL of the monitor.
Hardware & Drivers, Performance, Quartz Sample Code 2003-01-14
BlitVBL (HTML) (DMG) (ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
Hardware & Drivers, Performance, Quartz Sample Code 2003-01-14
CarbonQuartzDrawingWPrinting (HTML) (DMG) (ZIP)
Deprecated - Demonstrates mixing QuickDraw and Quartz 2D drawing both on screen and during printing.
Carbon, Printing, Quartz Sample Code 2003-01-14
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Cocoa, Quartz Sample Code 2003-01-14
CGGamma (HTML) (DMG) (ZIP)
Shows how to use CGDirectDisplay calls to manipulate display gamma tables.
Games, Quartz Sample Code 2003-01-14
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Carbon, Cocoa, Quartz Sample Code 2003-01-14
ColorSyncDevices (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Support APIs introduced with Mac OS X.
Carbon, ColorSync Sample Code 2003-01-14
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Carbon, Cocoa, Quartz Sample Code 2003-01-14
CTMDemo (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing without clipping.
Carbon, Cocoa, Quartz Sample Code 2003-01-14
FullScreen (HTML) (DMG) (ZIP)
Shows how to use BeginFullScreen and EndFullScreen to enter and exit full-screen mode.
Carbon Sample Code 2003-01-14
Mode (HTML) (DMG) (ZIP)
Shows how to enumerate displays and list the available modes for each display.
Carbon, Games, Quartz Sample Code 2003-01-14
ModeWhacker (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, and release displays using the CGDirectDisplay API.
Carbon, Games, Quartz Sample Code 2003-01-14