Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

49 lines
1.6 KiB

/*
Language: RenderMan RSL
Author: Konstantin Evdokimenko <qewerty@gmail.com>
Contributors: Shuen-Huei Guan <drake.guan@gmail.com>
Website: https://renderman.pixar.com/resources/RenderMan_20/shadingLanguage.html
Category: 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;