QTCoreVideo301

Last Revision:
Version 1.0.1, 2009-04-07
Fixed an issue with shader units that caused an OpenGL error.
(Full Revision History)
Build Requirements:
Xcode v3.1
Runtime Requirements:
Leopard v10.5

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.


Did this document help you? Yes It's good, but... Not helpful...