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

本文索引

前言

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

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

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

那么今天就来开发我们的第一个 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 节点。
PS:新版 Arnold 增加了 OSL 节点,可以直接使用。

代码解析

隐藏内容,您需要满足以下条件方可查看
End

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

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

相关推荐

【R站译制】中文字幕 《Arnold6阿诺德渲染器终极指南》The Ultimate Introduction to Arnold 6 for Cinema 4D 视频教程 强烈推荐!!!

Arnold 教科书级百科全书 通过本教程你可以学习到:Arnold6 的工作流程、全面采样设置及注意事项、光线深度设置、全面的灯光使用、Arnold 天空、室内照明、HDRI

【R站翻译】中文字幕 C4D《Arnold(C4DtoA)阿诺德真实材质渲染宝典》高端视频教程(含工程) Developing Realistic shaders in Arnold for Cinema 4D 强烈推荐

Arnold 真实材质经典案例 相信很多小伙伴已经了解过这套教程,应该是目前市面上最好的 Arnold 渲染器节点系统教程,真实渲染什么的,你与大神之间,或许只缺一部

Arnold(C4DtoA)

Arnold(C4DToA)阿诺德渲染教程(103):关于渲染优化提速的 一些技巧和设置 必备姿势

2018-8-14 13:45:33

Arnold(C4DtoA)

Arnold(C4DToA)阿诺德渲染教程(105):细胞噪波节点 Cell Nosie

2018-9-13 16:03:31

179 条回复 A文章作者 M管理员
  1. 6666666666666666

  2. 1111

    倒萨倒萨倒萨

  3. 66666

  4. 66666666

  5. 666

  6. 6

  7. 谢谢

  8. 啊啊啊

  9. 6666

  10. 66666666666666666

  11. 66666666666666666

  12. 666666

  13. 这东西对新手真不友好。

  14. 一脸懵逼

  15. 一脸懵逼

有新私信 私信列表
搜索