{"id":14991173,"url":"https://github.com/academysoftwarefoundation/openshadinglanguage","last_synced_at":"2025-05-14T00:08:20.706Z","repository":{"id":37066624,"uuid":"1461954","full_name":"AcademySoftwareFoundation/OpenShadingLanguage","owner":"AcademySoftwareFoundation","description":"Advanced shading language for production GI renderers","archived":false,"fork":false,"pushed_at":"2025-05-03T05:23:50.000Z","size":225288,"stargazers_count":2164,"open_issues_count":77,"forks_count":377,"subscribers_count":198,"default_branch":"main","last_synced_at":"2025-05-03T06:22:37.985Z","etag":null,"topics":["c-plus-plus","computer-graphics","computer-language","llvm","open-shading-language","osl","shaders","shading-language","vfx"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AcademySoftwareFoundation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-03-10T02:44:05.000Z","updated_at":"2025-05-03T05:23:54.000Z","dependencies_parsed_at":"2023-02-16T10:01:03.246Z","dependency_job_id":"9816201f-cd21-4e48-98d8-a031d6ecee76","html_url":"https://github.com/AcademySoftwareFoundation/OpenShadingLanguage","commit_stats":{"total_commits":3027,"total_committers":88,"mean_commits":34.39772727272727,"dds":0.2632969937231583,"last_synced_commit":"709c5ff6b2a2f178e798ad518d27f7969d2d86dc"},"previous_names":[],"tags_count":192,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2FOpenShadingLanguage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2FOpenShadingLanguage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2FOpenShadingLanguage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2FOpenShadingLanguage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AcademySoftwareFoundation","download_url":"https://codeload.github.com/AcademySoftwareFoundation/OpenShadingLanguage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254043988,"owners_count":22005048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","computer-graphics","computer-language","llvm","open-shading-language","osl","shaders","shading-language","vfx"],"created_at":"2024-09-24T14:21:38.983Z","updated_at":"2025-05-14T00:08:15.696Z","avatar_url":"https://github.com/AcademySoftwareFoundation.png","language":"C++","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"ASWF/logos/openshadinglanguage-stacked-Shaded.png\"\u003e\n\n  \u003c!-- \u003cH1\u003eOpen Shading Language\u003c/H1\u003e --\u003e\n\u003c/div\u003e\n\n[![Open Shading Language Reel 2020](http://img.youtube.com/vi/nmwMz1YnGPA/0.jpg)](https://www.youtube.com/watch?v=nmwMz1YnGPA \"Open Shading Language Reel 2020\")\n\n[![Build Status](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/workflows/CI/badge.svg)](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/actions)\n[![License](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/LICENSE.md)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3061/badge)](https://bestpractices.coreinfrastructure.org/projects/3061)\n[![Documentation Status](https://readthedocs.org/projects/open-shading-language/badge/?version=main)](https://open-shading-language.readthedocs.io/en/main/?badge=main)\n\n\nIntroduction\n------------\n\nWelcome to Open Shading Language!\n\nOpen Shading Language (OSL) is a small but rich language for\nprogrammable shading in advanced renderers and other applications, ideal\nfor describing materials, lights, displacement, and pattern generation.\n\nOSL was originally developed by Sony Pictures Imageworks for use in its in-\nhouse renderer used for feature film animation and visual effects, released\nas open source so it could be used by other visual effects and animation\nstudios and rendering software vendors. Now it's the de facto standard\nshading language for VFX and animated features, used across the industry in\nmany commercial and studio- proprietary renderers. Because of this, the work\non OSL received an Academy Award for Technical Achievement in 2017.\n\nOSL is robust and production-proven, and has been used in films as diverse\nas \"The Amazing Spider-Man,\" \"Hotel Transylvania,\" \"Edge of Tomorrow\", \"Ant\nMan\", \"Finding Dory,\" and many more. OSL support is in most leading\nrenderers used for high-end VFX and animation work. For a full list of films\nand products, see the [filmography](#where-osl-has-been-used).\n\nThe OSL code is distributed under the\n[\"New/3-clause BSD\" license](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/LICENSE.md),\nand the documentation under the [Creative Commons Attribution 4.0 International\nLicense](https://creativecommons.org/licenses/by/4.0/).  In short, you are\nfree to use OSL in your own applications, whether they are free or\ncommercial, open or proprietary, as well as to modify the OSL code and\ndocumentation as you desire, provided that you retain the original copyright\nnotices as described in the license.\n\n\nHow OSL is different\n--------------------\n\nOSL has syntax similar to C, as well as other shading languages.\nHowever, it is specifically designed for advanced rendering algorithms\nand has features such as radiance closures, BSDFs, and deferred ray\ntracing as first-class concepts.\n\nOSL has several unique characteristics not found in other shading\nlanguages (certainly not all together).  Here are some things you will\nfind are different in OSL compared to other languages:\n\n* Surface and volume shaders compute radiance closures, not final colors.\n\n  OSL's surface and volume shaders compute an explicit symbolic\n  description, called a \"closure\", of the way a surface or volume\n  scatters light, in units of radiance.  These radiance closures may be\n  evaluated in particular directions, sampled to find important\n  directions, or saved for later evaluation and re-evaluation.\n  This new approach is ideal for a physically-based renderer that\n  supports ray tracing and global illumination.\n\n  In contrast, other shading languages usually compute just a surface\n  color as visible from a particular direction.  These old shaders are\n  \"black boxes\" that a renderer can do little with but execute to find\n  this one piece of information (for example, there is no effective way\n  to discover from them which directions are important to sample).\n  Furthermore, the physical units of lights and surfaces are often\n  underspecified, making it very difficult to ensure that shaders are\n  behaving in a physically correct manner.\n\n* Surface and volume shaders do not loop over lights or shoot rays.\n\n  There are no \"light loops\" or explicitly traced illumination rays in\n  OSL surface shaders.  Instead, surface shaders compute a radiance\n  closure describing how the surface scatters light, and a part of the\n  renderer called an \"integrator\" evaluates the closures for a\n  particular set of light sources and determines in which directions\n  rays should be traced.  Effects that would ordinarily require explicit\n  ray tracing, such as reflection and refraction, are simply part of the\n  radiance closure and look like any other BSDF.\n\n  Advantages of this approach include that integration and sampling may\n  be batched or re-ordered to increase ray coherence; a \"ray budget\" can\n  be allocated to optimally sample the BSDF; the closures may be used by\n  for bidirectional ray tracing or Metropolis light transport; and the\n  closures may be rapidly re-evaluated with new lighting without having\n  to re-run the shaders.\n\n* Surface and light shaders are the same thing.\n\n  OSL does not have a separate kind of shader for light sources.  Lights\n  are simply surfaces that are emissive, and all lights are area lights.\n\n* Transparency is just another kind of illumination.\n\n  You don't need to explicitly set transparency/opacity variables in the\n  shader.  Transparency is just another way for light to interact with a\n  surface, and is included in the main radiance closure computed by a\n  surface shader.\n\n* Renderer outputs (AOV's) may be specified using \"light path expressions.\"\n\n  Sometimes it is desirable to output images containing individual\n  lighting components such as specular, diffuse, reflection, individual\n  lights, etc.  In other languages, this is usually accomplished by\n  adding a plethora of \"output variables\" to the shaders that collect\n  these individual quantities.\n\n  OSL shaders need not be cluttered with any code or output variables to\n  accomplish this.  Instead, there is a regular-expression-based\n  notation for describing which light paths should contribute to which\n  outputs.  This is all done on the renderer side (though supported by\n  the OSL implementation).  If you desire a new output, there is no need\n  to modify the shaders at all; you only need to tell the renderer the\n  new light path expression.\n\n* Shaders are organized into networks.\n\n  OSL shaders are not monolithic, but rather can be organized into\n  networks of shaders (sometimes called a shader group, graph, or DAG),\n  with named outputs of some nodes being connected to named inputs of\n  other nodes within the network.  These connections may be done\n  dynamically at render time, and do not affect compilation of\n  individual shader nodes.  Furthermore, the individual nodes are\n  evaluated lazily, only when their outputs are \"pulled\" from the later\n  nodes that depend on them (shader writers may remain blissfully\n  unaware of these details, and write shaders as if everything is\n  evaluated normally).\n\n* Arbitrary derivatives without grids or extra shading points.\n\n  In OSL, you can take derivatives of any computed quantity in a shader,\n  and use arbitrary quantities as texture coordinates and expect correct\n  filtering.  This does not require that shaded points be arranged in a\n  rectangular grid, or have any particular connectivity, or that any\n  \"extra points\" be shaded.  This is because derivatives are not\n  computed by finite differences with neighboring points, but rather by\n  \"automatic differentiation\", computing partial differentials for the\n  variables that lead to derivatives, without any intervention required\n  by the shader writer.\n\n* OSL optimizes aggressively at render time\n\n  OSL uses the LLVM compiler framework to translate shader networks into\n  machine code on the fly (just in time, or \"JIT\"), and in the process\n  heavily optimizes shaders and networks with full knowledge of the\n  shader parameters and other runtime values that could not have been\n  known when the shaders were compiled from source code.  As a result,\n  we are seeing our OSL shading networks execute 25% faster than the\n  equivalent shaders hand-crafted in C!  (That's how our old shaders\n  worked in our renderer.)\n\n\n\nWhat OSL consists of\n--------------------\n\nThe OSL open source distribution consists of the following components:\n\n* oslc, a standalone compiler that translates OSL source code into\n  an assembly-like intermediate code (in the form of .oso files).\n\n* liboslc, a library that implements the OSLCompiler class, which\n  contains the guts of the shader compiler, in case anybody needs to\n  embed it into other applications and does not desire for the compiler\n  to be a separate executable.\n\n* liboslquery, a library that implements the OSLQuery class, which\n  allows applications to query information about compiled shaders,\n  including a full list of its parameters, their types, and any metadata\n  associated with them.\n\n* oslinfo, a command-line program that uses liboslquery to print to the\n  console all the relevant information about a shader and its parameters.\n\n* liboslexec, a library that implements the ShadingSystem class, which\n  allows compiled shaders to be executed within an application.\n  Currently, it uses LLVM to JIT compile the shader bytecode to x86\n  instructions.\n\n* testshade, a program that lets you execute a shader (or connected\n  shader network) on a rectangular array of points, and save any of its\n  outputs as images.  This allows for verification of shaders (and the\n  shading system) without needing to be integrated into a fully\n  functional renderer, and is the basis for most of our testsuite\n  verification.  Along with testrender, testshade is a good example\n  of how to call the OSL libraries.\n\n* testrender, a tiny ray-tracing renderer that uses OSL for shading.\n  Features are very minimal (only spheres are permitted at this time)\n  and there has been no attention to performance, but it demonstrates how\n  the OSL libraries may be integrated into a working renderer, what\n  interfaces the renderer needs to supply, and how the BSDFs/radiance\n  closures should be evaluated and integrated (including with multiple\n  importance sampling).\n\n* A few sample shaders.\n\n* Documentation -- at this point consisting of the OSL language\n  specification (useful for shader writers), but in the future will have\n  detailed documentation about how to integrate the OSL libraries into\n  renderers.\n\n\n\nWhere OSL has been used\n-----------------------\n\n*This list only contains films or products whose OSL use is stated or can be\ninferred from public sources, or that we've been told is ok to list here. If\nan OSL-using project is missing and it's not a secret, just email the OSL\nproject leader or submit a PR with edits to this file.*\n\n### Renderers and other production tools with OSL support\n\n(In approximate order of adding OSL support)\n\n* [Sony Pictures Imageworks: in-house \"Arnold\" renderer](https://dl.acm.org/doi/10.1145/3180495)\n* [Blender/Cycles](https://docs.blender.org/manual/en/dev/render/shader_nodes/osl.html)\n* [Chaos Group: V-Ray](https://www.chaosgroup.com/)\n* [Pixar: PhotoRealistic RenderMan RIS](https://renderman.pixar.com)\n* Isotropix: [Clarisse iFX](https://www.isotropix.com/products/clarisse/ifx) / [Clarisse BUiLDER](https://www.isotropix.com/products/clarisse/builder) / [Angie](https://www.isotropix.com/products/angie)\n* [Autodesk Beast](http://www.autodesk.com/products/beast/overview)\n* [Appleseed](http://appleseedhq.net)\n* [Animal Logic: Glimpse renderer](https://www.fxguide.com/featured/a-glimpse-at-animal-logic/)\n* [Image Engine: Gaffer](http://www.gafferhq.org/) (for expressions and deformers)\n* [DNA Research: 3Delight](http://www.3delight.com/)\n* Ubisoft motion picture group's proprietary renderer\n* [Autodesk/SolidAngle: Arnold](https://www.solidangle.com/arnold/)\n* [Autodesk: 3DS Max 2019](https://help.autodesk.com/view/3DSMAX/2019/ENU/?guid=__developer_3ds_max_sdk_features_rendering_osl_html)\n* [Maxon: Redshift](https://www.maxon.net/en/redshift)\n\n### Significant work using OSL, grouped by year of release date:\n\n(Here we are considering \"significant work\" to mean a feature film released\ntheatrically or on a major streaming platform, TV/streaming series heavily\nfeaturing visual effects or animation, or short films that have won or been\nnominated for major awards.)\n\n* **(2012)**\n  Men in Black 3, The Amazing Spider-Man, Hotel Transylvania\n* **(2013)**\n  Oz the Great and Powerful, Smurfs 2, Cloudy With a Chance of Meatballs 2\n* **(2014)**\n  The Amazing Spider-Man 2, Blended, Edge of Tomorrow, 22 Jump Street,\n  Guardians of the Galaxy, Fury,\n  The Hunger Games: Mockingjay - Part 1, Exodus: Gods and Kings,\n  The Interview\n* **(2015)**\n  American Sniper,\n  Insurgent,\n  Avengers Age of Ultron,\n  Ant Man,\n  Pixels,\n  Mission Impossible: Rogue Nation,\n  Hotel Transylvania 2,\n  Bridge of Spies,\n  James Bond: Spectre,\n  The Hunger Games: Mockingjay - Part 2,\n  Concussion\n* **(2016)**\n  Allegiant,\n  Batman vs Superman: Dawn of Justice,\n  The Huntsman,\n  Angry Birds Movie,\n  Alice Through the Looking Glass,\n  Captain America: Civil War,\n  Finding Dory,\n  Piper,\n  Independence Day: Resurgence,\n  Ghostbusters,\n  Star Trek Beyond,\n  Suicide Squad,\n  Kubo and the Two Strings,\n  Kingsglaive: Final Fantasy XV,\n  Storks,\n  Miss Peregrine's Home for Peculiar Children,\n  Fantastic Beasts and Where to Find Them,\n  Assassin's Creed\n* **(2017)**\n  Lego Batman,\n  The Great Wall,\n  A Cure for Wellness,\n  Logan,\n  Power Rangers,\n  Life,\n  Smurfs: The Lost Village,\n  The Fate of the Furious,\n  Alien Covenant,\n  Guardians of the Galaxy 2,\n  The Mummy,\n  Wonder Woman,\n  Cars 3,\n  Baby Driver,\n  Spider-Man: Homecoming,\n  Dunkirk,\n  The Emoji Movie,\n  Detroit,\n  Kingsman: The Golden Circle,\n  Lego Ninjago Movie,\n  Blade Runner 2049,\n  Geostorm,\n  Coco,\n  Justice League,\n  Thor: Ragnarok\n* **(2018)**\n  Peter Rabbit,\n  Black Panther,\n  Annihilation,\n  Red Sparrow,\n  Pacific Rim Uprising,\n  Avengers Infinity War,\n  Deadpool 2,\n  Incredibles 2,\n  Jurassic World: Fallen Kingdom,\n  Hotel Transylvania 3: Summer Vacation,\n  Ant Man and the Wasp,\n  Skyscraper,\n  Mission Impossible: Fallout,\n  The Meg,\n  Kin,\n  Smallfoot,\n  Alpha,\n  Venom,\n  First Man,\n  Bad Times at the El Royale,\n  Fantastic Beasts: The Crimes of Grindelwald,\n  Bohemian Rhapsody,\n  Holmes and Watson,\n  Spider-Man: Into the Spider-Verse\n* **(2019)**\n  The Kid Who Would Be King,\n  Alita: Battle Angel,\n  Lego Movie 2,\n  Lucky 13 (Love, Death, and Robots),\n  Captain Marvel,\n  Triple Frontier,\n  Avengers: Endgame,\n  Pokémon Detective Pikachu,\n  Godzilla: King of Monsters,\n  Rim of the World,\n  John Wick 3 Parabellum,\n  Men in Black International,\n  Toy Story 4,\n  Spider-Man: Far From Home,\n  Hobbs \u0026 Shaw,\n  Angry Birds 2,\n  The Art of Racing in the Rain,\n  Secret Life of Pets,\n  The Mandalorian (S1),\n  The Dark Crystal: Age of Resistance,\n  The King,\n  Jumanji: The Next Level,\n  Richard Jewell,\n  Game of Thrones (S8),\n  Lost in Space (S1),\n  Togo,\n  Missing Link\n* **(2020)**\n  Underwater,\n  Birds of Prey,\n  Onward,\n  Bloodshot,\n  Greyhound,\n  The Old Guard,\n  Mulan,\n  Tenet,\n  The New Mutants,\n  Artemis Fowl,\n  The Eight Hundred,\n  Over the Moon,\n  Wonder Woman 1984,\n  Soul,\n  The Mandalorian (S2),\n  The Boys (S2),\n  Umbrella Academy (S2)\n* **(2021)**\n  Chaos Walking,\n  Peter Rabbit 2: The Runaway,\n  The Falcon and the Winder Soldier,\n  Secret Magic Control Agency,\n  Zack Snyder's Justice League,\n  The Mitchells vs the Machines,\n  Jupiter's Legacy,\n  Luca,\n  F9,\n  Vivo,\n  Jungle Cruise,\n  Cinderella,\n  Dune,\n  No Time To Die,\n  Ron's Gone Wrong,\n  Venom: Let There Be Carnage,\n  Last Night in Soho,\n  Ghostbusters: Afterlife,\n  Spider-Man 3: No Way Home,\n  Matrix Resurrections,\n  Sing 2\n* **(2022)**\n  Hotel Transylvania 4: Transformania,\n  Death on the Nile,\n  Uncharted,\n  Turning Red,\n  The Adam Project,\n  Doctor Strange in the Multiverse of Madness,\n  Love, Death, and Robots: In Vaulted Halls Entombed,\n  Jurassic World: Dominion,\n  Lightyear,\n  Thor: Love and Thunder,\n  The Sea Beast,\n  DC League of Super Pets,\n  Minions: Rise of Gru,\n  Bullet Train,\n  Slumberland,\n  Glass Onion,\n  Puss in Boots: The Last Wish,\n  Archive 81 (series),\n  Moon Night (series),\n  Obi-Wan Kenobi (series),\n  The Boys (S3),\n  Andor (S1),\n  Troll,\n  She-Hulk (series)\n* **(2023)**\n  Ant-Man and the Wasp: Quantumania,\n  The Mandalorian S3,\n  The Magician's Elephant,\n  Super Mario Bros Film,\n  Guardians of the Galaxy 3,\n  Spider-Man: Across the Spider-Verse,\n  Elemental,\n  Indiana Jones and the Dial of Destiny,\n  The Marvels,\n  Leo,\n  The Boys (S4),\n  The Moon\n* **(2024)**\n  Ghostbusters: Frozen Empire,\n  Inside Out 2,\n  Red One,\n  Dream Productions (series)\n* **(2025 / upcoming)**\n  Win or Lose (series),\n  In Your Dreams,\n  A Minecraft Movie,\n  ...\n\n\nBuilding and Installation\n-------------------------\n\nPlease read the [INSTALL.md](INSTALL.md) file for detailed instructions on\nhow to build and install OSL.\n\n\nDocumentation\n-------------\n\nThe OSL language specification can be found at\n[src/doc/osl-languagespec.pdf](src/doc/osl-languagespec.pdf) (in a source\ndistribution) or in the share/doc/OSL/osl-languagespec.pdf file of an\ninstalled binary distribution.\n\n[OSL Documentation on ReadTheDocs](https://docs.openshadinglanguage.org)\nThis will be the future documentation. It's probably as complete as the PDF,\nbut it needs some proofreading, so the PDF is still considered the\nauthoritative source for now. But some time soon, the old PDF specification\nwill be deprecated in favor of\nthis online documentation.\n\u003c!-- is the best place to start if you are interested in how to use OSL,\nits APIs. --\u003e\nThere is also a [PDF\nversion](https://readthedocs.org/projects/open-shading-language/downloads/pdf/latest/).\n\nFor those interested in learning to program OSL shaders there is the\n[Siggraph 2024 Course](https://dl.acm.org/doi/proceedings/10.1145/3664475), \n[Shader Writing in Open Shading Language](https://dl.acm.org/doi/10.1145/3664475.3664534)\nand its companion \n[Supplementary Materials](https://github.com/LaikaStudios/OSLShaderWriting),\nwhich use RenderMan\u003csup\u003e\u0026reg;\u003c/sup\u003e in the examples but which are primarily about writing OSL shaders.\n\nThere is also the [Shader Writing in Open Shading Language book](https://www.routledge.com/Shader-Writing-in-Open-Shading-Language-with-RenderManr-Examples/Prater/p/book/9781032421100).\nThis covers all the material from the Siggraph course but in far greater detail. It also includes much more information about how OSL operates and covers a much broader range of shader examples.\n\n\nContact \u0026 reporting problems\n----------------------------\n\nSimple \"how do I...\", \"I'm having trouble\", or \"is this a bug\" questions are\nbest asked on the [osl-dev developer mail\nlist](https://lists.aswf.io/g/osl-dev).\nThat's where the most people will see it and potentially be able to answer\nyour question quickly (more so than a GH \"issue\").\n\nBugs, build problems, and discovered vulnerabilities that you are relatively\ncertain is a legit problem in the code, and for which you can give clear\ninstructions for how to reproduce, should be [reported as\nissues](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues).\n\nIf you think you've found a potential vulnerability in OSL, please\nconfidentially report it by emailing the project administrators at\n[security@openshadinglanguage.org](security@openshadinglanguage.org).\n\nIf any other issue requires confidentiality that precludes a public question\nor issue, you may contact the project administrator privately at\n[lg@larrygritz.com](lg@larrygritz.com).\n\n\nContributing\n------------\n\nOSL welcomes code contributions, and nearly 50 people have done so over the\nyears. We take code contributions via the usual GitHub pull request (PR)\nmechanism. Please see [CONTRIBUTING](CONTRIBUTING.md) for detailed\ninstructions.\n\n\nContacts, Links, and References\n-------------------------------\n\n[OSL GitHub page](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage)\n\n[Read or subscribe to the OSL development mail list](https://lists.aswf.io/g/osl-dev)\n\n[Most recent PDF of the OSL language specification](https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/blob/main/src/doc/osl-languagespec.pdf\n)\n\n[OSL home page](http://openshadinglanguage.org)\n\n\n\n\nCredits\n-------\n\nThe current project leadership is documented in the\n[Governance](GOVERNANCE.md) file.\n\nMany people have contributed features, bug fixes, and other changes to OSL\nover the years: Steve Agland, Shane Ambler, Martijn Berger, Farchad\nBidgolirad, Nicholas Bishop, Curtis Black, Rasmus Bonnedal, Solomon Boulos,\nStefan Bruens, Stefan Büttner, Matthaus G. Chajdas, Clark Chen, Mehdi\nChinoune, Alejandro Conty, Damien Courtois, Dieter De Baets, Thomas Dinges,\nDaniel Dresser, Mads Drøschler, Peter Ellerington, Luke Emrose, Louis Feng,\nMark Final, Henri Fousse, Stephen Friedman, Syoyo Fujita, Tim Grant, Larry\nGritz, Nicolas Guiard, Euan Haahr, Derek Haase, Sven-Hendrik Haase, John\nHaddon, Niklas Harrysson, Daniel Heckenberg, Chris Hellmuth, Adrien Herubel,\nDan Horák, Thiago Ize, Matt Johnson, Ronan Keryell, Chris Kulla, Elvic Liang,\nMax Liani, Adam Martinez, John Mertic, Bastien Montagne, Steena Monteiro,\nPatrick Mours, Alexis Oblet, Erich Ocean, Mikko Ohtamaa, Jino Park, Alexei\nPawlow, Mitch Prater, Jay Reynolds, Declan Russell, Benoit Ruiz, Patrick\nScheibe, Alex Schworer, Jonathan Scruggs, Sergey Sharybin, Mark Sisson, Sandip\nShukla, Cliff Stein, Stephan Steinbach, Luya Tshimbalanga, Esteban Tovagliari,\nBrecht Van Lommel, Thibault Vergne, Alexander von Knorring, Aidan Welch, Alex\nWells, Roman Zulak. (Listed alphabetically; if we've left anybody out, it is\ninadvertent, please let us know.)\n\nWe cannot possibly express sufficient gratitude to the managers at Sony\nPictures Imageworks who allowed this project to proceed, supported it\nwholeheartedly, and permitted us to release the source, especially Rob\nBredow, Brian Keeney, Barbara Ford, Rene Limberger, Erik Strauss, and Mike\nFord.\n\nHuge thanks also go to the crack shading team at SPI, and the brave lookdev\nTDs and CG supes willing to use OSL on their shows.  They served as our\nguinea pigs, inspiration, testers, and a fantastic source of feedback. And\nof course, the many engineers, TDs, and artists elsewhere who incorporated\nOSL into their products and pipelines, especially the early risk-takers at\nChaos Group, Double Negative, Pixar, DNA, Isotropix, and Animal Logic. Thank\nyou, and we hope we've been responsive to your needs.\n\nOSL was not developed in isolation.  We owe a debt to the individuals\nand studios who patiently read early drafts of the language\nspecification and gave us very helpful feedback and additional ideas,\nas well as to the continuing contributions and feedback of its current\ndevelopers and users at other VFX and animation studios.\n\nThe OSL implementation depends upon several other open source packages,\nall with compatible licenses:\n\n* [OpenImageIO](http://www.openimageio.org)\n* [IlmBase](http://www.openexr.com)\n* [LLVM Compiler Infrastructure](http://llvm.org)\n\nOSL's documentation incorporates parts of [Markdeep](https://casual-effects.com/markdeep/)\n(c) 2015-2016, Morgan McGuire, and [highlight.js](https://highlightjs.org/)\n(c) 2006, Ivan Sagalaev, both distributed under BSD licenses.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facademysoftwarefoundation%2Fopenshadinglanguage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facademysoftwarefoundation%2Fopenshadinglanguage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facademysoftwarefoundation%2Fopenshadinglanguage/lists"}