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.
50 lines
1.6 KiB
50 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;
|