【问题标题】:Is programming a voxel based graphics API theoretically possible?理论上可以编程基于体素的图形 API 吗?
【发布时间】:2020-05-21 17:25:58
【问题描述】:

这完全是一个理论上的问题,因为我知道做这样的事情所花费的时间是荒谬的

我最近一直在使用“体素”,我可以将它们显示给用户的唯一方法是对可见表面进行三角测量或制作 CPU 光线追踪器,但两者都有自己的问题。

简单地说,如果我们消除体素网格所需的存储空间并针对非常特定的 GPU,那么想要创建像 OpenGL 这样的图形 API 但具有不需要转换的“真正”体素基元的人会是能够做出这样的事情还是 GPU 是专为三角形设计的,无法引入新的基本图元?

【问题讨论】:

  • 显然理论上可以为几乎任何东西构建硬件+软件。如果您正在谈论现有硬件上的新软件,那么 IDK。现代 GPU 的大多数可编程部分都非常灵活,但可能有一些围绕三角形设计的固定功能硬件。

标签: api assembly graphics 3d theory


【解决方案1】:

这是可能的,已经做过很多次了

  • Minecraft、SpaceEngineers 等游戏......
  • 3D 打印工具和切片机
  • MRI/PET 扫描工具

是的,您提到的两种基本方法可以在 GPU 上进行渲染。游戏通常使用转换到边界表示 3D 几何。随着着色器的兴起,我现在甚至可以使用光线追踪器:

使用原生 OpenGL 架构并将几何图形作为 3D 纹理传递。为了获得速度,您需要添加 BVH 或类似的几何空间细分...

然而,基于体素的工具已经出现了相当长的一段时间。例如,许多等距游戏/引擎都是基于体素的(瓦片是体素),如下所示:

你还记得不明飞行物吗?它可以在 x286 上播放,并且也是基于“体素/平铺”的等距。

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多