toxi.in.process

Monday, November 13, 2006

Java, free at last!

So today is a historic day for Java. In just a few hours (17:30 GMT) Sun will officially announce that Java is released under GPL from now on. Free at last!

Not only does this mean bugs will most likely be fixed far quicker than ever before, but now Java will also get much better support under Linux, Ubuntu and other open source OS environments. So this is an interesting bit for artsy folk too, since that might have impact on which tool/language to chose/support on these platforms. Being able to freely distribute Java yourself also removes another stumbling block for producing standalone apps.

In general it really seems this decision will help Java to "thrive" even more (incl. on even more platforms), or if you're more pessimistic, at least give it better chances of survival. Being a programming language, it makes sense to hand over control to the people who are using it the most... That is not to say Sun hasn't been quite good with that in the past (better than M$ or Adobe in any way). And even though you're free to branch off and create your own fork of the language, the Java name & brand will remain under Sun's control in order to ensure compatibility and their business. That's not a bad thing at all.

(via ongoing)

On another slightly related note, Adobe has recently contributed parts of their AS3 virtual machine, dubbed AVM2, to a new OSS project hosted on Mozilla.org, called Tamarin.
"Source code from AVM2 being contributed to the Tamarin project implements ECMAScript 4th edition language features such as namespaces, classes, and optional strongly typed variables, and includes a Just In Time (JIT) compiler that translates ActionScript bytecode to native machine code for maximum execution speed.

The Tamarin project will result in an ECMAScript 4th edition engine that Mozilla will use within the next-generation of SpiderMonkey, the core JavaScript engine embedded in Firefox®, Mozilla's free Web browser, and other products based on Mozilla technology. The code will continue to be used by Adobe as part of the ActionScript Virtual Machine." (from the FAQ)

Safety in numbers. It's interesting to see how both Sun and Adobe at least in parts have taken the risk to engage in a symbiosis with the Open Source world in order to protect themselves and/or even gain advantages over competitors. Microsoft's Sparkle is posing a serious (potential) risk to Adobe's product offering (Flash/Director). However, by open sourcing their development efforts, both Sun and Adobe have gained access to a potentially vastly increased community of contributors. It seems the repeated success of concerted and well managed large-scale open source efforts demonstrated by Mozilla and Eclipse (Callisto) is finally gaining momentum and support from other areas of the industry.

Thursday, November 09, 2006

Processing meets radiosity

In the last few days I've been doing some more research about getting higher quality 3D images out of Processing and had another closer look at Sunflow, a very fine Java based open source radiosity renderer.

triangles_AOCC_gloss_HD triangles_AOCC_SD


These are some of the first test images I created with my upcoming library (using beginRaw()) to output Sunflow scene description files for later use/rendering. I've also written a little command line tool to batch render exported sequences and am enquiring the use of Sun's grid computing facility as renderfarm ($1 per CPU hour, pay-as-you-go) for these type of jobs...

Being 100% Java, Sunflow could also be integrated as renderer into the Processing tool chain directly by wrapping it inside a PGraphics class. Sunflow's architecture is very clean and easy to use and customize via its API. Scenes and all elements can also be directly created and manipulated procedurally via Java. Adjusting quality settings, one could initially render at very low res to achieve near realtime previews and then switch to fullres (with supersampling/antialiasing) when exporting frames (also available as OpenEXR/HDR)... Watch this space!