Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-03 Thread William Brent
Hi,

Yep, list parsing is probably the issue.  Without the snapshot trick,
every render frame sends data requests to the [timbreID] object, and
lists are output in response.  Those lists have to be parsed to get
the coordinates for points.  That's the price for storing/manipulating
all the analysis data in [timbreID], but you could definitely do
everything it does internally via patches, and then have more
flexibility.  Or you could still use [timbreID], but do all the data
requests in advance and store the results in tables.



On Sun, Sep 2, 2012 at 12:23 PM, Cyrille Henry c...@chnry.net wrote:
 hello,

 the repeat/gemlist trick is very fast. it can be used to render lot's more
 point in real time.
 (try pmpd example 57 : 2000 points are rendered at 50 fps on my computer
 with no problem)

 i suspect that the bottleneck is the list parsing.
 one trick to speed this is to put the list in a table, and use tabread to
 access the data.
 (i did not have a look a the patch, so i may be wrong).

 cheers
 c


 Le 02/09/2012 18:01, Max a écrit :

 hi list, william,

 this is a Gem recursion and glsl question.
 in the example patches for timbreID there is an interesting patch where
 the grains of a sample can be seen as a point cloud according to their
 parameters. this is done by parsing a long list for each point throuch a
 recursive gem chain using [zexy/repeat] it works very well up to 40 points
 (or a sample of up to 10 seconds). However, when you try to do this with a
 sample of 4.5 minutes it doesn't work any more because the list parsing and
 gemlist repeating for each and every point (then about 900) at framerates of
 10 fps is to heavy on the CPU.
 William resolves this by rendering it once and taking a snapshot of the
 scene. that works nicely, but is not an option for my work, as i want to see
 the 3d space and navigate in it real-time. I was wondering if this could be
 done more efficiently and where to start. I think the points should be
 rendered in a glsl environment and the list of every points position should
 be static (in a matrice?) and not called and parsed by [list] objects at a
 rate of 9000 times per second. Unfortunately the geometry shader example
 doesn't work here, i was hoping to get some clues from there.

 william has a tiny image of a point cloud on his page:
 http://williambrent.conflations.com/pages/research.html#timbreID

 max
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list


 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list



-- 
William Brent
www.williambrent.com

“Great minds flock together”
Conflations: conversational idiom for the 21st century

www.conflations.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-03 Thread Max
Hi,

Thank you all for the suggestions. ♥ ♥ ♥
I did the later, all xyz spacial and rgb color data is now stored in tables and 
it works much better all-though the sound is still a little glitchy. All the 
lists are retrieved one time when the plot button is banged. I'll investigate 
the glitch tomorrow.
if anyone wants to give it a try, it's in the 08-timbre-space folder and needs 
pd~ for the Gem subprocess, so no MS-win.
https://github.com/mxa/timbreID-examples
You'll need a Kinect and Synapse for the whole fun. Samples up to 4,5 Minutes 
long and 7000 tID units are loaded. 

m.

Am 03.09.2012 um 17:41 schrieb William Brent:

 Hi,
 
 Yep, list parsing is probably the issue.  Without the snapshot trick,
 every render frame sends data requests to the [timbreID] object, and
 lists are output in response.  Those lists have to be parsed to get
 the coordinates for points.  That's the price for storing/manipulating
 all the analysis data in [timbreID], but you could definitely do
 everything it does internally via patches, and then have more
 flexibility.  Or you could still use [timbreID], but do all the data
 requests in advance and store the results in tables.
 
 
 
 On Sun, Sep 2, 2012 at 12:23 PM, Cyrille Henry c...@chnry.net wrote:
 hello,
 
 the repeat/gemlist trick is very fast. it can be used to render lot's more
 point in real time.
 (try pmpd example 57 : 2000 points are rendered at 50 fps on my computer
 with no problem)
 
 i suspect that the bottleneck is the list parsing.
 one trick to speed this is to put the list in a table, and use tabread to
 access the data.
 (i did not have a look a the patch, so i may be wrong).
 
 cheers
 c
 
 
 Le 02/09/2012 18:01, Max a écrit :
 
 hi list, william,
 
 this is a Gem recursion and glsl question.
 in the example patches for timbreID there is an interesting patch where
 the grains of a sample can be seen as a point cloud according to their
 parameters. this is done by parsing a long list for each point throuch a
 recursive gem chain using [zexy/repeat] it works very well up to 40 points
 (or a sample of up to 10 seconds). However, when you try to do this with a
 sample of 4.5 minutes it doesn't work any more because the list parsing and
 gemlist repeating for each and every point (then about 900) at framerates of
 10 fps is to heavy on the CPU.
 William resolves this by rendering it once and taking a snapshot of the
 scene. that works nicely, but is not an option for my work, as i want to see
 the 3d space and navigate in it real-time. I was wondering if this could be
 done more efficiently and where to start. I think the points should be
 rendered in a glsl environment and the list of every points position should
 be static (in a matrice?) and not called and parsed by [list] objects at a
 rate of 9000 times per second. Unfortunately the geometry shader example
 doesn't work here, i was hoping to get some clues from there.
 
 william has a tiny image of a point cloud on his page:
 http://williambrent.conflations.com/pages/research.html#timbreID
 
 max
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list
 
 
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list
 
 
 
 -- 
 William Brent
 www.williambrent.com
 
 “Great minds flock together”
 Conflations: conversational idiom for the 21st century
 
 www.conflations.com


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread Cyrille Henry

hello,

the repeat/gemlist trick is very fast. it can be used to render lot's more 
point in real time.
(try pmpd example 57 : 2000 points are rendered at 50 fps on my computer with 
no problem)

i suspect that the bottleneck is the list parsing.
one trick to speed this is to put the list in a table, and use tabread to 
access the data.
(i did not have a look a the patch, so i may be wrong).

cheers
c


Le 02/09/2012 18:01, Max a écrit :

hi list, william,

this is a Gem recursion and glsl question.
in the example patches for timbreID there is an interesting patch where the 
grains of a sample can be seen as a point cloud according to their parameters. 
this is done by parsing a long list for each point throuch a recursive gem 
chain using [zexy/repeat] it works very well up to 40 points (or a sample of up 
to 10 seconds). However, when you try to do this with a sample of 4.5 minutes 
it doesn't work any more because the list parsing and gemlist repeating for 
each and every point (then about 900) at framerates of 10 fps is to heavy on 
the CPU.
William resolves this by rendering it once and taking a snapshot of the scene. 
that works nicely, but is not an option for my work, as i want to see the 3d space 
and navigate in it real-time. I was wondering if this could be done more 
efficiently and where to start. I think the points should be rendered in a glsl 
environment and the list of every points position should be static (in a matrice?) 
and not called and parsed by [list] objects at a rate of 9000 times per 
second. Unfortunately the geometry shader example doesn't work here, i was hoping 
to get some clues from there.

william has a tiny image of a point cloud on his page:
http://williambrent.conflations.com/pages/research.html#timbreID

max
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread Max
Am 02.09.2012 um 18:23 schrieb Cyrille Henry:
 hello,
 
 the repeat/gemlist trick is very fast. it can be used to render lot's more 
 point in real time.
 (try pmpd example 57 : 2000 points are rendered at 50 fps on my computer with 
 no problem)

ok, good to know. by the way: the examples in pd-ext go only until 51, but i 
found the others (not there: drpichon.free.fr/pmpd/ google top result) but 
http://www.chnry.net/ch/?081-pmpd 

 i suspect that the bottleneck is the list parsing.

i see.

 one trick to speed this is to put the list in a table, and use tabread to 
 access the data.

to you know how tables compare to iemmatrix? the advantage of a matrice would 
be that i can get a whole row at once.


 (i did not have a look a the patch, so i may be wrong).

i'll try.

thanks cyrille!

max
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread ronni montoya
In processing theres a library called glgraphics that allows to use
vertex arrays,this allow to calculate vertices in the gpu and it is
very fast,  i can draw up to 80 000 vertices in my computer.

Is it possible something like this in pd? Is it possible to access to
vertex arrays commands from pure opengls from gem?

any idea?


R.

2012/9/2 ronni montoya ronni.mont...@gmail.com:
 In processing theres a library called glgraphics that allows to use
 vertex arrays,this allow to calculate vertices in the gpu and it is
 very fast,  i can draw up to 80 000 vertices in my computer.

 Is it possible something like this in pd? Is it possible to access to
 vertex arrays commands from pure opengls from gem?

 any idea?


 R.


 2012/9/2 Max abonneme...@revolwear.com:
 Am 02.09.2012 um 18:23 schrieb Cyrille Henry:
 hello,

 the repeat/gemlist trick is very fast. it can be used to render lot's more 
 point in real time.
 (try pmpd example 57 : 2000 points are rendered at 50 fps on my computer 
 with no problem)

 ok, good to know. by the way: the examples in pd-ext go only until 51, but i 
 found the others (not there: drpichon.free.fr/pmpd/ google top result) but 
 http://www.chnry.net/ch/?081-pmpd

 i suspect that the bottleneck is the list parsing.

 i see.

 one trick to speed this is to put the list in a table, and use tabread to 
 access the data.

 to you know how tables compare to iemmatrix? the advantage of a matrice 
 would be that i can get a whole row at once.


 (i did not have a look a the patch, so i may be wrong).

 i'll try.

 thanks cyrille!

 max
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread Cyrille Henry



Le 02/09/12 18:45, Max a écrit :

Am 02.09.2012 um 18:23 schrieb Cyrille Henry:

hello,

the repeat/gemlist trick is very fast. it can be used to render lot's more 
point in real time.
(try pmpd example 57 : 2000 points are rendered at 50 fps on my computer with 
no problem)


ok, good to know. by the way: the examples in pd-ext go only until 51,

yes, i always forget that pmpd in pd extended is very outdated.



but i found the others (not there: drpichon.free.fr/pmpd/ google top result)

wow, I did forget this page still exist. i should remove it.


but http://www.chnry.net/ch/?081-pmpd


this is only updated about once a year.
latest dev are only on pd svn.




i suspect that the bottleneck is the list parsing.


i see.


one trick to speed this is to put the list in a table, and use tabread to 
access the data.


to you know how tables compare to iemmatrix? the advantage of a matrice would 
be that i can get a whole row at once.


on my experience, i would say that list are slow, table are fast.
iemmatrix sends list, but process them in C, so i don't know.

cheers
c





(i did not have a look a the patch, so i may be wrong).


i'll try.

thanks cyrille!

max
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread Cyrille Henry

look at the gemvertexbuffer object.
it's 1 year old, so with a bit of luck it should be included in latest 
pd-extended.
cheers
c


Le 02/09/12 19:06, ronni montoya a écrit :

In processing theres a library called glgraphics that allows to use
vertex arrays,this allow to calculate vertices in the gpu and it is
very fast,  i can draw up to 80 000 vertices in my computer.

Is it possible something like this in pd? Is it possible to access to
vertex arrays commands from pure opengls from gem?

any idea?


R.

2012/9/2 ronni montoya ronni.mont...@gmail.com:

In processing theres a library called glgraphics that allows to use
vertex arrays,this allow to calculate vertices in the gpu and it is
very fast,  i can draw up to 80 000 vertices in my computer.

Is it possible something like this in pd? Is it possible to access to
vertex arrays commands from pure opengls from gem?

any idea?


R.


2012/9/2 Max abonneme...@revolwear.com:

Am 02.09.2012 um 18:23 schrieb Cyrille Henry:

hello,

the repeat/gemlist trick is very fast. it can be used to render lot's more 
point in real time.
(try pmpd example 57 : 2000 points are rendered at 50 fps on my computer with 
no problem)


ok, good to know. by the way: the examples in pd-ext go only until 51, but i 
found the others (not there: drpichon.free.fr/pmpd/ google top result) but 
http://www.chnry.net/ch/?081-pmpd


i suspect that the bottleneck is the list parsing.


i see.


one trick to speed this is to put the list in a table, and use tabread to 
access the data.


to you know how tables compare to iemmatrix? the advantage of a matrice would 
be that i can get a whole row at once.



(i did not have a look a the patch, so i may be wrong).


i'll try.

thanks cyrille!

max
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] pointcloud in Gem (timbreID) and performance

2012-09-02 Thread chris clepper
Ages ago I created a set of vertex_ objects that does exactly this.  It was
too hard to use most of the objects and shaders more or less replaced a lot
of the functions anyway.  There is a vertex_tab_read that would allow
uploading of table data to the GPU.

The other option is to use the tables as textures.

On Sun, Sep 2, 2012 at 1:06 PM, ronni montoya ronni.mont...@gmail.comwrote:

 In processing theres a library called glgraphics that allows to use
 vertex arrays,this allow to calculate vertices in the gpu and it is
 very fast,  i can draw up to 80 000 vertices in my computer.

 Is it possible something like this in pd? Is it possible to access to
 vertex arrays commands from pure opengls from gem?

 any idea?


 R.

 2012/9/2 ronni montoya ronni.mont...@gmail.com:
  In processing theres a library called glgraphics that allows to use
  vertex arrays,this allow to calculate vertices in the gpu and it is
  very fast,  i can draw up to 80 000 vertices in my computer.
 
  Is it possible something like this in pd? Is it possible to access to
  vertex arrays commands from pure opengls from gem?
 
  any idea?
 
 
  R.
 
 
  2012/9/2 Max abonneme...@revolwear.com:
  Am 02.09.2012 um 18:23 schrieb Cyrille Henry:
  hello,
 
  the repeat/gemlist trick is very fast. it can be used to render lot's
 more point in real time.
  (try pmpd example 57 : 2000 points are rendered at 50 fps on my
 computer with no problem)
 
  ok, good to know. by the way: the examples in pd-ext go only until 51,
 but i found the others (not there: drpichon.free.fr/pmpd/ google top
 result) but http://www.chnry.net/ch/?081-pmpd
 
  i suspect that the bottleneck is the list parsing.
 
  i see.
 
  one trick to speed this is to put the list in a table, and use tabread
 to access the data.
 
  to you know how tables compare to iemmatrix? the advantage of a matrice
 would be that i can get a whole row at once.
 
 
  (i did not have a look a the patch, so i may be wrong).
 
  i'll try.
 
  thanks cyrille!
 
  max
  ___
  Pd-list@iem.at mailing list
  UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list