Version 1.0.1, 2009-04-07
Fixed an issue with shader units that caused an OpenGL error.
(Full Revision History)
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.
- 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.
- 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.
© 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-04-07)