用于 SceneKit 内容的正确法线贴图格式 - DirectX 还是 OpenGL?

Posted

技术标签:

【中文标题】用于 SceneKit 内容的正确法线贴图格式 - DirectX 还是 OpenGL?【英文标题】:Correct Normal Map format to use for SceneKit content - DirectX or OpenGL? 【发布时间】:2021-02-19 09:52:15 【问题描述】:

我想知道,对于 ios,哪种格式的法线贴图最适合在 SceneKit 内容中使用?此处引用:DirectX vs. OpenGL normal maps。

OpenGL 还是 DirectX?还是没关系?

【问题讨论】:

"此处引用:DirectX 与 OpenGL 法线贴图。" 该图像来自哪里,它指的是什么? OpenGL 和 D3D 没有定义“法线贴图格式”。 有时,当 iEx 购买模型时,下载中有两个版本的法线贴图(DX 和 GL)。在 SceneKit 中使用基于物理的光照模型时,要使用哪一个贴图? - 图片来自这里:blender.stackexchange.com/questions/100017/… 如果你使用别人的着色器,那么你应该使用他们所说的法线贴图的“格式”。查看他们的文档,看看他们期望地图中的法线所在的坐标系。 一般你可以通过翻转绿色/Y通道值来反转它们。 我已经在 Photoshop 中完成了这项工作 - 但我仍然不知道哪一张是正确的地图。查看参考图像(来自我的问题)并假设我在场景中有一架飞机,我希望在其上在中间有一个想象的但可见的凸起。哪个法线贴图会给我准确的渲染结果。 OpenGL 还是 DirectX 版本?在 iOS 设备上使用 SceneKit,启用基于物理的光照模型(最终效果中将使用 Metal)。 【参考方案1】:

我必须通过在飞机上并排测试 OpenGL 与 DirectX 法线贴图 Typus 来解决这个问题。这给了我以下结果:

这意味着,如果您可以在 OpenGL 或 DirectX 法线贴图之间进行选择,您最好选择 OpenGL。

【讨论】:

以上是关于用于 SceneKit 内容的正确法线贴图格式 - DirectX 还是 OpenGL?的主要内容,如果未能解决你的问题,请参考以下文章

DAE文件解析错误

DAE 文件解析错误

关于法线贴图

ue4导入模型后法线贴图不正常,如图片显示?

SceneKit 球体法线似乎随着相机移动而改变?

法线贴图——Normal Mapping