aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-04-07 05:22:42 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-04-07 05:22:42 +0000
commite1d9c9d6f27f8a7044c1a11832b6356ebf0eaf56 (patch)
treeebcaa72f6017179ec43e0f209c8042a672c5b300
parentde801018b752a85b03c562ef7b929c6df1f89ec2 (diff)
some basic structure for the five day intro to Pd workshop
svn path=/trunk/; revision=4838
-rw-r--r--doc/tutorials/intro/README.txt2
-rw-r--r--doc/tutorials/physical/README.txt10
-rw-r--r--doc/tutorials/sound/01.hello_world.pd21
-rw-r--r--doc/tutorials/sound/02.audio_data.pd28
-rw-r--r--doc/tutorials/visual/01.gemwin.pd11
-rw-r--r--doc/tutorials/visual/02.gemwin_as_reference copy.pd19
-rw-r--r--doc/tutorials/visual/03.render_chains.pd20
-rw-r--r--doc/tutorials/visual/04.basic_2d_objects.pd33
-rw-r--r--doc/tutorials/visual/05.lighting.pd8
-rw-r--r--doc/tutorials/visual/06.basic_3d_objects.pd44
10 files changed, 194 insertions, 2 deletions
diff --git a/doc/tutorials/intro/README.txt b/doc/tutorials/intro/README.txt
index 681e840b..57090b33 100644
--- a/doc/tutorials/intro/README.txt
+++ b/doc/tutorials/intro/README.txt
@@ -6,7 +6,6 @@ http://puredata.info/dev/pddp
Contributors include (in alphabetical order):
Alexandre Castonguay
-Andy Farnell
Aymeric Mansoux
Ben Bogart
Frank Barknecht
@@ -17,4 +16,3 @@ Malte Steiner
Max Neupert
Miller Puckette
Thomas Musil
-Tom Erbe
diff --git a/doc/tutorials/physical/README.txt b/doc/tutorials/physical/README.txt
new file mode 100644
index 00000000..c12feef7
--- /dev/null
+++ b/doc/tutorials/physical/README.txt
@@ -0,0 +1,10 @@
+
+This tutorial came out of the PDDP project:
+
+http://puredata.info/dev/pddp
+
+Contributors include (in alphabetical order):
+
+David Cuartielles
+Hans-Christoph Steiner
+Koray Tahiroglu
diff --git a/doc/tutorials/sound/01.hello_world.pd b/doc/tutorials/sound/01.hello_world.pd
new file mode 100644
index 00000000..0aed8828
--- /dev/null
+++ b/doc/tutorials/sound/01.hello_world.pd
@@ -0,0 +1,21 @@
+#N canvas 15 58 626 395 10;
+#X obj 292 20 import cyclone;
+#X obj 533 20 pddp/dsp;
+#X obj 8 10 cnv 15 400 40 empty empty hello_world 20 12 0 24 -228992
+-66577 0;
+#X obj 198 136 comment 400 14 Helvetica ? 0 0 0 0 2 create an object
+called: osc~;
+#X obj 198 106 comment 400 14 Helvetica ? 0 0 0 0 1 create a message
+box with the text: 200;
+#X obj 198 166 comment 400 14 Helvetica ? 0 0 0 0 3 create an object
+called: dac~;
+#X obj 198 196 comment 400 14 Helvetica ? 0 0 0 0 4 connect the message
+box to the osc~ object's left inlet;
+#X obj 198 226 comment 400 14 Helvetica ? 0 0 0 0 5 connect the osc~
+object to both inlets of the dac~ object;
+#X obj 198 256 comment 400 14 Helvetica ? 0 0 0 0 6 make sure your
+volume is set very low;
+#X obj 198 286 comment 400 14 Helvetica ? 0 0 0 0 7 turn on DSP by
+clicking the box on the upper right corner;
+#X obj 198 316 comment 400 14 Helvetica ? 0 0 0 0 8 click the message
+box to hear sound;
diff --git a/doc/tutorials/sound/02.audio_data.pd b/doc/tutorials/sound/02.audio_data.pd
new file mode 100644
index 00000000..ace535e6
--- /dev/null
+++ b/doc/tutorials/sound/02.audio_data.pd
@@ -0,0 +1,28 @@
+#N canvas 15 58 624 444 10;
+#X obj 292 20 import cyclone;
+#X obj 236 244 *~;
+#X obj 253 217 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 236 186 osc~ 500;
+#X obj 224 288 dac~;
+#X msg 232 142 250;
+#X msg 267 143 500;
+#X msg 200 142 125;
+#X obj 533 20 pddp/dsp;
+#X text 62 373 TODO: find out how to type ~ on various keyboards;
+#X obj 29 68 comment 400 12 Helvetica ? 0 0 0 0 For audio \, Pd has
+a specific data type. It is represented by tilde ("~") objects and
+thick cords.;
+#X obj 87 168 comment 200 12 Helvetica ? 0 0 0 0 messages (thin cord)
+-->;
+#X obj 116 266 comment 200 12 Helvetica ? 0 0 0 0 audio (thick cord)
+-->;
+#X obj 8 10 cnv 15 400 40 empty empty audio_data 20 12 0 24 -228992
+-66577 0;
+#X connect 1 0 4 0;
+#X connect 1 0 4 1;
+#X connect 2 0 1 1;
+#X connect 3 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
diff --git a/doc/tutorials/visual/01.gemwin.pd b/doc/tutorials/visual/01.gemwin.pd
new file mode 100644
index 00000000..0fb5f79a
--- /dev/null
+++ b/doc/tutorials/visual/01.gemwin.pd
@@ -0,0 +1,11 @@
+#N canvas 548 149 480 369 10;
+#X obj 196 258 gemwin;
+#X obj 8 10 cnv 15 400 40 empty empty gemwin 20 12 0 24 -228992 -66577
+0;
+#X msg 138 180 create;
+#X msg 245 181 destroy;
+#X text 12 89 The most basic element in Gem is the gemwin \, which
+displays the world that you are creating. Here's how you open and close
+the gemwin:;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
diff --git a/doc/tutorials/visual/02.gemwin_as_reference copy.pd b/doc/tutorials/visual/02.gemwin_as_reference copy.pd
new file mode 100644
index 00000000..e269c883
--- /dev/null
+++ b/doc/tutorials/visual/02.gemwin_as_reference copy.pd
@@ -0,0 +1,19 @@
+#N canvas 548 149 480 369 10;
+#X obj 64 322 gemwin;
+#X obj 8 10 cnv 15 400 40 empty empty gemwin_as_pointer 20 12 0 24
+-228992 -66577 0;
+#X msg 64 254 create;
+#X text 17 63 Gem is based on OpenGL \, which uses the graphics card
+to do the processing. That means that instead of directly controlling
+the data like you do with Pd messages or audio \, in Gem you are controlling
+a "pointer" to the data on the video card.;
+#X obj 302 323 gemwin;
+#X text 17 137 [gemwin] is a pointer to the output buffer of your video
+card. The screen you are looking at is that output buffer drawn to
+the screen.;
+#X msg 302 255 destroy;
+#X text 17 188 So even if there are multiple [gemwin] objects \, there
+is only one screen. Each [gemwin] object is then a pointer to the same
+window.;
+#X connect 2 0 0 0;
+#X connect 6 0 4 0;
diff --git a/doc/tutorials/visual/03.render_chains.pd b/doc/tutorials/visual/03.render_chains.pd
new file mode 100644
index 00000000..74cb8728
--- /dev/null
+++ b/doc/tutorials/visual/03.render_chains.pd
@@ -0,0 +1,20 @@
+#N canvas 548 149 488 377 10;
+#X obj 8 10 cnv 15 400 40 empty empty render_chains 20 12 0 24 -228992
+-66577 0;
+#X obj 298 244 gemhead;
+#X obj 297 216 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 48 274 gemwin;
+#X msg 47 217 create \, 1;
+#X msg 61 244 destroy;
+#X obj 297 300 square;
+#X text 31 74 Gem operates on "render chains". Render chains define
+the flow and ordering of the rendering of graphics to the Gem world
+that you see in the [gemwin].;
+#X text 29 133 Every render chain must start with a [gemhead] \, or
+it will not be generated. Render chains generally end with an shape
+object (sometimes called a "geo").;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
diff --git a/doc/tutorials/visual/04.basic_2d_objects.pd b/doc/tutorials/visual/04.basic_2d_objects.pd
new file mode 100644
index 00000000..1f05f70c
--- /dev/null
+++ b/doc/tutorials/visual/04.basic_2d_objects.pd
@@ -0,0 +1,33 @@
+#N canvas 548 149 496 385 10;
+#X obj 8 10 cnv 15 400 40 empty empty basic_2d_objects 20 12 0 24 -228992
+-66577 0;
+#X obj 168 196 gemhead;
+#X obj 167 168 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 29 120 gemwin;
+#X msg 28 63 create \, 1;
+#X msg 42 90 destroy;
+#X obj 168 224 square;
+#X obj 28 196 gemhead;
+#X obj 27 168 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 98 196 gemhead;
+#X obj 97 168 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 28 224 circle;
+#X obj 98 224 triangle;
+#X text 8 147 two-dimensional (2D);
+#X obj 230 196 gemhead;
+#X obj 229 168 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 230 224 rectangle;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 7 0 11 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;
diff --git a/doc/tutorials/visual/05.lighting.pd b/doc/tutorials/visual/05.lighting.pd
new file mode 100644
index 00000000..020ca1f5
--- /dev/null
+++ b/doc/tutorials/visual/05.lighting.pd
@@ -0,0 +1,8 @@
+#N canvas 548 149 492 381 10;
+#X obj 11 9 cnv 15 400 40 empty empty lighting 20 12 0 24 -228992 -66577
+0;
+#X obj 29 120 gemwin;
+#X msg 28 63 create \, 1;
+#X msg 42 90 destroy;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
diff --git a/doc/tutorials/visual/06.basic_3d_objects.pd b/doc/tutorials/visual/06.basic_3d_objects.pd
new file mode 100644
index 00000000..9a1ba109
--- /dev/null
+++ b/doc/tutorials/visual/06.basic_3d_objects.pd
@@ -0,0 +1,44 @@
+#N canvas 726 204 492 381 10;
+#X obj 8 10 cnv 15 400 40 empty empty basic_3D_objects 20 12 0 24 -228992
+-66577 0;
+#X obj 29 120 gemwin;
+#X msg 28 63 create \, 1;
+#X msg 42 90 destroy;
+#X obj 39 190 gemhead;
+#X obj 38 162 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 39 218 cube;
+#X obj 99 190 gemhead;
+#X obj 98 162 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 99 218 sphere;
+#X obj 159 190 gemhead;
+#X obj 158 162 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 159 218 cone;
+#X obj 221 191 gemhead;
+#X obj 220 163 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 281 191 gemhead;
+#X obj 280 163 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 281 219 teapot;
+#X obj 221 219 tube;
+#X obj 341 191 gemhead;
+#X obj 340 163 tgl 15 1 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 341 219 torus;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 13 0 18 0;
+#X connect 14 0 13 0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X connect 19 0 21 0;
+#X connect 20 0 19 0;