rendering - 'physically-based' 光照/渲染/ Material 是什么?

标签 rendering lighting pbr

基于物理的光照、基于物理的渲染和基于物理的 Material 之间有什么区别?它们与延迟渲染和前向渲染有何不同?电影中使用基于物理的渲染,游戏中使用延迟渲染?

最佳答案

“基于物理的渲染”(PBR)、“基于物理的 Material ”和“基于物理的着色”似乎是相同的一般概念的不同名称,即创建带有着色的 Material ,使它们看起来更美观渲染时“真实”或基于物理。

PBR 可用于电影(离线渲染系统,Pixar has a paper)和游戏(实时:UnityUnreal 有文档)。也可以在 WebGL 中完成,查看 Marmoset 的 PBR-enabled WebGL Viewer ,找到相机镜头的图片,然后尝试旋转它。另一个 WebGL 示例可以在 OpenSceneGraphJS's PBR Demo 中找到。 .

不同的 PBR 实现具有不同的参数,但大多数都围绕一个概念,即指定特定 Material 的“金属性”和“粗糙度”,并允许渲染引擎确保该 Material 不会反射光线不切实际的方式,或者反射的光比接收到的光多等。例如:

Samples of PBR roughness and metallic-ness

此示例是上面 OSGJS 演示的屏幕截图的组合,并显示具有不同程度的金属和粗糙度的单一基色。这个想法是,艺术家可以根据 Material 甚至纹理像素改变这些参数,而不会在光照方面出现违反物理定律的结果。这被认为比更传统的渲染技术更好,在传统渲染技术中,您可以创建即使在低光照条件下也会使对象过度曝光的镜面高光。

免责声明,我自己仍在学习 PBR。我最近做了很多阅读,希望能够为当前正在进行的add PBR to the glTF 3D model spec的努力做出贡献。 。 Khronos(OpenGL 和 WebGL 背后的标准组织)正在创建一种开放标准 3D 模型交付格式,最终将支持 PBR,并可以将 PBR Material 传送到 Web、移动和桌面上的各种渲染引擎。但是,目前其中的 PBR 部分仍然是扩展草案(截至撰写本文时),仍在未来一段时间内开发。

我不是延迟/前向渲染专家,也许其他人可以补充其中的差异。与此同时,我建议阅读更多有关狨猴的信息 theory of PBR ,和PBR in practice 。祝你好运。

关于rendering - 'physically-based' 光照/渲染/ Material 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28578162/

相关文章:

opengl - GLSL聚光灯投影体积

opengl - 使用 GLSL 着色器 + 光照/法线

Aframe 1.0.4 - 设置 scene.environment 不更新 Material

reflection - BRDF 通常是如何实现的?

java - 为源服务器列出具有 UNC 路径的文件时 UI 缓慢且无响应

opengl - PyOpenGL:glVertexPointer()偏移问题

windows - 大写字母 "S"在 Windows 浏览器中突然出现缩进 - 为什么?

iOS SceneKit NEON 发光

opengl - 如何计算 PBR 中的镜面反射贡献?

html - Internet Explorer 中的 CSS 框