Open Shading Language

Last updated
Open Shading Language (OSL)
Developer(s) Academy Software Foundation
Stable release
1.12.13.0 / 1 July 2023;10 months ago (2023-07-01) [1]
Repository
Type Shading language
License BSD license 3-clause
Website github/OpenShadingLanguage

Open Shading Language (OSL) is a shading language developed by Sony Pictures Imageworks, a Canadian visual effects and computer animation studio headquartered in Vancouver, British Columbia and Montreal, Quebec, with an additional office on the Sony Pictures Studios lot in Culver City, California, a unit of Sony Pictures Entertainment's Motion Picture Group, which through an intermediate holding company called Sony Film Holding Inc., it is operated as a subsidiary of Sony Entertainment Inc., which is itself a subsidiary of the Japanese multinational technology and media conglomerate Sony Group Corporation, for use in its Arnold Renderer. It is also supported by Illumination Research's 3Delight renderer, [2] Otoy's Octane Render, [3] V-Ray 3, [4] Redshift (from April 2021), [5] and the Cycles render engine in Blender (starting with Blender 2.65). [6] OSL's surface and volume shaders define how surfaces or volumes scatter light in a way that allows for importance sampling; thus, it is well suited for physically based renderers that support ray tracing and global illumination.

Contents

In RenderMan, OSL is also an important module. It is modified there for better AVX2 and AVX-512 instruction set support with doubled performance. [7] [8]

Release 1.12 supports C++14 as default, but also newer C++17 and C++20. OpenImageIO support will be dropped for 2.0 with support of 2.2. Minimum OpenEXR Version changes up to 2.3. SIMD Batch shader Mode and OptiX support are in development and experimental. CUDA 11 and OptiX 7.1 are here supported levels. [9] 1.12.6 is supported in Blender 3.4. 1.12.6.2 is the first new release of the 1.12 series with a stable API. 1.12.13 is the current version.

Origin

Larry Gritz explain origin of Open Shading Language:

We had a renderer (Sony Imageworks's fork of the Arnold renderer) where shaders were implemented as C++ plugins, and that had many problems. We desired a shading language for the renderer, and this is the one I designed. In addition to just wanting a language, we also sought to make many improvements over previous shading languages. We explained a lot of the details about the new ideas in this SIGGRAPH 2010 talk 'Open Shading Language'. [10] And apparently, the rest of the industry agreed, because it resulted in an 2017 Academy technical achievement award. [11]

email from Larry Gritz (2022.06.27) [ citation needed ]

Movies

Many movies made in 2012 or later have used OSL, [12] including:

2017

2018

2019

2020

2021 / upcoming

See also

Related Research Articles

<span class="mw-page-title-main">Rendering (computer graphics)</span> Process of generating an image from a model

Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as the render. Multiple models can be defined in a scene file containing objects in a strictly defined language or data structure. The scene file contains geometry, viewpoint, textures, lighting, and shading information describing the virtual scene. The data contained in the scene file is then passed to a rendering program to be processed and output to a digital image or raster graphics image file. The term "rendering" is analogous to the concept of an artist's impression of a scene. The term "rendering" is also used to describe the process of calculating effects in a video editing program to produce the final video output.

The RenderMan Interface Specification, or RISpec in short, is an open API developed by Pixar Animation Studios to describe three-dimensional scenes and turn them into digital photorealistic images. It includes the RenderMan Shading Language.

<span class="mw-page-title-main">Blender (software)</span> 3D computer graphics software

Blender is a free and open-source 3D computer graphics software tool set used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blender's features include 3D modelling, UV mapping, texturing, digital drawing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animation, match moving, rendering, motion graphics, video editing, scripting, and compositing.

<span class="mw-page-title-main">Cinema 4D</span> 3D software

Cinema 4D is a 3D software suite developed by the German company Maxon.

<span class="mw-page-title-main">Houdini (software)</span> 3D animation software

Houdini is a 3D animation software application developed by Toronto-based SideFX, who adapted it from the PRISMS suite of procedural generation software tools.

Pixar RenderMan is a photorealistic 3D rendering software produced by Pixar Animation Studios. Pixar uses RenderMan to render their in-house 3D animated movie productions and it is also available as a commercial product licensed to third parties. In 2015, a free non-commercial version of RenderMan became available.

<span class="mw-page-title-main">Reyes rendering</span> Computer software architecture in 3D computer graphics

Reyes rendering is a computer software architecture used in 3D computer graphics to render photo-realistic images. It was developed in the mid-1980s by Loren Carpenter and Robert L. Cook at Lucasfilm's Computer Graphics Research Group, which is now Pixar. It was first used in 1982 to render images for the Genesis effect sequence in the movie Star Trek II: The Wrath of Khan. Pixar's RenderMan was an implementation of the Reyes algorithm, It has been deprecated as of 2016 and removed as of RenderMan 21. According to the original paper describing the algorithm, the Reyes image rendering system is "An architecture for fast high-quality rendering of complex images." Reyes was proposed as a collection of algorithms and data processing systems. However, the terms "algorithm" and "architecture" have come to be used synonymously in this context and are used interchangeably in this article.

COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.

A shading language is a graphics programming language adapted to programming shader effects. Shading languages usually consist of special data types like "vector", "matrix", "color" and "normal".

<span class="mw-page-title-main">Micropolygon</span> Computer graphics polygon very small relative to the image being rendered

In 3D computer graphics, a micropolygon is a polygon that is very small relative to the image being rendered. Commonly, the size of a micropolygon is close to or even less than the area of a pixel. Micropolygons allow a renderer to create a highly detailed image.

<span class="mw-page-title-main">OpenGL Shading Language</span> High-level shading language

OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB to give developers more direct control of the graphics pipeline without having to use ARB assembly language or hardware-specific languages.

<span class="mw-page-title-main">Sony Pictures Imageworks</span> Visual effects and animation studio

Sony Pictures Imageworks Inc. is a Canadian visual effects and computer animation studio headquartered in Vancouver, British Columbia and Montreal, Quebec, with an additional office on the Sony Pictures Studios lot in Culver City, California. SPI is a unit of Sony Pictures Entertainment's Motion Picture Group.

3Delight is a 3D computer graphics software that runs on Microsoft Windows, macOS and Linux. Developed by Illumination Research, it is both a photorealistic and NPR path tracing offline renderer based on its NSI API scene description and on OSL for shading. It has been used to render full CGI animation and VFX for numerous feature films. It comes with supported, open source plug-in integrations for several DCC applications, such as Maya, Houdini, Cinema4D, Katana, OpenUSD Hydra, and a democratic free license that allows for commercial use. It also provides a fully distributed cloud rendering service called 3Delight Cloud.

Renderman Shading Language is a component of the RenderMan Interface Specification, and is used to define shaders. The language syntax is C-like.

HLSL2GLSL is a command line tool and a library that translates shaders written in High Level Shader Language (HLSL) for Direct3D 9 into the OpenGL Shading Language (GLSL).

<span class="mw-page-title-main">OptiX</span> Nvidia ray tracing API using CUDA to compute on GPUs

Nvidia OptiX is a ray tracing API that was first developed around 2009. The computations are offloaded to the GPUs through either the low-level or the high-level API introduced with CUDA. CUDA is only available for Nvidia's graphics products. Nvidia OptiX is part of Nvidia GameWorks. OptiX is a high-level, or "to-the-algorithm" API, meaning that it is designed to encapsulate the entire algorithm of which ray tracing is a part, not just the ray tracing itself. This is meant to allow the OptiX engine to execute the larger algorithm with great flexibility without application-side changes.

Alembic is an interchangeable computer graphics file format developed by Sony Pictures Imageworks and Industrial Light & Magic. It was announced at SIGGRAPH 2011, and has been widely adopted across the industry by visual effects and animation professionals.

Autodesk Arnold is a computer program for rendering three-dimensional, computer-generated scenes using unbiased, physically-based, Monte Carlo path tracing techniques. Created in Spain by Marcos Fajardo and later co-developed by his company Solid Angle SL and Sony Pictures Imageworks, Arnold is one of the most widely used photorealistic rendering systems in computer graphics worldwide, particularly in animation and VFX for film and TV. Notable feature films that have used Arnold include Monster House, Cloudy with a Chance of Meatballs, Alice in Wonderland, Thor, Captain America, X-Men: First Class, The Avengers, Space Pirate Captain Harlock, Elysium, Pacific Rim, Gravity, Guardians of the Galaxy, Star Wars: The Force Awakens, Arrival and Blade Runner 2049. Notable television series include Game of Thrones, Westworld, Trollhunters, LOVE DEATH + ROBOTS, Jelly Jamm and The Mandalorian.

<span class="mw-page-title-main">Standard Portable Intermediate Representation</span>

Standard Portable Intermediate Representation (SPIR) is an intermediate language for parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including the Vulkan graphics API and the OpenCL compute API, to represent a shader or kernel. It is also used as an interchange language for cross compilation.

<span class="mw-page-title-main">Cryptomatte</span> Open-source software by Psyop

Cryptomatte is an open-source software created by Jonah Friedman and Andy Jones at Psyop, but is also used synonymously for the specific style of image created by the software or other software working alike.

References

  1. "OpenShadingLanguage Releases". GitHub .
  2. "OSLin 3Delight". www.3delight.com. Retrieved 2020-01-26.
  3. "Octane Render OSL Support". home.otoy.com. Retrieved 2019-12-27.
  4. "V-Ray OSL Support". docs.chaosgroup.com. Retrieved 2016-09-13.
  5. "Latest Redshift Release Features Support for OpenColorIO 2.0.1" . Retrieved 2022-04-27.
  6. "Blender 2.65: Cycles" . Retrieved 2020-02-09.
  7. "RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advan…". 12 August 2019.
  8. "Technical Articles and How-Tos".
  9. "Open Shading Language". GitHub . 7 April 2022.
  10. ""SIGGRAPH 2010 Open Shading Language"". 2010. doi:10.1145/1837026.1837070. S2CID   27148401.{{cite journal}}: Cite journal requires |journal= (help)
  11. ""2017 Sci-Tech winners"". 2017.
  12. "Where OSL has been used". GitHub . Retrieved 2020-02-29.