3
No “uniform” and “varying” keywords in the language.
OSL shaders are evaluated in SIMD fashion, executing shaders on many points at once, but
there is no need to burden shader writers with declaring which variables need to be uniform or
varying.
In the open source OSL implementation, this is done both automatically and dynami-
cally, meaning that a variable can switch back and forth between uniform and varying, on an
instruction-by-instruction basis, depending on what is assigned to it.
Arbitrary derivatives without grids or extra shading points.
In OSL, you can take derivatives of any computed quantity in a shader, and use arbitrary quanti-
ties as texture coordinates and expect correct filtering. This does not require that shaded points
be arranged in a rectangular grid, or have any particular connectivity, or that any ”extra points”
be shaded.
In the open source OSL implementation, this is possible because derivatives are not com-
puted by finite differences with neighboring points, but rather by “automatic differentiation,”
computing partial differentials for the variables that lead to derivatives, without any interven-
tion required by the shader writer.
Acknowledgments
The original designer and project leader of OSL is Larry Gritz. Other early developers of OSL
are (in order of joining the project): Cliff Stein, Chris Kulla, Alejandro Conty, Jay Reynolds,
Solomon Boulos, Adam Martinez, Brecht Van Lommel.
Additionally, many others have contributed features, bug fixes, and other changes: Steve
Agland, Shane Ambler, Martijn Berger, Farchad Bidgolirad, Nicholas Bishop, Stefan B
¨
uttner,
Matthaus G. Chajdas, Thomas Dinges, Henri Fousse, Syoyo Fujita, Derek Haase, Sven-Hendrik
Haase, John Haddon, Daniel Heckenberg, Ronan Keryell, Elvic Liang, Max Liani, Bastien
Montagne, Erich Ocean, Mikko Ohtamaa, Alex Schworer, Sergey Sharybin, Stephan Steinbach,
Esteban Tovagliari, Alexander von Knorring, Roman Zulak. (Listed alphabetically; if we’ve left
anybody out, please let us know.)
We cannot possibly express sufficient gratitude to the managers at Sony Pictures Image-
works who allowed this project to proceed, supported it wholeheartedly, and permitted us to
release the source, especially Rob Bredow, Brian Keeney, Barbara Ford, Rene Limberger, and
Erik Strauss.
Huge thanks also go to the crack shading team at SPI, and the brave lookdev TDs and CG
supes willing to use OSL on their shows. They served as our guinea pigs, inspiration, testers,
and a fantastic source of feedback. Thank you, and we hope we’ve been responsive to your
needs.
OSL was not developed in isolation. We owe a debt to the individuals and studios who
patiently read early drafts of the language specification and gave us very helpful feedback and
Open Shading Language Specification