aboutsummaryrefslogtreecommitdiff
path: root/Gem/gemwin-help.pd
blob: be5b86209688d9481b880938603d6f002c8e5a4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
#N canvas 126 111 676 689 10;
#X declare -lib Gem;
#X text 452 8 GEM object;
#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 7 149 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 16 153 Arguments:;
#X obj 7 43 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 54 cnv 15 210 350 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 451 28 Example:;
#X obj 454 286 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
0;
#X text 50 2 Synopsis: [gemwin];
#X text 17 46 Description: access to the window manager;
#X obj 458 320 gemwin;
#X msg 458 103 reset \, dimen 640 480 \, create \, 1;
#X msg 486 195 0 \, destroy;
#X text 16 196 Inlet 1:;
#X text 30 225 reset : reset the graphics manager to the default values
;
#X text 29 432 create : create the graphics window;
#X text 29 446 destroy : destroy the graphics window;
#X text 30 479 float (1/0) : turn on/off rendering;
#X text 30 493 print : show some information on the stderr;
#X text 71 21 Class: window handling;
#N canvas 361 97 456 455 FSAA 0;
#X msg 48 222 0;
#X msg 79 222 2;
#X msg 108 222 4;
#X text 54 129 2 - double resolution (4 times the pixel data);
#X text 43 324 Full-scene anti-aliasing by supersampling usually means
that each full frame is rendered at double (2x) or quadruple (4x) the
display resolution \, and then down-sampled to match the display resolution.
So a 4x FSAA would render 16 supersampled pixels for each single pixel
of each frame.;
#X text 54 189 8 - eight-times resolution (64 times the pixel data)
;
#X text 54 149 4 - quadruple resolution (16 times the pixel data);
#X text 54 109 0 - turn off super sampling for anti-aliasing;
#X text 43 405 http://en.wikipedia.org/wiki/Anti-aliasing#Full-scene_anti-aliasing
;
#X text 200 220 <-- destroy gemwin between clicking these;
#X obj 90 299 s \$0-gemwin-in;
#X text 54 168 5 - quadruple resolution (16 times the pixel data);
#X text 33 6 Gem provides Full Scene Anti-Aliasing for smoothing out
the edges of all things drawn in the OpenGL scene. To enable it \,
send the "FSAA" message to the [gemwin] before creating it.;
#X text 33 61 FSAA might or might not work depending on your graphic
card \, the value of the parameter may also vary.;
#X msg 169 222 8;
#X msg 139 222 5;
#X msg 90 272 destroy \, FSAA \$1 \, create \, 1;
#X connect 0 0 16 0;
#X connect 1 0 16 0;
#X connect 2 0 16 0;
#X connect 14 0 16 0;
#X connect 15 0 16 0;
#X connect 16 0 10 0;
#X restore 356 269 pd FSAA;
#X obj 471 294 r \$0-gemwin-in;
#X text 29 285 fullscreen 0|1 : make fullscreen-window;
#X text 57 302 (if possible with the dimensions passed via "dimen")
;
#N canvas 430 50 405 382 fullscreen 0;
#X text -88 -108 fullscreen 0/1: make fullscreen-window (if possible
with the dimensions passed via "dimen");
#X text -88 -64 on platform's that support it (currently: Mac OS X)
you can specify on which screen you want to go fullscreen (if you have
several screens): e.g. "fullscreen 2" will make a fullscreen-window
on Screen2;
#X text -86 -130 FULLSCREEN SUPPORT;
#X obj -85 -1 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X floatatom -85 50 5 0 0 0 - - -;
#X msg -85 71 reset \, fullscreen \$1 \, create \, 1;
#X text -63 -4 deactivate fullscreen;
#X text -64 13 fullscreen on screen 1;
#X text -64 29 fullscreen on screen 2;
#X msg -72 126 0 \, destroy;
#X text -89 182 BE CAREFUL : when you are in fullscreen mode \, you
have no more access to the other windows of your system.;
#N canvas 107 50 450 300 esc 0;
#X obj 65 20 gemkeyboard;
#X obj 65 167 outlet;
#X obj 89 71 keyname;
#X obj 128 96 sel Escape;
#X obj 65 41 sel 53;
#X obj 189 47 sel Escape;
#X obj 150 22 gemkeyname;
#X connect 0 0 4 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 1 5 0;
#X restore -72 104 pd esc;
#X obj -85 155 s \$0-gemwin-in;
#X text 111 11 press ESC to quit;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 12 0;
#X connect 9 0 12 0;
#X connect 11 0 9 0;
#X restore 356 288 pd fullscreen;
#X text 57 253 the x and y dimensions of the window. (default: 500
500);
#X text 29 508 frame <number> : number of frames per second (default
20);
#X text 30 268 FSAA <number> : anti aliasing (default:0);
#X text 30 318 border 1|0 : create a window with/out borders (default
1);
#X text 57 350 the x and y offset of the window. (default: 0 0);
#N canvas 641 438 406 148 offset 0;
#X text 53 8 OFFSET SUPPORT;
#X text 21 28 offset might not work on some window managers if the
borders are on;
#X text 20 55 under OSX you must take into account the number of pixel
of the menubar \, title and eventually of your dock.;
#X text 19 82 [offset 0 -60( with [menubar 0( is working in 10.6 to
set the window in the top left of the screen;
#X restore 356 334 pd offset;
#N canvas 230 93 618 505 more 0;
#X text 230 327 title <title_symbol>: set the title for the window
;
#X msg 121 327 title my_window;
#X obj 94 187 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X msg 94 205 menubar \$1;
#X msg 117 187 -1;
#X text 188 190 menubar -1/0/1: hide or show the Mac OS X menubar \,
1 shows \, 0 hides \, and -1 hides by default and shows on mouseover
;
#X msg 44 60 cursor \$1;
#X obj 44 41 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1
;
#X text 139 59 cursor 0/1: turn the cursor on/off;
#X obj 109 247 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X msg 109 266 topmost \$1;
#X text 204 255 topmost 0/1: make the gemwin the top most window \,
on top of everything else (Windows only?);
#X msg 126 376 create remotehost:8.0;
#X text 283 369 when using X-windows \, you can also create a window
on a remote display!;
#X obj 44 465 s \$0-gemwin-in;
#X text 41 14 Other messages to [gemwin] regarding the window;
#X msg 55 139 0 \, destroy;
#X msg 110 438 create \, 1;
#X text 188 437 ...and create it after;
#X text 133 140 destroy window before setting window properties...
;
#X text 81 104 All of these messages must be sent to [gemwin] before
the window is created in order to take effect:;
#X connect 1 0 14 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 4 0 3 0;
#X connect 6 0 14 0;
#X connect 7 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 14 0;
#X connect 12 0 14 0;
#X connect 16 0 14 0;
#X connect 17 0 14 0;
#X restore 30 367 pd more window properties;
#X text 29 558 lighting 0|1 : turn lighting off/on (default:0);
#N canvas 190 228 580 527 more 0;
#X text 105 134 lighting 1/0 : turn lighting on/off;
#X text 263 186 ambient R G B : the ambient lighting color;
#X text 269 240 specular R G B : the specular lighting color;
#X text 197 277 shininess num : the shininess value;
#X text 132 326 fogmode 0/1/2/3 : set the fog mode (OFF/LINEAR/EXP/EXP^2)
;
#X text 298 447 fogcolor R G B : the color of the fog;
#X text 219 367 fog num : the fog density;
#X text 24 11 messages to the [gemwin] regarding lighting effects;
#X obj 24 116 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
1;
#X msg 24 134 lighting \$1;
#N canvas 714 134 566 458 color 0;
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
-1 0 1;
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
-1 0 1;
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
-1 0 1;
#X obj 100 329 outlet;
#X obj 132 253 list;
#X msg 132 273 set ambient \$1 \$2 \$3;
#X obj 233 144 t b f;
#X obj 367 144 t b f;
#X obj 100 201 pack 0 0 0;
#X obj 100 230 t b a;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 6 1 8 1;
#X connect 7 0 8 0;
#X connect 7 1 8 2;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 9 1 4 0;
#X coords 0 -1 1 1 400 13 1 100 100;
#X restore 35 165 pd color sliders;
#X msg 35 187 ambient 0 0 0;
#N canvas 714 134 566 366 color 0;
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
-1 0 1;
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
-1 0 1;
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
-1 0 1;
#X obj 100 299 outlet;
#X obj 132 223 list;
#X msg 132 242 set specular \$1 \$2 \$3;
#X obj 233 124 t b f;
#X obj 367 124 t b f;
#X obj 100 171 pack 0 0 0;
#X obj 100 199 t b a;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 6 1 8 1;
#X connect 7 0 8 0;
#X connect 7 1 8 2;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 9 1 4 0;
#X coords 0 -1 1 1 400 13 1 100 100;
#X restore 42 219 pd color sliders;
#X msg 42 241 specular 0 0 0;
#N canvas 710 134 570 462 color 0;
#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
-1 0 1;
#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
-1 0 1;
#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
-1 0 1;
#X obj 100 299 outlet;
#X obj 132 223 list;
#X msg 132 242 set fogcolor \$1 \$2 \$3;
#X obj 233 125 t b f;
#X obj 367 125 t b f;
#X obj 100 171 pack 0 0 0;
#X obj 100 200 t b a;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 6 1 8 1;
#X connect 7 0 8 0;
#X connect 7 1 8 2;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 9 1 4 0;
#X coords 0 -1 1 1 400 13 1 100 100;
#X restore 54 426 pd color sliders;
#X msg 54 448 fogcolor 0 0 0;
#X msg 59 338 fogmode 0;
#N canvas 889 134 348 479 fog 0;
#X obj 84 239 outlet;
#X obj 100 101 hradio 15 1 0 4 empty empty empty 0 -6 0 10 -262144
-1 -1 0;
#X msg 207 182 set fogmode \$1;
#X obj 84 140 trigger bang float;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 3 1 2 0;
#X coords 0 -1 1 1 60 13 1 100 100;
#X restore 59 314 pd fog;
#X msg 50 288 shininess 0;
#N canvas 889 134 356 487 fog 0;
#X obj 84 239 outlet;
#X obj 84 140 trigger bang float;
#X msg 207 182 set shininess \$1;
#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
-1 -1 0 1;
#X connect 1 0 0 0;
#X connect 1 1 2 0;
#X connect 2 0 0 0;
#X connect 3 0 1 0;
#X coords 0 -1 1 1 133 13 1 100 100;
#X restore 50 266 pd fog;
#X msg 60 388 fog 0;
#N canvas 889 134 364 495 fog 0;
#X obj 84 239 outlet;
#X obj 84 140 trigger bang float;
#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
-1 -1 0 1;
#X msg 207 182 set fog \$1;
#X connect 1 0 0 0;
#X connect 1 1 3 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X coords 0 -1 1 1 133 13 1 100 100;
#X restore 60 366 pd fog;
#X obj 24 68 gemhead;
#X obj 24 90 world_light;
#X obj 24 475 s \$0-gemwin-in;
#X text 23 34 Be careful: when you activate lighting \, you must have
some lights to see something \, such as:;
#X connect 8 0 9 0;
#X connect 9 0 24 0;
#X connect 10 0 11 0;
#X connect 11 0 24 0;
#X connect 12 0 13 0;
#X connect 13 0 24 0;
#X connect 14 0 15 0;
#X connect 15 0 24 0;
#X connect 16 0 24 0;
#X connect 17 0 16 0;
#X connect 18 0 24 0;
#X connect 19 0 18 0;
#X connect 20 0 24 0;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X restore 30 575 pd more lighting;
#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
\, Red/Green-mode(2);
#N canvas 680 259 468 458 draw_geos 0;
#X obj 64 53 gemhead;
#X obj 244 55 gemhead;
#X obj 244 159 rotateXYZ;
#X obj 398 109 f;
#X obj 398 158 % 360;
#X obj 398 134 + 1;
#X obj 398 86 metro 50;
#X obj 64 92 color 0.8 0.8 0.8;
#X obj 244 92 color 0.8 0.8 0.8;
#X obj 64 188 cube 0.75;
#X obj 64 118 translateXYZ 2 2 0;
#X obj 244 117 translateXYZ 2 -2 0;
#X obj 64 157 rotateXYZ 45 0 0;
#X obj 244 190 square 0.75;
#X obj 63 220 gemhead;
#X obj 243 222 gemhead;
#X obj 63 259 color 0.8 0.8 0.8;
#X obj 243 259 color 0.8 0.8 0.8;
#X obj 63 285 translateXYZ -2 2 0;
#X obj 63 308 sphere 0.75 30;
#X obj 243 284 translateXYZ -2 -2 0;
#X obj 243 310 circle 0.75;
#X obj 398 56 inlet;
#X connect 0 0 7 0;
#X connect 1 0 8 0;
#X connect 2 0 13 0;
#X connect 3 0 5 0;
#X connect 4 0 3 1;
#X connect 4 0 2 3;
#X connect 4 0 12 3;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
#X connect 7 0 10 0;
#X connect 8 0 11 0;
#X connect 10 0 12 0;
#X connect 11 0 2 0;
#X connect 12 0 9 0;
#X connect 14 0 16 0;
#X connect 15 0 17 0;
#X connect 16 0 18 0;
#X connect 17 0 20 0;
#X connect 18 0 19 0;
#X connect 20 0 21 0;
#X connect 22 0 6 0;
#X restore 455 378 pd draw_geos;
#X msg 472 152 create \, 1;
#N canvas 252 99 539 630 buffering 0;
#X msg 63 127 buffer 1;
#X msg 78 152 buffer 2;
#X text 134 127 single buffering;
#X text 145 150 double buffering;
#X msg 111 244 bang;
#X text 152 254 swap the buffers (double buffer mode);
#X text 151 235 clear the buffer (single buffer mode);
#X text 30 16 messages to [gemwin] concerning the buffer rendering
mode;
#X msg 17 83 0 \, destroy;
#X msg 117 198 create \, 1;
#X text 195 197 ...and create it after;
#X obj 33 283 s \$0-gemwin-in;
#X text 95 84 destroy window before to set buffer mode...;
#X text 30 323 When you are in single buffer mode \, you must bang
the gemhead each time you want to draw. like:;
#X obj 33 383 loadbang;
#X msg 33 407 0;
#X obj 33 436 gemhead;
#X obj 149 383 metro 50;
#X obj 149 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 33 519 rotateXYZ;
#X obj 176 426 f;
#X obj 176 472 % 360;
#X obj 33 580 square 0.75;
#X obj 33 550 translateXYZ 2 0 0;
#X text 172 363 toggle to draw;
#X obj 176 448 + 1;
#X obj 33 472 color 0.8 0.8 0.8;
#X text 29 33 Changing the rendering mode must be done before the window
is created in order to take effect.;
#X obj 176 494 t f f;
#X obj 149 405 t b b;
#X msg 279 142 transparent \$1;
#X obj 279 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 299 108 use RGBA buffer to have an alpha channel and a transparent
window, f 32;
#X connect 0 0 11 0;
#X connect 1 0 11 0;
#X connect 4 0 11 0;
#X connect 8 0 11 0;
#X connect 9 0 11 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 29 0;
#X connect 18 0 17 0;
#X connect 19 0 23 0;
#X connect 20 0 25 0;
#X connect 21 0 28 0;
#X connect 23 0 22 0;
#X connect 25 0 21 0;
#X connect 26 0 19 0;
#X connect 28 0 19 3;
#X connect 28 1 20 1;
#X connect 29 0 16 0;
#X connect 29 1 20 0;
#X connect 30 0 11 0;
#X connect 31 0 30 0;
#X restore 355 405 pd buffering;
#N canvas 556 191 548 430 stereo-3D 0;
#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
;
#X msg 31 158 stereo \$1;
#X obj 31 398 s \$0-gemwin-in;
#X obj 31 60 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X text 54 77 2 screen mode;
#X text 53 91 Red / Green mode;
#X text 105 158 set stereo-mode;
#X text 54 61 off;
#X msg 48 210 stereoSep \$1;
#X floatatom 48 188 5 0 0 0 - - -;
#X text 137 209 set the stereo-separation (default:-15);
#X msg 66 258 stereoFoc \$1;
#X text 150 259 set the stereo-focal;
#X floatatom 66 234 5 0 0 0 - - -;
#X obj 80 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 174 297 turn the separation-line between the 2 screens in stereo-mode
1 on/off;
#X msg 79 344 0 \, destroy;
#X msg 79 369 create \, 1;
#X text 157 345 destroy window before to set stereo...;
#X text 157 368 ...and create it after;
#X text 53 106 Crystal Glasses mode (needs hardware support!);
#X msg 80 302 stereoLine \$1;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X connect 8 0 2 0;
#X connect 9 0 8 0;
#X connect 11 0 2 0;
#X connect 13 0 11 0;
#X connect 14 0 21 0;
#X connect 16 0 2 0;
#X connect 17 0 2 0;
#X connect 21 0 2 0;
#X restore 354 641 pd stereo-3D;
#X text 464 132 basic create and start rendering;
#X text 513 241 change background color;
#X text 56 538 set the background color of the window (default: 0 0
0);
#X text 30 238 dimen <x> <y>:;
#X text 30 333 offset <x> <y>:;
#X text 29 593 view <x> <y> <z> : translate the camera (default: 0
0 4);
#N canvas 124 233 762 647 more 0;
#X text 43 11 messages to [gemwin] regarding the view-point ("camera")
;
#X text 312 389 perspec <left> <right> <bottom> <top> <front> <back>::
;
#X text 311 407 set the clipping planes of the view-point. this might
be what you need \, if all the objects that re further away than 20
units suddenly disappear;
#X text 311 449 default: -1 1 -1 1 1 20;
#X text 208 51 view <x> <y> <z>::;
#X text 208 70 translate the camera / set the viewpoint:: the viewing-direction
will not be changed.;
#X text 80 119 default: 0 0 4;
#X text 208 98 the viewing direction defaults to "0 0 1" \, with y-axis
as "up";
#X text 303 167 view <x> <y> <z> <azimuth>::;
#X text 303 184 view <x> <y> <z> <azimuth> <elevation>::;
#X text 303 201 translate/rotate camera/viewpoint \; the "up" direction
will still be the y-axis;
#X text 389 284 view <view_x> <view_y> <view_z> <target_x> <target_y>
<target_z> <up_x> <up_y> <up_z>::;
#X text 389 314 set viewpoint (view_X view_Y view_Z). the camera will
look at the target-point (target_X \, target_Y \, target_Z). "up" is
defined via the vector (up_X \, up_Y \, up_Z);
#X text 301 251 default: 0 0 4 0 0;
#X text 389 355 default: 0 0 4 0 0 0 0 1 0;
#X obj 25 588 s \$0-gemwin-in;
#X msg 25 101 view \$1 \$2 \$3;
#X msg 42 190 view \$1 \$2 \$3 \$4;
#X msg 49 250 view \$1 \$2 \$3 \$4 \$5;
#X msg 52 330 view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
#X msg 101 452 perspec \$1 \$2 \$3 \$4 \$5 \$6;
#X text 310 467 if you want to remove perspective \, see [ortho];
#X msg 66 563 view 0 0 20 \, perspec -1 1 -1 1 4 50;
#N canvas 1299 508 544 500 perspec 0;
#X obj 90 428 outlet;
#X obj 268 273 t f f;
#X obj 268 298 * -1;
#X obj 90 268 t f f;
#X obj 90 293 * -1;
#X obj 90 367 pack -1 1 -1 1 1 20;
#X msg 90 389 set perspec \$1 \$2 \$3 \$4 \$5 \$6 \, bang;
#X msg 172 453 set perspec \, adddollar 1 \, adddollar 2 \, adddollar
3 \, adddollar 4 \, adddollar 5 \, adddollar 6;
#X floatatom 103 117 5 0.1 5 1 x_wideness - -;
#X floatatom 103 134 5 0.1 5 1 y_wideness - -;
#X floatatom 103 151 5 0 0 1 z_depth - -;
#X obj 360 196 select 1;
#X obj 405 219 t b f f;
#X obj 249 226 t b f f;
#X obj 204 203 select 0;
#X obj 360 218 f 20;
#X obj 204 224 f 1;
#X msg 204 246 set \$1;
#X msg 360 240 set \$1;
#X obj 134 216 t b f f;
#X obj 89 193 select 0;
#X obj 89 214 f 1;
#X msg 89 236 set \$1;
#X obj 328 97 loadbang;
#X obj 328 119 t b b;
#X obj 328 141 t b b b;
#X connect 1 0 2 0;
#X connect 1 1 5 3;
#X connect 2 0 5 2;
#X connect 3 0 4 0;
#X connect 3 1 5 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 20 0;
#X connect 9 0 14 0;
#X connect 10 0 11 0;
#X connect 11 0 15 0;
#X connect 11 1 12 0;
#X connect 12 0 5 0;
#X connect 12 1 5 5;
#X connect 12 2 15 1;
#X connect 13 0 5 0;
#X connect 13 1 1 0;
#X connect 13 2 16 1;
#X connect 14 0 16 0;
#X connect 14 1 13 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 9 0;
#X connect 18 0 10 0;
#X connect 19 1 3 0;
#X connect 19 2 21 1;
#X connect 20 0 21 0;
#X connect 20 1 19 0;
#X connect 21 0 22 0;
#X connect 22 0 8 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 24 1 7 0;
#X connect 25 0 21 0;
#X connect 25 1 16 0;
#X connect 25 2 15 0;
#X coords 0 -1 1 1 100 67 1 100 100;
#X restore 101 380 pd perspec;
#X text 292 554 the default camera has a very wide angle. this message
allows to narrow it.;
#N canvas 506 305 612 484 view 0;
#X floatatom 112 114 5 0 0 0 x - -;
#X floatatom 158 114 5 0 0 0 y - -;
#X floatatom 201 114 5 0 0 0 z - -;
#X floatatom 236 114 5 0 0 2 azimuth - -;
#X obj 369 109 loadbang;
#X obj 140 335 outlet;
#X obj 201 226 t b f;
#X obj 150 227 t b f;
#X obj 369 131 t b b;
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
3 \, adddollar 4;
#X obj 140 274 pack 0 0 4 0;
#X obj 251 226 t b f;
#X msg 398 196 set 4;
#X msg 140 296 set view \$1 \$2 \$3 \$4 \, bang;
#X connect 0 0 10 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 3 0 11 0;
#X connect 4 0 8 0;
#X connect 6 0 10 0;
#X connect 6 1 10 2;
#X connect 7 0 10 0;
#X connect 7 1 10 1;
#X connect 8 0 12 0;
#X connect 8 1 9 0;
#X connect 9 0 5 0;
#X connect 10 0 13 0;
#X connect 11 0 10 0;
#X connect 11 1 10 3;
#X connect 12 0 2 0;
#X connect 13 0 5 0;
#X coords 0 -1 1 1 180 30 1 100 100;
#X restore 42 156 pd view;
#N canvas 508 299 612 484 view 0;
#X floatatom 112 114 5 0 0 0 x - -;
#X floatatom 158 114 5 0 0 0 y - -;
#X floatatom 201 114 5 0 0 0 z - -;
#X floatatom 236 114 5 0 0 2 azimuth - -;
#X obj 369 109 loadbang;
#X obj 140 335 outlet;
#X obj 201 226 t b f;
#X obj 150 227 t b f;
#X obj 369 131 t b b;
#X obj 251 226 t b f;
#X msg 398 196 set 4;
#X msg 140 296 set view \$1 \$2 \$3 \$4 \$5 \, bang;
#X obj 140 274 pack 0 0 4 0 0;
#X floatatom 286 114 5 0 0 2 elevate - -;
#X obj 291 226 t b f;
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
3 \, adddollar 4 \, adddollar 5;
#X connect 0 0 12 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 6 0 12 0;
#X connect 6 1 12 2;
#X connect 7 0 12 0;
#X connect 7 1 12 1;
#X connect 8 0 10 0;
#X connect 8 1 15 0;
#X connect 9 0 12 0;
#X connect 9 1 12 3;
#X connect 10 0 2 0;
#X connect 11 0 5 0;
#X connect 12 0 11 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 14 1 12 4;
#X connect 15 0 5 0;
#X coords 0 -1 1 1 230 30 1 100 100;
#X restore 49 216 pd view;
#N canvas 509 296 612 484 view 0;
#X floatatom 112 114 5 0 0 0 x - -;
#X floatatom 158 114 5 0 0 0 y - -;
#X floatatom 201 114 5 0 0 0 z - -;
#X obj 369 109 loadbang;
#X obj 140 335 outlet;
#X obj 201 226 t b f;
#X obj 150 227 t b f;
#X obj 369 131 t b b;
#X msg 398 196 set 4;
#X obj 140 274 pack 0 0 4;
#X msg 140 296 set view \$1 \$2 \$3 \, bang;
#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
3;
#X connect 0 0 9 0;
#X connect 1 0 6 0;
#X connect 2 0 5 0;
#X connect 3 0 7 0;
#X connect 5 0 9 0;
#X connect 5 1 9 2;
#X connect 6 0 9 0;
#X connect 6 1 9 1;
#X connect 7 0 8 0;
#X connect 7 1 11 0;
#X connect 8 0 2 0;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X coords 0 -1 1 1 140 30 1 100 100;
#X restore 25 65 pd view;
#N canvas 380 50 612 484 view 0;
#X floatatom 214 114 5 0 0 2 X - -;
#X obj 166 22 loadbang;
#X obj 139 335 outlet;
#X obj 174 177 t b f;
#X obj 139 177 t b f;
#X obj 214 177 t b f;
#X msg 174 79 set 4;
#X floatatom 249 114 5 0 0 2 Y - -;
#X obj 249 177 t b f;
#X obj 139 274 pack 0 0 4 0 0 0 0 1 0;
#X floatatom 284 114 5 0 0 2 Z - -;
#X floatatom 104 114 5 0 0 2 x - -;
#X floatatom 139 114 5 0 0 2 y - -;
#X floatatom 174 114 5 0 0 2 z - -;
#X floatatom 324 114 5 0 0 2 upX - -;
#X floatatom 359 114 5 0 0 2 upY - -;
#X floatatom 394 114 5 0 0 2 upZ - -;
#X obj 284 177 t b f;
#X obj 324 177 t b f;
#X obj 359 177 t b f;
#X obj 394 177 t b f;
#X obj 324 199 t b;
#X obj 214 199 t b;
#X msg 139 296 set view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \, bang
;
#X msg 251 22 set view \, adddollar 1 \, adddollar 2 \, adddollar 3
\, adddollar 4 \, adddollar 5 \, adddollar 6 \, adddollar 7 \, adddollar
8 \, adddollar 9;
#X obj 166 44 t b b b;
#X msg 359 79 set 1;
#X connect 0 0 5 0;
#X connect 1 0 25 0;
#X connect 3 0 9 0;
#X connect 3 1 9 2;
#X connect 4 0 9 0;
#X connect 4 1 9 1;
#X connect 5 0 22 0;
#X connect 5 1 9 3;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 22 0;
#X connect 8 1 9 4;
#X connect 9 0 23 0;
#X connect 10 0 17 0;
#X connect 11 0 9 0;
#X connect 12 0 4 0;
#X connect 13 0 3 0;
#X connect 14 0 18 0;
#X connect 15 0 19 0;
#X connect 16 0 20 0;
#X connect 17 0 22 0;
#X connect 17 1 9 5;
#X connect 18 0 21 0;
#X connect 18 1 9 6;
#X connect 19 0 21 0;
#X connect 19 1 9 7;
#X connect 20 0 21 0;
#X connect 20 1 9 8;
#X connect 21 0 22 0;
#X connect 22 0 9 0;
#X connect 23 0 2 0;
#X connect 24 0 2 0;
#X connect 25 0 6 0;
#X connect 25 1 26 0;
#X connect 25 2 24 0;
#X connect 26 0 15 0;
#X coords 0 -1 1 1 330 30 2 100 100;
#X restore 52 296 pd view;
#X text 309 229 azimuth and elevation are in degree [°];
#X connect 16 0 15 0;
#X connect 17 0 15 0;
#X connect 18 0 15 0;
#X connect 19 0 15 0;
#X connect 20 0 15 0;
#X connect 22 0 15 0;
#X connect 23 0 20 0;
#X connect 25 0 17 0;
#X connect 26 0 18 0;
#X connect 27 0 16 0;
#X connect 28 0 19 0;
#X restore 30 612 pd more viewing;
#X text 17 211 message to send before creation :;
#X text 17 462 message to send after creation :;
#X text 29 387 buffer 2|1 : set buffer-rendering mode to double (default)
or single (not clearing buffer);
#X text 456 60 reset settings and;
#X text 18 417 message regarding creation :;
#X obj 455 356 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 474 357 rotate objects;
#X text 554 196 destroy window;
#X text 484 177 (stop rendering and);
#X text 457 83 and start rendering;
#X text 456 72 create window with specific size;
#X text 29 522 color <r> <g> <b> :;
#X text 30 166 1st argument : number of frames per second (default
20);
#X text 28 69 [gemwin] allows you to interact with Gem's output window.
It passes various messages to the window manager \, controlling the
attributes of the window and controls the render-cycle. Multiple instances
of this object can interact with separate windows.;
#X text 30 177 2d argument : context name;
#X text 443 457 see also examples/14.multiple_windows;
#X msg 490 260 color \$1 \$1 \$1 \$1;
#X obj 558 8 declare -lib Gem;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 21 0 10 0;
#X connect 34 0 63 0;
#X connect 37 0 10 0;
#X connect 52 0 36 0;
#X connect 63 0 10 0;