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. 这样太强了吧

  2. 6666

  3. 6666666666666666666

  4. 6666

  5. 666666666

  6. 11111111111

  7. 1111

  8. 1111

  9. 6666

  10. 666

  11. 6666666

  12. 66666666

有新私信 私信列表
搜索