| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | /*Language: RenderMan RSLAuthor: Konstantin Evdokimenko <qewerty@gmail.com>Contributors: Shuen-Huei Guan <drake.guan@gmail.com>Website: https://renderman.pixar.com/resources/RenderMan_20/shadingLanguage.htmlCategory: graphics*/function rsl(hljs) {  return {    name: 'RenderMan RSL',    keywords: {      keyword:        'float color point normal vector matrix while for if do return else break extern continue',      built_in:        'abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise ' +        'clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp ' +        'faceforward filterstep floor format fresnel incident length lightsource log match ' +        'max min mod noise normalize ntransform opposite option phong pnoise pow printf ' +        'ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp ' +        'setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan ' +        'texture textureinfo trace transform vtransform xcomp ycomp zcomp'    },    illegal: '</',    contains: [      hljs.C_LINE_COMMENT_MODE,      hljs.C_BLOCK_COMMENT_MODE,      hljs.QUOTE_STRING_MODE,      hljs.APOS_STRING_MODE,      hljs.C_NUMBER_MODE,      {        className: 'meta',        begin: '#',        end: '$'      },      {        className: 'class',        beginKeywords: 'surface displacement light volume imager',        end: '\\('      },      {        beginKeywords: 'illuminate illuminance gather',        end: '\\('      }    ]  };}module.exports = rsl;
 |