在 RealityKit 场景上应用着色器

问题描述 投票:0回答:2

有没有办法将全屏着色器应用于 RealityKit 场景(Swift/iOS)?

我知道我可以使用 SceneKit/ARSCNView 中的 SCNTechnique 来做到这一点,但我正在处理 ARView。

  • RealityKit 中是否有一种方法可以应用顶点/片段着色器?
  • 或者将渲染场景作为纹理获取的方法?

使用 ARSCNView,我可以应用着色器来运行场景的输出,就像: https://medium.com/ar-tips-and-tricks/arkit-theory-an-introduction-to-scntechniques- 710e024bc91e

但是使用 RealityKit,我正在处理一个没有 SCNTechnique 属性的 ARView

谢谢:-)

swift augmented-reality arkit realitykit
2个回答
3
投票

iOS RealityKit

在 iOS 版 RealityKit 中,您可以应用背景

color
/
image
、HDR
image based lighting
(IBL)。您可以通过 skybox(:_) 类型方法应用环境图像。

func skybox(_ resource: EnvironmentResource) -> ARView.Environment.Background

此静态方法使用

EnvironmentResource
类,其中包含场景的背景和照明数据。您可以在这里以及我在Medium上的故事中阅读相关内容。

此外,在 iOS 版 RealityKit 中,您可以应用顶点/片段着色器(通过 CustomMaterial)并获取渲染场景作为纹理(就像您在 SceneKit+Metal 中所做的那样)。


visionOS RealityKit

阅读这篇文章,向您展示如何在visionOS应用程序中启用环境照明。


0
投票

现在有一个完整的后期处理流程,包括 CIFilters、SpriteKit 或 Metal Performance 着色器。请参阅此演讲:https://developer.apple.com/videos/play/wwdc2021/10075/

© www.soinside.com 2019 - 2024. All rights reserved.