Open Shading Language 1.13 Documentation#
Editor: Larry Gritz, OSL Chief Architect
Open Shading Language (OSL) is a small but rich language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation.
Quick Links: GitHub repository / Developer mail list / BSD License
Contents#
- 1. Introduction
- 2. The Big Picture
- 2.1. A shader is code that performs a discrete task
- 2.2. Shader instances
- 2.3. Shader groups, layers, and connections
- 2.4. Geometric primitives
- 2.5. Attribute state and shader assignments
- 2.6. Shader execution state: parameter binding and global variables
- 2.7. Surface and volume shaders compute closures
- 2.8. Integrators
- 2.9. Units
- 3. Lexical structure
- 4. Gross syntax, shader types, parameters
- 5. Data types
- 6. Language Syntax
- 7. Standard Library Functions
- 7.1. Basic math functions
- 7.2. Geometric functions
- 7.3. Color functions
- 7.4. Matrix functions
- 7.5. Pattern generation
- 7.6. Derivatives and area operators
- 7.7. Displacement functions
- 7.8. String functions
- 7.9. Texture
- 7.10. Material Closures
- 7.11. Renderer state and message passing
- 7.12. Dictionary Lookups
- 7.13. Miscellaneous
- 8. Formal Language Grammar
- 9. Describing shader groups
- 10. Glossary