From e1d9c9d6f27f8a7044c1a11832b6356ebf0eaf56 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 7 Apr 2006 05:22:42 +0000 Subject: some basic structure for the five day intro to Pd workshop svn path=/trunk/; revision=4838 --- doc/tutorials/intro/README.txt | 2 - doc/tutorials/physical/README.txt | 10 +++++ doc/tutorials/sound/01.hello_world.pd | 21 +++++++++++ doc/tutorials/sound/02.audio_data.pd | 28 ++++++++++++++ doc/tutorials/visual/01.gemwin.pd | 11 ++++++ .../visual/02.gemwin_as_reference copy.pd | 19 ++++++++++ doc/tutorials/visual/03.render_chains.pd | 20 ++++++++++ doc/tutorials/visual/04.basic_2d_objects.pd | 33 ++++++++++++++++ doc/tutorials/visual/05.lighting.pd | 8 ++++ doc/tutorials/visual/06.basic_3d_objects.pd | 44 ++++++++++++++++++++++ 10 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 doc/tutorials/physical/README.txt create mode 100644 doc/tutorials/sound/01.hello_world.pd create mode 100644 doc/tutorials/sound/02.audio_data.pd create mode 100644 doc/tutorials/visual/01.gemwin.pd create mode 100644 doc/tutorials/visual/02.gemwin_as_reference copy.pd create mode 100644 doc/tutorials/visual/03.render_chains.pd create mode 100644 doc/tutorials/visual/04.basic_2d_objects.pd create mode 100644 doc/tutorials/visual/05.lighting.pd create mode 100644 doc/tutorials/visual/06.basic_3d_objects.pd 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; -- cgit v1.2.1