hi nosehair,<br><br>In GLBuffer it seems you are sending both geos to the same buffer. GL_STENCIL_TEST. by changing them so they correspond to the GLend statements you can get the cirlce masking out the square circle from the second gemhead  
<br><br><br>This code seams very foreign to me, I seem to be missing a few of the abstractions, where is there documentation on GEMgl ?<br><br><div><span class="gmail_quote">On 4/5/07, <b class="gmail_sendername"><a href="mailto:nosehair911@bellsouth.net">
nosehair911@bellsouth.net</a></b> &lt;<a href="mailto:nosehair911@bellsouth.net">nosehair911@bellsouth.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have been trying to figure out how to mask Geos with other Geos but I have hit a big roadblock.<br>Following the example in gem/openGL I have made 2 objects but it seems that Gem will only<br>recognize 1 or the other.&nbsp;&nbsp;I have attached an example.&nbsp;&nbsp;If anyone with openGL understanding could
<br>give me a hand I would really appreciate that.<br><br>Thanks,<br>Alain<br><br>--------------------------------------------------<br>#N canvas 415 342 624 471 10;<br>#N canvas 0 22 450 300 gemwin 0;<br>#X obj 132 136 gemwin;
<br>#X obj 67 89 outlet;<br>#X obj 67 10 inlet;<br>#X obj 67 41 route create;<br>#X msg 67 70 set destroy;<br>#X msg 142 68 set create;<br>#X msg 198 112 destroy;<br>#X msg 132 112 create \, 1;<br>#X connect 2 0 3 0;<br>#X connect 3 0 4 0;
<br>#X connect 3 0 7 0;<br>#X connect 3 1 5 0;<br>#X connect 3 1 6 0;<br>#X connect 4 0 1 0;<br>#X connect 5 0 1 0;<br>#X connect 6 0 0 0;<br>#X connect 7 0 0 0;<br>#X restore 23 42 pd gemwin;<br>#X msg 23 23 create;<br>#N canvas 0 22 449 605 GLbuffer 0;
<br>#X obj 44 192 GEMglEnable;<br>#X floatatom 130 194 5 0 0 0 - - -;<br>#X obj 116 135 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X obj 116 167 GLdefine GL_STENCIL_TEST;<br>#X obj 159 146 loadbang;<br>
#X obj 109 244 GLdefine GL_STENCIL_BUFFER_BIT;<br>#X obj 171 223 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X floatatom 124 269 5 0 0 0 - - -;<br>#X obj 109 221 loadbang;<br>#X obj 44 111 GEMglClearStencil 0;
<br>#X obj 44 269 GEMglClear;<br>#X obj 44 368 GEMglStencilFunc;<br>#X msg 151 342 1;<br>#X obj 82 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X obj 79 321 GLdefine GL_ALWAYS;<br>#X obj 128 300 loadbang;
<br>#X floatatom 105 342 5 0 0 0 - - -;<br>#X obj 44 441 GEMglStencilOp;<br>#X floatatom 154 444 5 0 0 0 - - -;<br>#X obj 75 348 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X obj 75 414 GLdefine GL_REPLACE;
<br>#X obj 100 392 loadbang;<br>#X text 38 16 allow \, clear and configure stencil buffer;<br>#X obj 44 63 inlet;<br>#X obj 44 495 outlet;<br>#X obj 348 63 inlet;<br>#X obj 348 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
<br>-1 -1;<br>#X obj 348 208 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144<br>-1 -1;<br>#X obj 348 279 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144<br>-1 -1;<br>#X obj 348 333 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
<br>-1 -1;<br>#X text 96 64 gemhead;<br>#X text 298 62 reset;<br>#X connect 0 0 10 0;<br>#X connect 2 0 3 0;<br>#X connect 3 0 1 0;<br>#X connect 3 0 0 1;<br>#X connect 4 0 3 0;<br>#X connect 5 0 7 0;<br>#X connect 5 0 10 1;
<br>#X connect 6 0 5 0;<br>#X connect 8 0 5 0;<br>#X connect 9 0 0 0;<br>#X connect 10 0 11 0;<br>#X connect 11 0 17 0;<br>#X connect 12 0 11 3;<br>#X connect 12 0 11 2;<br>#X connect 13 0 14 0;<br>#X connect 13 0 12 0;<br>
#X connect 14 0 11 1;<br>#X connect 14 0 16 0;<br>#X connect 15 0 12 0;<br>#X connect 15 0 14 0;<br>#X connect 17 0 24 0;<br>#X connect 19 0 20 0;<br>#X connect 20 0 18 0;<br>#X connect 20 0 17 1;<br>#X connect 20 0 17 2;
<br>#X connect 20 0 17 3;<br>#X connect 21 0 19 0;<br>#X connect 23 0 9 0;<br>#X connect 25 0 26 0;<br>#X connect 26 0 2 0;<br>#X connect 26 0 27 0;<br>#X connect 27 0 6 0;<br>#X connect 27 0 28 0;<br>#X connect 28 0 13 0;
<br>#X connect 28 0 29 0;<br>#X connect 29 0 19 0;<br>#X restore 342 162 pd GLbuffer;<br>#X obj 342 195 circle 0.5;<br>#N canvas 0 22 495 566 GLaround 0;<br>#X obj 259 125 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 190 124 loadbang;<br>#X obj 68 192 GEMglClear;<br>#X floatatom 186 193 5 0 0 0 - - -;<br>#X obj 162 170 GLdefine GL_DEPTH_BUFFER_BIT;<br>#X obj 146 125 t b b;<br>#X obj 146 148 GLdefine GL_COLOR_BUFFER_BIT;
<br>#X obj 146 191 |;<br>#X text 130 88 clear color and depth buffer;<br>#X obj 68 40 inlet;<br>#X obj 68 330 GEMglStencilFunc;<br>#X msg 175 306 1;<br>#X obj 103 263 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>
-1;<br>#X obj 160 266 loadbang;<br>#X floatatom 113 307 5 0 0 0 - - -;<br>#X obj 103 284 GLdefine GL_NOTEQUAL;<br>#X obj 68 408 GEMglStencilOp;<br>#X floatatom 179 407 5 0 0 0 - - -;<br>#X obj 99 353 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 139 356 loadbang;<br>#X obj 99 374 GLdefine GL_KEEP;<br>#X text 124 229 draw where the stencil buffer is not 1;<br>#X obj 68 496 outlet;<br>#X obj 404 42 inlet;<br>#X obj 404 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 404 248 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X obj 404 338 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X text 121 40 gemhead;<br>#X text 356 41 reset;<br>
#X connect 0 0 5 0;<br>#X connect 1 0 5 0;<br>#X connect 2 0 10 0;<br>#X connect 4 0 7 1;<br>#X connect 5 0 6 0;<br>#X connect 5 1 4 0;<br>#X connect 6 0 7 0;<br>#X connect 7 0 3 0;<br>#X connect 7 0 2 1;<br>#X connect 9 0 2 0;
<br>#X connect 10 0 16 0;<br>#X connect 11 0 10 3;<br>#X connect 11 0 10 2;<br>#X connect 12 0 15 0;<br>#X connect 13 0 11 0;<br>#X connect 13 0 15 0;<br>#X connect 15 0 10 1;<br>#X connect 15 0 14 0;<br>#X connect 16 0 22 0;
<br>#X connect 18 0 20 0;<br>#X connect 19 0 18 0;<br>#X connect 20 0 17 0;<br>#X connect 20 0 16 1;<br>#X connect 20 0 16 2;<br>#X connect 20 0 16 3;<br>#X connect 23 0 24 0;<br>#X connect 24 0 0 0;<br>#X connect 24 0 25 0;
<br>#X connect 25 0 12 0;<br>#X connect 25 0 26 0;<br>#X connect 26 0 18 0;<br>#X restore 342 235 pd GLaround;<br>#N canvas 409 89 458 308 GLend 0;<br>#X floatatom 115 175 5 0 0 0 - - -;<br>#X obj 97 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 97 150 GLdefine GL_STENCIL_TEST;<br>#X obj 115 125 loadbang;<br>#X obj 18 175 GEMglDisable;<br>#X obj 18 16 inlet;<br>#X obj 97 16 inlet;<br>#X obj 18 237 outlet;<br>#X connect 1 0 2 0;<br>#X connect 2 0 0 0;
<br>#X connect 2 0 4 1;<br>#X connect 3 0 2 0;<br>#X connect 4 0 7 0;<br>#X connect 5 0 4 0;<br>#X connect 6 0 1 0;<br>#X restore 342 306 pd GLend;<br>#X obj 342 272 square 1;<br>#X obj 342 100 translateXYZ;<br>#X floatatom 434 54 5 0 0 0 - - -;
<br>#X obj 417 76 * 0.1;<br>#X obj 342 65 gemhead 2;<br>#X obj 342 130 colorRGB 1 0 0;<br>#N canvas 0 22 449 605 GLbuffer 0;<br>#X obj 44 192 GEMglEnable;<br>#X floatatom 130 194 5 0 0 0 - - -;<br>#X obj 116 135 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 116 167 GLdefine GL_STENCIL_TEST;<br>#X obj 159 146 loadbang;<br>#X obj 109 244 GLdefine GL_STENCIL_BUFFER_BIT;<br>#X obj 171 223 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X floatatom 124 269 5 0 0 0 - - -;
<br>#X obj 109 221 loadbang;<br>#X obj 44 111 GEMglClearStencil 0;<br>#X obj 44 269 GEMglClear;<br>#X obj 44 368 GEMglStencilFunc;<br>#X msg 151 342 1;<br>#X obj 82 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 79 321 GLdefine GL_ALWAYS;<br>#X obj 128 300 loadbang;<br>#X floatatom 105 342 5 0 0 0 - - -;<br>#X obj 44 441 GEMglStencilOp;<br>#X floatatom 154 444 5 0 0 0 - - -;<br>#X obj 75 348 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 75 414 GLdefine GL_REPLACE;<br>#X obj 100 392 loadbang;<br>#X text 38 16 allow \, clear and configure stencil buffer;<br>#X obj 44 63 inlet;<br>#X obj 44 495 outlet;<br>#X obj 348 63 inlet;<br>#X obj 348 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
<br>-1 -1;<br>#X obj 348 208 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144<br>-1 -1;<br>#X obj 348 279 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144<br>-1 -1;<br>#X obj 348 333 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
<br>-1 -1;<br>#X text 96 64 gemhead;<br>#X text 298 62 reset;<br>#X connect 0 0 10 0;<br>#X connect 2 0 3 0;<br>#X connect 3 0 1 0;<br>#X connect 3 0 0 1;<br>#X connect 4 0 3 0;<br>#X connect 5 0 7 0;<br>#X connect 5 0 10 1;
<br>#X connect 6 0 5 0;<br>#X connect 8 0 5 0;<br>#X connect 9 0 0 0;<br>#X connect 10 0 11 0;<br>#X connect 11 0 17 0;<br>#X connect 12 0 11 3;<br>#X connect 12 0 11 2;<br>#X connect 13 0 14 0;<br>#X connect 13 0 12 0;<br>
#X connect 14 0 11 1;<br>#X connect 14 0 16 0;<br>#X connect 15 0 12 0;<br>#X connect 15 0 14 0;<br>#X connect 17 0 24 0;<br>#X connect 19 0 20 0;<br>#X connect 20 0 18 0;<br>#X connect 20 0 17 1;<br>#X connect 20 0 17 2;
<br>#X connect 20 0 17 3;<br>#X connect 21 0 19 0;<br>#X connect 23 0 9 0;<br>#X connect 25 0 26 0;<br>#X connect 26 0 2 0;<br>#X connect 26 0 27 0;<br>#X connect 27 0 6 0;<br>#X connect 27 0 28 0;<br>#X connect 28 0 13 0;
<br>#X connect 28 0 29 0;<br>#X connect 29 0 19 0;<br>#X restore 140 168 pd GLbuffer;<br>#X obj 140 201 circle 0.5;<br>#N canvas 0 22 495 566 GLaround 0;<br>#X obj 259 125 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 190 124 loadbang;<br>#X obj 68 192 GEMglClear;<br>#X floatatom 186 193 5 0 0 0 - - -;<br>#X obj 162 170 GLdefine GL_DEPTH_BUFFER_BIT;<br>#X obj 146 125 t b b;<br>#X obj 146 148 GLdefine GL_COLOR_BUFFER_BIT;
<br>#X obj 146 191 |;<br>#X text 130 88 clear color and depth buffer;<br>#X obj 68 40 inlet;<br>#X obj 68 330 GEMglStencilFunc;<br>#X msg 175 306 1;<br>#X obj 103 263 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>
-1;<br>#X obj 160 266 loadbang;<br>#X floatatom 113 307 5 0 0 0 - - -;<br>#X obj 103 284 GLdefine GL_NOTEQUAL;<br>#X obj 68 408 GEMglStencilOp;<br>#X floatatom 179 407 5 0 0 0 - - -;<br>#X obj 99 353 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 139 356 loadbang;<br>#X obj 99 374 GLdefine GL_KEEP;<br>#X text 124 229 draw where the stencil buffer is not 1;<br>#X obj 68 496 outlet;<br>#X obj 404 42 inlet;<br>#X obj 404 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 404 248 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X obj 404 338 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1<br>-1;<br>#X text 121 40 gemhead;<br>#X text 356 41 reset;<br>
#X connect 0 0 5 0;<br>#X connect 1 0 5 0;<br>#X connect 2 0 10 0;<br>#X connect 4 0 7 1;<br>#X connect 5 0 6 0;<br>#X connect 5 1 4 0;<br>#X connect 6 0 7 0;<br>#X connect 7 0 3 0;<br>#X connect 7 0 2 1;<br>#X connect 9 0 2 0;
<br>#X connect 10 0 16 0;<br>#X connect 11 0 10 3;<br>#X connect 11 0 10 2;<br>#X connect 12 0 15 0;<br>#X connect 13 0 11 0;<br>#X connect 13 0 15 0;<br>#X connect 15 0 10 1;<br>#X connect 15 0 14 0;<br>#X connect 16 0 22 0;
<br>#X connect 18 0 20 0;<br>#X connect 19 0 18 0;<br>#X connect 20 0 17 0;<br>#X connect 20 0 16 1;<br>#X connect 20 0 16 2;<br>#X connect 20 0 16 3;<br>#X connect 23 0 24 0;<br>#X connect 24 0 0 0;<br>#X connect 24 0 25 0;
<br>#X connect 25 0 12 0;<br>#X connect 25 0 26 0;<br>#X connect 26 0 18 0;<br>#X restore 140 241 pd GLaround;<br>#N canvas 409 89 458 308 GLend 0;<br>#X floatatom 115 175 5 0 0 0 - - -;<br>#X obj 97 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
<br>-1;<br>#X obj 97 150 GLdefine GL_STENCIL_TEST;<br>#X obj 115 125 loadbang;<br>#X obj 18 175 GEMglDisable;<br>#X obj 18 16 inlet;<br>#X obj 97 16 inlet;<br>#X obj 18 237 outlet;<br>#X connect 1 0 2 0;<br>#X connect 2 0 0 0;
<br>#X connect 2 0 4 1;<br>#X connect 3 0 2 0;<br>#X connect 4 0 7 0;<br>#X connect 5 0 4 0;<br>#X connect 6 0 1 0;<br>#X restore 140 312 pd GLend;<br>#X obj 140 278 square 1;<br>#X obj 140 106 translateXYZ;<br>#X floatatom 232 60 5 0 0 0 - - -;
<br>#X obj 215 82 * 0.1;<br>#X obj 140 71 gemhead 1;<br>#X obj 140 136 colorRGB 1 1 1;<br>#X connect 0 0 1 0;<br>#X connect 1 0 0 0;<br>#X connect 2 0 3 0;<br>#X connect 3 0 4 0;<br>#X connect 4 0 6 0;<br>#X connect 6 0 5 0;
<br>#X connect 7 0 11 0;<br>#X connect 8 0 9 0;<br>#X connect 9 0 7 1;<br>#X connect 10 0 7 0;<br>#X connect 11 0 2 0;<br>#X connect 12 0 13 0;<br>#X connect 13 0 14 0;<br>#X connect 14 0 16 0;<br>#X connect 16 0 15 0;<br>
#X connect 17 0 21 0;<br>#X connect 18 0 19 0;<br>#X connect 19 0 17 1;<br>#X connect 20 0 17 0;<br>#X connect 21 0 12 0;<br><br><br>_______________________________________________<br><a href="mailto:PD-list@iem.at">PD-list@iem.at
</a> mailing list<br>UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a><br><br><br></blockquote></div><br><br clear="all"><br>-- 
<br>B~<br><a href="http://www.cypod.co.nr">www.cypod.co.nr</a>