ProgrammersGuide

Version 3 (coder, 10/06/2012 21:55)

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 3 coder
If anything is unclear, you are welcome to ask questions using the forums.
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 1 admin
h1. Advanced Topics
42 1 admin
43 1 admin
[[EventHandlingDetails|Event Handling Details]]: An in-depth description of libavg event handling.
44 1 admin
45 2 admin
[[TouchInput|Touch Input]]: Higher-level events for NUI and touch-based user interfaces. 
46 1 admin
47 1 admin
[[CoordinateSystem|Coordinate Systems]]: How libavg determines where to display nodes.
48 1 admin
49 1 admin
[[Timing]]: Details on frame timing and time-based callbacks.
50 1 admin
51 1 admin
[[Animation]]: Using the built-in animation framework.
52 1 admin
53 1 admin
[[RenderingAttributes|Rendering Attributes]]: Masks, compositing and color adjustments.
54 1 admin
55 1 admin
[[Subclassing]]: Creating your own node classes and inserting them into a libavg scene.
56 1 admin
57 1 admin
[[MemoryManagement|Memory Management]]: Memory usage in libavg applications.
58 1 admin
59 1 admin
[[OffscreenRendering|Offscreen Rendering]]: Rendering to an offscreen buffer.
60 1 admin
61 1 admin
[[Plugins]]: Extending libavg with plugins written in C++.
62 1 admin
63 1 admin
[[Tracker|Camera Tracking]]: Using the computer vision system in libavg as an input device.
64 1 admin
65 1 admin
h1. Setup
66 1 admin
67 1 admin
[[EnvironmentVariables|Environment Variables]]
68 1 admin
69 1 admin
[[avgrc|The avgrc file]]