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 的基本结构和用法;
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 目前只支持闭包纹理颜色,听起来很复杂,但对于有一些编程的基础,基本上应该问题不大...

Arnold(C4DtoA)

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

2018-8-14 13:45:33

Arnold(C4DtoA)

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

2018-9-13 16:03:31

101 条回复 A文章作者 M管理员
  1. 6666666666666

  2. 66666666

  3. 666

  4. 66666666

  5. 66666

  6. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  7. 6阿

  8. 我是来看新鲜的。,

  9. 0

  10. 谢谢!!

搜索