Decora <> Open Shading Language?

Richard Bair richard.bair at oracle.com
Thu Feb 14 13:52:29 PST 2013


Hi Philip,

Very interesting link. I didn't clone the repo and check, I'm not sure how long it has been around. We've had Decora for 5 years I think, so we may predate it substantially.

Adobe also has a shader technology called Pixel Bender (http://www.adobe.com/devnet/pixelbender.html). The nice thing about their language is that their designer tools support Pixel Bender (and I guess AGAL and Pixel Bender 3D https://www.adobe.com/devnet/flashplayer/articles/what-is-agal.html).

Although we use Decora for our shaders, we haven't done much more than keep it running. Jim Graham has had a number of ideas about things he wanted to do to move Decora forward (maybe he can chime in with those).

There are Pros / Cons to each:

OSL:
  Pros:
	- It looks like Sony Pictures is continuing to work on OSL, it wasn't a dump & forget.
	- Any time multiple companies can contribute to the same thing, the better chance of broader adoption (& tools etc)
	- Being able to leverage other's work instead of doing all the work ourselves could free us from some maintenance costs
  Cons:
	- Different design center -- doesn't yet support GPUs for instance
	- Lack of tooling

Pixel Bender:
  Pros:
	- Great tooling support
	- Same design center -- shaders for 2D / 3D applications
	- Robust
	- Leverage Adobe's investment
  Cons:
	- License is proprietary according to wikipedia, not sure myself
	- Not sure of the runtime size
	- Needs to be vetted for security risks

Decora:
  Pros:
	- Does exactly what we need -- no more
	- Small size (no features we don't need)
  Cons:
	- No time to invest in serious upgrades
	- No tooling support

I think that's a fair portrayal of the situation. From a pragmatic perspective it seems like supporting Pixel Bender would be a great way forward, but I don't know what the license situation is (i.e.: would we have to provide our own compiler, or could we reuse their compiler? Can we even do that much?). Given we haven't had time to spend improving decora, replacing it would be even more work.

However, I wouldn't be opposed to using OSL or Pixel Bender or any other system if the benefits outweigh the costs.

Richard


On Feb 14, 2013, at 1:49 AM, Philipp Dörfler <phdoerfler at gmail.com> wrote:

> Here is the link:
> [1] http://opensource.imageworks.com/?p=osl
> 
> Am 14.02.2013 um 10:48 schrieb Philipp Dörfler <phdoerfler at gmail.com>:
> 
>> Greetings,
>> 
>> I stumbled upon the Open Shading Language [1] which seems to be an already established standard and uses LLVM to optimize shaders. I wonder why this is not used instead of / as a backend for Decora. Might you please shed some light on that?
>> 
>> Cheers and thanks in advance
>> ~ Philipp
> 



More information about the openjfx-dev mailing list