« Previous - Version 3/21 (diff) - Next » - Current version
coder, 10/06/2012 21:55

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 using the forums.


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

ImageNode: Bitmaps displayed on screen.

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.

Touch Input: Higher-level events for NUI and touch-based user interfaces.

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.


Environment Variables

The avgrc file