Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Version: 1.0

Posted: 2008-06-06

Build Requirements: Xcode 3.x

Runtime Requirements: Leopard 10.5.x

View Source Code:

Download Sample (“QTCoreVideo301.zip”, 1.17M)
Download Sample (“QTCoreVideo301.dmg”, 1.11M)



Description

QTCoreVideo301 is a Cocoa application demonstrating how to apply GLSL shader effects to a QuickTime Movies in realtime using the combination of GLSL fragment and vertex shaders and the Core Video texture pipeline.

This application is the fifth in a series of applications demonstrating the synergy between QTKit, CoreVideo, and OpenGL. QTCoreVideo301 makes use of the classes introduced in QTCoreVideo102 and introduces the GLSLKit class and the notion of self-contained GLSL units.

This sample also demonstrates, through the use of GLSL units, how to use application controls to interact dynamically with a GLSL fragment shaders. Additionally, this sample makes use of UI animation techniques; to fade-in or fade-out controls depending on a selected video effect (or shader).

Using Core Video texture pipeline and OpenGL shaders, permits applications to add stunning visual effects to individual frames in realtime.

Base Classes:

• OpenGLViewKit - Allows you to work with OpenGLViews, interact with objects in 3D space.

• QTCoreVideoController - Request broker between the OpenGL models and the OpenGL views.

• MemObject - Memory container class.

• AlertPanelKit - Utility class for displaying alerts.

Derived Classes:

• QTCoreVideoOpenGLView - Derived from OpenGLViewKit, concrete view class.

• QTVisualContextKit - Utility class for maintaining Core Video PixelBuffer and Core Video OpenGL textures.

• GLSLKit - Utility toolkit to manage vertex and fragment shaders.

• GLSLUnit - Utility toolkit representing a self-contained fragment and vertex shader.

• OpenGLQuad - Allows you to instantiate a Quad object as a display list.

• OpenGLTeapot - Allows you to instantiate a Teapot object as a display list.

• OpenGLTeapotTextured - Derived from OpenGLTeapot maintains a texture associated with a Teapot surface.

This sample is part of the QTCoreVideo group of samples. Also see QTCoreVideo101, QTCoreVideo102, QTCoreVideo103, QTCoreVideo201, and QTCoreVideo202.

Document Revision History

Date Notes
2008-06-06Demonstrates adding of effects & filters to QuickTime Movies in realtime using GLSL shaders and the Core Video texture pipeline.



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.