SlideShare a Scribd company logo
Introduction
to
Open Shading Language
Prabindh Sundareson
Introduction
●OSL was developed at Sony Imageworks, for use
in its rendering pipelines for movies.
●It is a shader description language, built out of
LLVM infrastructure.
Why OSL
● To be able to replicate the behaviour of pre-recorded
BRDF using instruments like the Gonioreflectometer.
● Once recorded, these BRDFs can be replicated almost
accurately in the rendered scene
● More flexible representation of properties of surfaces
The OSL shader
● In OSL, shaders do not calculate color output per pixel, but
define a function that returns a surface, displacement,
volume or define a new generic shader
● Reflectance and Transmittance of surfaces are modelled
as functions, or "Closures"
● These shaders are evaluated during the rendering phase
Open Shading Language
● OSL's surface and volume shaders compute an explicit
symbolic description, called a "closure", of the way a
surface or volume scatters light, in units of radiance
● These radiance closures may be evaluated in particular
directions, sampled to find important directions, or saved
for later evaluation and re-evaluation (by component
blocks called as "Integrators")
– From "Larry Gritz, OSL_Introduction"
Example Surface Shader
● A sample surface shader looks like below:
surface
test (string noisename = "gabor", float freq = 5, output color Cout =
0)
{
point p = P*freq * (1.0+10*v*v) * (1.0+10*u*u);
float n = noise(noisename, p[0], p[1]);
cout = n * 0.5 + 0.5;
}
Sample Scenes built out of OSL
● Some examples are to be found in chocofur.com
(http://store.chocofur.com/exterior-scene-01), that look
amazingly realistic
Source Code and More Details
● The source code for OSL is provided under a liberal New
BSD license, at,
● https://github.com/imageworks/OpenShadingLangua
ge

More Related Content

PDF
Process Flow Diagram for an Online Dress Rental Platform
DOCX
Data flow diagram
PDF
CG - Display Devices
PDF
Module 4 network and computer security
PDF
Graphics a buffer
PPTX
Open source CMS tool for web based job portal and recruitment system
PDF
SOFM based calssification for LU
PPTX
Distributed airline reservation system
Process Flow Diagram for an Online Dress Rental Platform
Data flow diagram
CG - Display Devices
Module 4 network and computer security
Graphics a buffer
Open source CMS tool for web based job portal and recruitment system
SOFM based calssification for LU
Distributed airline reservation system

What's hot (9)

PPTX
Farming assistant web service ppt
PPTX
ART GALARY MANAGEMENT SYSTEM ART GALARY MANAGEMENT SYSTEM
PDF
Introduction to fragments in android
PDF
Android Fragment
PDF
Android Components
PPTX
SAFETY MEASURES FOR TABLE-TOP RUNWAY OF MANGALORE AIRPORT
PPTX
Airbus
PPT
Animation
PPTX
Circulares de asesoramiento..
Farming assistant web service ppt
ART GALARY MANAGEMENT SYSTEM ART GALARY MANAGEMENT SYSTEM
Introduction to fragments in android
Android Fragment
Android Components
SAFETY MEASURES FOR TABLE-TOP RUNWAY OF MANGALORE AIRPORT
Airbus
Animation
Circulares de asesoramiento..
Ad

Viewers also liked (15)

PDF
Technology, Innovation - A Perspective
PPTX
GFX Part 4 - Introduction to Texturing in OpenGL ES
PPTX
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
PPTX
John Carmack talk at SMU, April 2014 - Virtual Reality
PPTX
GFX Part 3 - Vertices and interactions in OpenGL
PPTX
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
PPTX
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
PPTX
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
PDF
IEEE - Consumer Electronics Trends Opportunities (2015)
PPTX
OpenGL Shading Language
PDF
Neo4j Spatial - GIS for the rest of us.
PDF
OSM- An Introduction
PPTX
Order management, provisioning and activation
PPTX
Osi model
PPT
OSI Model
Technology, Innovation - A Perspective
GFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
John Carmack talk at SMU, April 2014 - Virtual Reality
GFX Part 3 - Vertices and interactions in OpenGL
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
IEEE - Consumer Electronics Trends Opportunities (2015)
OpenGL Shading Language
Neo4j Spatial - GIS for the rest of us.
OSM- An Introduction
Order management, provisioning and activation
Osi model
OSI Model
Ad

More from Prabindh Sundareson (20)

PDF
Synthetic Data and Graphics Techniques in Robotics
PDF
Work and Life
PPTX
GPU Algorithms and trends 2018
PPTX
Machine learning in the Indian Context - IEEE talk at SRM Institute
PDF
Students Hackathon - 2017
PPTX
ICCE Asia 2017 - Program Outline
PDF
Call for Papers - ICCE Asia 2017
PPTX
GFX part 8 - Three.js introduction and usage
PPTX
GFX Part 2 - Introduction to GPU Programming
PPTX
GFX2014 OpenGL ES Quiz
PPTX
Gfx2014 Graphics Workshop - Lab manual
PPTX
Render to Texture with Three.js
PPTX
ANGLE on Windows for OpenGLES2.0
PPTX
Yocto usage for Graphics SDK on AM335x
PPTX
Gfx2013 lab manual
PPT
ARM Linux Embedded memory protection techniques
PPTX
Qt5 (minimal) on beaglebone, with Yocto
PPTX
Moksha - HTML5/CSS with Qt5+Snowshoe on AM335x
PPTX
Qt5.0.0 eglfs abort issue
PPT
Cache profiling on ARM Linux
Synthetic Data and Graphics Techniques in Robotics
Work and Life
GPU Algorithms and trends 2018
Machine learning in the Indian Context - IEEE talk at SRM Institute
Students Hackathon - 2017
ICCE Asia 2017 - Program Outline
Call for Papers - ICCE Asia 2017
GFX part 8 - Three.js introduction and usage
GFX Part 2 - Introduction to GPU Programming
GFX2014 OpenGL ES Quiz
Gfx2014 Graphics Workshop - Lab manual
Render to Texture with Three.js
ANGLE on Windows for OpenGLES2.0
Yocto usage for Graphics SDK on AM335x
Gfx2013 lab manual
ARM Linux Embedded memory protection techniques
Qt5 (minimal) on beaglebone, with Yocto
Moksha - HTML5/CSS with Qt5+Snowshoe on AM335x
Qt5.0.0 eglfs abort issue
Cache profiling on ARM Linux

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectroscopy.pptx food analysis technology
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.

Open Shading Language (OSL)

  • 2. Introduction ●OSL was developed at Sony Imageworks, for use in its rendering pipelines for movies. ●It is a shader description language, built out of LLVM infrastructure.
  • 3. Why OSL ● To be able to replicate the behaviour of pre-recorded BRDF using instruments like the Gonioreflectometer. ● Once recorded, these BRDFs can be replicated almost accurately in the rendered scene ● More flexible representation of properties of surfaces
  • 4. The OSL shader ● In OSL, shaders do not calculate color output per pixel, but define a function that returns a surface, displacement, volume or define a new generic shader ● Reflectance and Transmittance of surfaces are modelled as functions, or "Closures" ● These shaders are evaluated during the rendering phase
  • 5. Open Shading Language ● OSL's surface and volume shaders compute an explicit symbolic description, called a "closure", of the way a surface or volume scatters light, in units of radiance ● These radiance closures may be evaluated in particular directions, sampled to find important directions, or saved for later evaluation and re-evaluation (by component blocks called as "Integrators") – From "Larry Gritz, OSL_Introduction"
  • 6. Example Surface Shader ● A sample surface shader looks like below: surface test (string noisename = "gabor", float freq = 5, output color Cout = 0) { point p = P*freq * (1.0+10*v*v) * (1.0+10*u*u); float n = noise(noisename, p[0], p[1]); cout = n * 0.5 + 0.5; }
  • 7. Sample Scenes built out of OSL ● Some examples are to be found in chocofur.com (http://store.chocofur.com/exterior-scene-01), that look amazingly realistic
  • 8. Source Code and More Details ● The source code for OSL is provided under a liberal New BSD license, at, ● https://github.com/imageworks/OpenShadingLangua ge