We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexDiscussionGeneral Discussion,  Status › Status 12 January 2006
Page Index Toggle Pages: 1
Status 12 January 2006 (Read 1052 times)
Status 12 January 2006
Jan 12th, 2006, 5:01pm
 
happy new year everyone!

casey's already posted about the site, so i'll go with some of the environment/coding stuff..

the current top priorities are pdf and sound. pdf is a priority because of how it affects api. essentially, we're adding a feature where you can call
size(400, 400, PDF, "poo.pdf");
that will create a pdf file to be drawn into. just like the opengl renderer, you'll use the regular p5 api to make things happen. (the file needn't be called poo). this gives you really nice vector output (images/bitmaps won't be supported initially, but fonts, lines, shapes, etc all look fantastic). the other important part of this is that it's not just for pdf, but for any sort of renderers that people want to plug in. so the SVG PGraphics that was posted a little bit ago will be able to use this mechanism too, and the various postscript/illustrator libraries could be modified to use this scheme.

pdf was my target because of its superiority in creating files that are easily distributable. postscript/illustrator are easier to write, but require that the recipient can read postscript (macs with conversion by preview.. but that's a painful conversion with a big file, and no PCs without extra sw) or that they have illustrator installed (paying big momma macrodobe). they also render very quickly (if low quality) in adobe reader, so it's easy to iterate when reworking a complex image. for better rendering, a pdf can be opened in illustrator, though that's much slower. in the past, all my vector work has been done with my own illustrator library, and while i like the flexibility it provided, i've found this frustrating because of how illustrator breaks down with complex files. for instance, this was really painful:
http://acg.media.mit.edu/people/fry/chromosomes/13-icp/

one of the fundamental problems being that a program like illustrator has to load all the objects in the file for editing (rather than just rendering, like acrobat), so the memory and cpu requirements are significantly higher. during the work process, this is a frustration because lots of times it's a matter of checking to see if a new color or line weight worked properly.

to go with size(), beginRecord() and endRecord() are also being added, which allow you to record just a section of the commands out to another renderer (whether PDF or others). this can be used inside draw in the same style as saveFrame(), for instance.

finally, there's beginRaw() and endRaw() (some of this naming might be.. ehm..) which will capture the raw triangle and line stream from the 3D renderers (P3D and OPENGL), allowing you to write the output to a 2D format like PDF or SVG or whatever. a preliminary version of this code was used to create the image for this cover:
http://www.nature.com/nature/journal/v437/n7063/index.html

where it was rendered from this piece:
http://benfry.com/isometricblocks/

but from a much larger set of data.. thousands and thousands of triangles, along with all the triangles from the 3D type (ooh! vectors for 3D type too! yum!) as with the others, it can be used with any renderer, but it'll mostly only be useful for things that write PDF or SVG or DXF or other three letter acronyms that make you happy.
Re: Status 12 January 2006
Reply #1 - Jan 12th, 2006, 5:06pm
 
[ yabb told me to quit going on so long and stop advertising links to my own work so i had to complete the message as a separate post ]

sound is also a huge issue, particularly as casey is working on the book (and nagging me with bug reports). PSound was intended as a really lightweight layer on top of java's sound api, but as can be seen from the number of questions about PSound, javasound is crap and i need to do more work with making PSound usable. i went in to fix some bugs but found way more problems than i'd even known (loop doesn't work at all on my powerbook. awesome!) so that will come after the pdf/record stuff is done.

no dates for when things will be available, sorry. i need to have the pdf stuff wrapped up this week so that our genius friend peter cho can teach a course with it, but i'm not sure whether i'll release things right away or will need to wait a couple days to see how the course goes and whether we need to rework/rename things. i don't wanna keep changing api on y'all (any more than we already do. har har har).

other things on the horizon..

+ there's a nasty threading issue that was introduced in 0092, preventing the use of things like sonia or file choosers. this is related to some other nasty threading issues, and someday i'm gonna have to iron it out. this is nasty stuff to get worked out, but in addition to fixing the bugs, may even provide a speed improvement, and fix some of the issues like sketches that run half speed every once in  a while (when using JAVA2D).

+ as of tuesday, i'm now using a mac desktop as my primary development platform. this seems to change every 18 months or so as i get annoyed with windows/mac/linux and shift to another. look for the mac releases to improve a lot, i'm finding lots of weird quirks that i'm surprised haven't been reported. for instance, it seems that exceptions that end the app don't show up a lot. or maybe it's only on dual processor machines, since i hadn't seen it on my laptop. but man, is it frustrating. so this will have to get fixed up.

+ and finally, it sure would be fun if we could finish up P2D and 1.0 this spring, wouldn't it? it's too bad casey and i were perfectionists about it, we shoulda just called our first public release beta, called 68/69 1.0, called beta 2.0, and what we release finally as 1.0 should really be a 3.0 (to reflect what's actually happened under the hood and in terms of goals/feature set). and i think we've hindered ourselves a bit since the 'beta' label scares off a whole set of people. then again, there's another parallel set of people who are so used to betas that they don't understand why they aren't full-featured releases. i blame netscape for starting it (like you didn't download every nscp beta of the 4.x browsers as they arrived) and google for perpetuating it (do they have anything that's not in beta?). alphas might be cocaine, but betas are crack.

that's all for now.. back to work.
Page Index Toggle Pages: 1