[Bf-cycles] Improving OSL support

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Mar 7 19:20:06 CET 2014


On Fri, Mar 7, 2014 at 9:23 AM, Naman Gupta <naman22forever at gmail.com> wrote:
> I'm Naman, final year undergrad majoring in Computer Science studying at
> MIET, Meerut, India.
> I'm interested in working for blender this summer. I'd like to work on OSL
> support . What I can makeout from the idea page is that, blender doesn't
> have all the features of OSL. like metadata, a proper way to load tex coord?
> and improved performance?
> These are the links I have read so far
> http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/OSL
> https://raw.github.com/imageworks/OpenShadingLanguage/master/src/doc/osl-languagespec.pdf
>   I have successfully compiled the source code with OSL (win7, vs2008). :D
>   I'd like to know who be the right guy(IRC handle?) to discuss it.
>   Also, are there any other material that I have to go through?

There's a few people on IRC that know about OSL integration, me
(brecht), DingTo, lukas_t and dfelinto. You can ask here on the
mailing list as well if you can find the right people online.

I think you found the most important links. The other relevant things are:
* Cycles developer docs:
* Rest of the Cycles manual.
* To see what people are doing with OSL now you can read the OSL forum
on http://blenderartists.org/
* http://www.openshading.com/

In general it helps if you are familiar with rendering algorithms as
you can find in e.g. the PBRT book, though it's not that much needed
for OSL.

As for the contents of the project, the general goal would be to
improve OSL integration to be more useful.

* The metadata support would to make it possible to define
input/output socket entirely from the metadata in the OSL shader
(min/max, tooltips, strings as filepaths, etc.).
* The texture loading problem is that Cycles will only load e.g. UV
maps if they are needed by the nodes. However OSL shaders have no way
to specify in advance that they will use such an attribute, so they
can only use it if some other builtin node already asked for it to be
loaded. I'm not sure what the best solution would be, but this should
be solved somehow.
* When using OSL performance is currently slower than when it's off,
ideally it would become roughly equal. Getting it equal may be aiming
a too high, but we can probably do better than we do now.

Maybe other people reading this can suggest things, or you can read
the blenderartists forum to find issues that users are running into
and think of solutions for them. The 3 things mentioned are not
necessarily the most important ones, just some things that I could
think of off the top of my head.


More information about the Bf-cycles mailing list