Hey all,
Simply changing "square" to "curve3d" in the pix_coordinate example
crashes PD due to gdb trace at end of this message. (PD 0.38-2 on OSX
with Gem 0.90)
1. Create window
2. Load an image (I tired a number of JPG and TIF images)
attached is the test-patch.
I was really looking forward to using pix_coordinate to tile textures,
any other way to do this?
Thanks all.
b>
Program received signal EXC_BAD_ACCESS, Could not access memory.
curve3d::render(GemState*) (this=0x784000, state=0xbffffb80) at
src/Geos/curve3d.cpp:166
166 in src/Geos/curve3d.cpp
(gdb) where
#0 curve3d::render(GemState*) (this=0x784000, state=0xbffffb80) at
src/Geos/curve3d.cpp:166
#1 0x03203d4c in GemBase::gem_renderMess(GemCache*, GemState*)
(this=0x784000, cache=0xdb7, state=0xbffffb80) at src/Base/GemBase.cpp:80
#2 0x0320401c in GemBase::gem_MessCallback(void*, _symbol*, int,
_atom*) (data=0x10f1020, s=0xdb7, argc=1, argv=0x3) at
src/Base/GemBase.h:145
#3 0x00033364 in pd_typedmess (x=0x44b1d0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#4 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44b1d0) at m_obj.c:445
#5 0x03203d84 in GemBase::gem_renderMess(GemCache*, GemState*)
(this=0xbffff0c0, cache=0xdb7, state=0x44b1d0) at src/Base/GemBase.cpp:92
#6 0x0320401c in GemBase::gem_MessCallback(void*, _symbol*, int,
_atom*) (data=0x10f1020, s=0xdb7, argc=1, argv=0x3) at
src/Base/GemBase.h:145
#7 0x00033364 in pd_typedmess (x=0x44bfd0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#8 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44bfd0) at m_obj.c:445
#9 0x03203d84 in GemBase::gem_renderMess(GemCache*, GemState*)
(this=0xbffff2a0, cache=0xdb7, state=0x44bfd0) at src/Base/GemBase.cpp:92
#10 0x0320401c in GemBase::gem_MessCallback(void*, _symbol*, int,
_atom*) (data=0x10f1020, s=0xdb7, argc=1, argv=0x3) at
src/Base/GemBase.h:145
#11 0x00033364 in pd_typedmess (x=0x44b2e0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#12 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44b2e0) at m_obj.c:445
#13 0x00033364 in pd_typedmess (x=0x44b2e0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#14 0x00033364 in pd_typedmess (x=0x44b2e0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#15 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44b2e0) at m_obj.c:445
#16 0x03203d84 in GemBase::gem_renderMess(GemCache*, GemState*)
(this=0xbffff480, cache=0xdb7, state=0x44b2e0) at src/Base/GemBase.cpp:92
#17 0x0320401c in GemBase::gem_MessCallback(void*, _symbol*, int,
_atom*) (data=0x10f1020, s=0xdb7, argc=1, argv=0x3) at
src/Base/GemBase.h:145
#18 0x00033364 in pd_typedmess (x=0x44cdc0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#19 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44cdc0) at m_obj.c:445
#20 0x00033364 in pd_typedmess (x=0x44cdc0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#21 0x00033364 in pd_typedmess (x=0x44cdc0, s=0x1, argc=18, argv=0x6) at
m_class.c:749
#22 0x00034290 in outlet_anything (x=0x340d0ec, s=0xbffff0e0, argc=0,
argv=0x44cdc0) at m_obj.c:445
#23 0x03211b90 in gemhead::renderGL(GemState*) (this=0xbffff820,
state=0x44cdc0) at src/Controls/gemhead.cpp:106
#24 0x03207238 in GemMan::render(void*) () at src/Base/GemMan.cpp:662
#25 0x000394e8 in sched_tick (next_sys_time=512860160) at m_sched.c:357
#26 0x000397b4 in m_scheduler () at m_sched.c:453
#27 0x000027b4 in _start (argc=0, argv=0x46db80, envp=0xbffffb80) at
/SourceCache/Csu/Csu-47/crt.c:267
#28 0x8fe1a558 in __dyld__dyld_start ()
(gdb) bt
#N canvas 415 336 794 470 10;
#X text 452 8 GEM object;
#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 39 338 Inlets:;
#X text 38 385 Outlets:;
#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 17 295 Arguments:;
#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 474 344 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 217 162 color 1 1 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 479 383 pd gemwin;
#X msg 479 364 destroy;
#X text 475 343 Create window:;
#X obj 450 188 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 84 gemhead;
#X text 71 31 Class: pix object;
#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
-1 -1;
#N canvas 0 22 587 366 image 0;
#X obj 77 48 inlet;
#X obj 77 344 outlet;
#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
#X obj 223 55 inlet;
#X msg 223 123 open \$1;
#X obj 223 100 openpanel;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X restore 451 113 pd image;
#X text 63 306 <none>;
#X text 56 398 Outlet 1: gemlist;
#X text 63 352 Inlet 1: gemlist;
#X text 516 105 open an image;
#X text 509 118 (JPEG \, TIFF \, ..);
#X text 50 12 Synopsis: [pix_coordinate];
#X text 13 76 Description: set the texture-coordinates for a pix;
#X text 34 94 pix_coordinate remaps the S \, T texture values from
the default values. For instance \, a texture could repeat by increasing
the texture S \, T values from 1 \, 1 to 2 \, 2 (See the examples).
;
#X text 63 367 Inlet 2: list: 8 values (4 (s \, t)-pairs);
#X obj 538 144 loadbang;
#X msg 461 237 \$1 \$1 0 \$1 0 0 \$1 0;
#X floatatom 461 220 3 0 256 0 - - -;
#X text 14 159 IMPORTANT NOTE-1: [pix_texture] sets the texture-coordinates
to "appropriate" values \, so you probably want to use [pix_coordinate]
afterwards;
#X obj 10 207 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
0;
#X text 14 209 IMPORTANT NOTE-2: if your hardware supports it \, Gem
tries to use "rectangle-texturing". This means that normal texture-coordinates
range from 0..xsize (resp. 0..ysize). If it is not supported (or forced-off
with "mode 0" to [pix_texture]) texture-coordinates range from 0..1
;
#X obj 451 266 pix_coordinate;
#X msg 459 193 0 0 1 0 1 1 0 1;
#X obj 451 296 curve3d 6 6;
#X msg 467 167 mode 0 \, repeat 1;
#X obj 451 136 pix_texture;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 14 0 17 0;
#X connect 16 0 17 1;
#X connect 17 0 37 0;
#X connect 27 0 36 0;
#X connect 28 0 33 1;
#X connect 29 0 28 0;
#X connect 33 0 35 0;
#X connect 34 0 33 1;
#X connect 36 0 37 0;
#X connect 37 0 33 0;