ProgrammersGuide

Version 8 (coder, 15/08/2012 23:53)

1 1 admin
h1. Programmer's Guide
2 1 admin
3 1 admin
{{>toc}}
4 1 admin
5 1 admin
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.
6 1 admin
7 1 admin
h1. More Information
8 1 admin
9 1 admin
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.
10 1 admin
11 1 admin
Instructions for [[ReleaseInstall|installing libavg]] are also available.
12 1 admin
13 4 coder
If anything is unclear, we have a forum for questions and discussions.
14 1 admin
15 1 admin
h1. Basics
16 1 admin
17 1 admin
[[HelloWorld|Hello World]]: The basics of programming with libavg.
18 1 admin
19 1 admin
[[Nodes]]: How libavg content is structured.
20 1 admin
21 1 admin
[[NodeAttributes|Node Attributes]]: More on libavg content.
22 1 admin
23 1 admin
[[Events]]: Dynamics - handling user input and timing.
24 1 admin
25 1 admin
[[AVGApp|The AVGApp Class]]: Structuring applications.
26 1 admin
27 1 admin
[[Debugging]]: Debugging keys and logging available.
28 1 admin
29 1 admin
h1. Individual Node Classes
30 1 admin
31 1 admin
[[ImageNode]]: Bitmaps displayed on screen.
32 1 admin
33 1 admin
[[WordsNode]]: Displaying text, formatting, and font handling.
34 1 admin
35 1 admin
[[VideoNode]]: Playing back videos.
36 1 admin
37 1 admin
[[CameraNode]]: Interfacing to digital cameras.
38 1 admin
39 1 admin
[[MeshNode]]: Displaying content using a generic triangle mesh.
40 1 admin
41 5 coder
h1. Rendering Specifics
42 1 admin
43 5 coder
[[CoordinateSystem|Coordinate Systems]]: How libavg determines where to display nodes.
44 5 coder
45 5 coder
[[RenderingAttributes|Rendering Attributes]]: Masks, compositing and color adjustments.
46 5 coder
47 5 coder
[[OffscreenRendering|Offscreen Rendering]]: Rendering to an offscreen buffer.
48 5 coder
49 7 coder
[[FXNodes|FX Nodes]]: Rendering with GPU-based filters.
50 7 coder
51 5 coder
h1. Dynamics: Input and Animation
52 5 coder
53 1 admin
[[EventHandlingDetails|Event Handling Details]]: An in-depth description of libavg event handling.
54 1 admin
55 1 admin
[[TouchInput|Touch Input]]: Higher-level events for NUI and touch-based user interfaces. 
56 1 admin
57 6 coder
[[Tracker|Camera Tracking]]: Using the computer vision system in libavg as an input device.
58 6 coder
59 1 admin
[[Timing]]: Details on frame timing and time-based callbacks.
60 1 admin
61 1 admin
[[Animation]]: Using the built-in animation framework.
62 1 admin
63 5 coder
h1. Advanced Topics
64 1 admin
65 1 admin
[[Subclassing]]: Creating your own node classes and inserting them into a libavg scene.
66 1 admin
67 1 admin
[[MemoryManagement|Memory Management]]: Memory usage in libavg applications.
68 1 admin
69 1 admin
[[Plugins]]: Extending libavg with plugins written in C++.
70 1 admin
71 8 coder
[[Backwards Compatibility]]: Incompatible changes.
72 8 coder
73 1 admin
h1. Setup
74 1 admin
75 1 admin
[[EnvironmentVariables|Environment Variables]]
76 1 admin
77 1 admin
[[avgrc|The avgrc file]]