Table of Contents
Programmer's Guide
The libvg Programmer's Guide is a collection of tutorials and explanatory articles that explain how to create applications using libavg. It starts with a basic Hello World tutorial and progresses to successively more complex topics.
More Information
In addition to the Programmer's Guide, we provide a complete Reference to libavg. The Reference is concise, possibly a bit terse, but much more exhaustive. All the examples in the guide are checked into svn under libavg/src/samples, including the necessary media files. You can run them directly in that directory.
Instructions for installing libavg are also available.
If anything is unclear, you are welcome to ask questions on the libavg-users mailing list.
Basics
Hello World: The basics of programming with libavg.
Nodes: How libavg content is structured.
Node Attributes: More on libavg content.
Events: Dynamics - handling user input and timing.
The AVGApp Class: Structuring applications.
Debugging: Debugging keys and logging available.
Individual Node Classes
WordsNode: Displaying text, formatting, and font handling.
VideoNode: Playing back videos.
CameraNode: Interfacing to digital cameras.
MeshNode: Displaying content using a generic triangle mesh.
Advanced Topics
Event Handling Details: An in-depth description of libavg event handling.
Coordinate Systems: How libavg determines where to display nodes.
Timing: Details on frame timing and time-based callbacks.
Animation: Using the built-in animation framework.
Rendering Attributes: Masks, compositing and color adjustments.
Subclassing: Creating your own node classes and inserting them into a libavg scene.
Memory Management: Memory usage in libavg applications.
Offscreen Rendering: Rendering to an offscreen buffer.
Plugins: Extending libavg with plugins written in C++.
Camera Tracking: Using the computer vision system in libavg as an input device.
