【问题标题】:SceneKit SCNProgram for a Billboard Shader in Metal用于金属广告牌着色器的 SceneKit SCNProgram
【发布时间】:2019-12-27 14:06:39
【问题描述】:

我正在寻找可以与 SceneKit 一起使用的广告牌纹理着色器示例。

我有一个需要渲染的小红点景观。圆点都需要正对着镜头。

使用 SceneKit,我成功地渲染了景观的几何图形,并为点制作了图案纹理。这看起来大致像所需的输出,但是,这些点不应该沿着风景的轮廓倾斜,它们都应该面向相机并且从任何角度观看时都是一个完美的圆形。

目前他们看起来像这样......

但是效果应该是这样的……

我已经联系了 Apple,他们建议用 Metal 编写一个广告牌着色器,并将其作为 SCNProgram 插入到我的 SceneKit 代码中。

这是一项艰巨的任务,因此如果有人在此之前做过类似的事情,那么查看代码会很有帮助。

【问题讨论】:

    标签: shader scenekit metal scnprogram


    【解决方案1】:

    我不清楚您当前的解决方案是如何工作的。 你有一个几何图形还是每个点都有一个几何图形?堡垒广告牌每个点需要一个几何图形。

    以下是可能的解决方案:

    1. 手动定位节点
    2. 使用SCNBillboardConstraint
    3. 这看起来很像点云,请参阅 SCNGeometryPrimitiveTypePointRendering Point Clouds

    【讨论】:

    • 我正在生成一个几何图形。代码基于本教程中的地形。 github.com/rogerboesch/SceneKitTutorial
    • 我尝试为每个点创建一个节点并手动定位它们以及在它们上使用 SCNBillboardConstraint。当我只有少量点时,这很有效,但是,我需要在 100 万个区域内绘制一些东西。有没有一种我可能会错过的大规模渲染类似内容的技术?
    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多