ProgrammersGuide

Version 6 (coder, 28/07/2012 13:21)

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 5 coder
h1. Dynamics: Input and Animation
50 5 coder
51 1 admin
[[EventHandlingDetails|Event Handling Details]]: An in-depth description of libavg event handling.
52 1 admin
53 1 admin
[[TouchInput|Touch Input]]: Higher-level events for NUI and touch-based user interfaces. 
54 1 admin
55 6 coder
[[Tracker|Camera Tracking]]: Using the computer vision system in libavg as an input device.
56 6 coder
57 1 admin
[[Timing]]: Details on frame timing and time-based callbacks.
58 1 admin
59 1 admin
[[Animation]]: Using the built-in animation framework.
60 1 admin
61 5 coder
h1. Advanced Topics
62 1 admin
63 1 admin
[[Subclassing]]: Creating your own node classes and inserting them into a libavg scene.
64 1 admin
65 1 admin
[[MemoryManagement|Memory Management]]: Memory usage in libavg applications.
66 1 admin
67 1 admin
[[Plugins]]: Extending libavg with plugins written in C++.
68 1 admin
69 1 admin
h1. Setup
70 1 admin
71 1 admin
[[EnvironmentVariables|Environment Variables]]
72 1 admin
73 1 admin
[[avgrc|The avgrc file]]