Arnold(C4DToA)阿诺德渲染教程(104):Open Shading Language (OSL) 开发你的第一个Arnold着色器节点

Arnold(C4DtoA) Mr.R 1年前 (2018-08-16) 3590次浏览 已收录 79个评论 扫描二维码

开发你的第一个Arnold着色器,我们在之前的文章“Open Shading Language (OSL) 开放的着色器语言”中已经对OSL语言有了一个初步的了解,那么Arnold渲染器的强大和可玩性,已经为我们带来了无限可能,那么OSL的出现,让这种无限可能成真。

一说起开发编程之类的话题,很多小伙伴就赶脚一脸懵逼,当然这也并不是每个学渲染器的必修课,在这里也只是抛砖引玉,对于此有兴趣的小伙伴,可以了解下。

从官方文档来看,Arnold支持C++、Python语言开发,那么OSL语言是索尼旗下Imageworks公司开发的,它很适合支持光线追踪和全局光照的物理渲染器,这货不就是为Arnold开发的么…OSL最大的特性就是轻量化、简单、不用学习过于复杂的语言姿势…

那么今天就来开发我们的第一个OSL着色器,来了解下OSL的基本结构和用法;
Arnold(C4DToA)阿诺德渲染教程(104):Open Shading Language (OSL) 开发你的第一个Arnold着色器节点 - R站|学习使我快乐! - 1

完整代码:

//你的第一个Arnold漫射颜色着色器节点
surface RShader (
 color inputColor = color(1),
 output closure color Rcolor = diffuse(N)
 )
{
   Rcolor = inputColor * diffuse(N);
}

使用方法:
1、将上面代码保存为RShader .osl文件;
2、丢到x:\Program Files\MAXON\Cinema 4D R19\plugins\C4DtoA\shaders里面;
3、重启C4D,打开Arnold节点编辑器,在左侧找到RShader节点。

语句注释:

注意:本段内容须成功“回复本文”后“刷新本页”方可查看!

由此可见,OSL的语言设计非常简洁高效,短短4段语句就开发出了类似Arnold漫射颜色的着色器。好吧,从此以后你又多了一个称号,会开发着色器的渲染师,emmm~

OSL和其他着色器不同,也就是我们没有确切的去定义对象表面的样子,而是,我们去告诉着色器节点,如何计算表面的样子,通过自定义函数、算法,结合影响表面的内置函数、功能等…OSL基本上通过闭包函数,我们告诉它如何计算表面效果,从而导致高效运行。当然OSL目前只支持闭包纹理颜色,听起来很复杂,但对于有一些编程的基础,基本上应该问题不大…


QQ㊀群: 240424174;QQ㊁群: 749250816;QQ㊂群: 542382043;
㊄群: 860166303;⑥群: 738134262 ⑦群 750397184
常见问题:1、文件解压请使用Winrar5.5版本以上解压;
2、视频播放有声音无画面,请了解下PotPlayer播放器;
3、回复仍不可见隐藏内容,请使用邮箱注册登录;
R大技术站 , 版权所有,如未注明 , 均为原创,如需转载请注明来源!
喜欢 (2)
[itdiy@qq.com]
分享 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
(79)个小伙伴在吐槽
  1. 666666
    zkb2019-12-04 23:17 (17小时前)回复 Windows 10 | Chrome 77.0.3865.90
  2. 666666
    xiaopzhai2019-11-28 03:46 回复 Windows 10 | Chrome 77.0.3865.90
  3. 感谢分享
    sly2019-11-16 18:40 回复 Windows 10 | Chrome 76.0.3809.132
  4. 学习使我快乐
    zxytc0072019-11-04 16:39 回复 Windows 7 | Chrome 70.0.3538.25
1 2 3 4