aboutsummaryrefslogtreecommitdiff
path: root/doc/tutorials/visual
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tutorials/visual')
-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
6 files changed, 135 insertions, 0 deletions
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;