体素...老实说,我需要知道从哪里开始

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

好吧,我知道体素基本上只是像素的体积版本。

在那之后,我不知道该寻找什么。

谷歌搜索没有显示任何教程,我在任何地方都找不到关于它的书,我什至找不到任何与体素真正是什么的基本概念有关的东西。

我了解很多 C++ 库,并且了解 OpenGL 的基础知识。

有人能指出我正确的方向吗?

编辑:我想我只是对如何实现它们感到困惑?抱歉,我很痛苦,只是我找不到任何可以轻松关联的东西......我想我正在想象一个体素与一个可以实际存储数据的向量相关。

体素可以表示为任何 3D 形状?例如,假设我希望形状是圆柱体。这是可能的,还是它们必须像立方体一样链接?

c++ opengl gpu raycasting voxel
6个回答
9
投票

Minecraft 是使用体素的一个很好的例子。在《我的世界》中,每个体素都是一个立方体。

要查看 C++ 示例,您可以查看 Minecraft 克隆版 Minetest-c55。这是开源的,因此您可以阅读所有源代码以了解它是如何完成的。

体素并不要求是立方体。它们可以是金字塔或任何其他可以组合在一起的形状。


6
投票

我怀疑您正在寻找有关“体积渲染”技术的信息(因为您提到了体素和 OpenGL)。您可以在 C++ 中找到大量简单的渲染代码,以及更高级的 OpenGL 着色器,只需对该术语进行一些搜索即可。


4
投票

体素与基于多边形的 3D 渲染并不真正兼容,但它们广泛应用于图像分析、医学成像、计算机视觉...


4
投票
让我们在

Google 协作平台上制作一个体素引擎可能会帮助人们开始创建基于体素的引擎:

https://sites.google.com/site/letsmakeavoxelengine/

除此之外,

Youtube

上还有值得查看的结果演示:

http://www.youtube.com/watch?v=nH_bHqury9Q&list=PL3899B2CEE4CD4687


1
投票

就像在图像中一样,其中像素包含一些标量值(灰度)或值向量(就像在彩色图像中,其中向量是红色、绿色和蓝色分量,或色调、饱和度和值分量)体素的条目可以具有一定的比例或值向量。

包含体素的体积图像的一些自然示例是 3D 医学图像,例如 CT、MRI、3D 超声等。

从数学上来说,3D 图像是从某些体素空间到某些数字集的函数。


1
投票
http://www.html5code.com/gallery/voxel-rain/

或编写自己的代码。是的,体素可以简化为 3D 坐标(可以通过它在文件结构中的位置来暗示)和图形表示,可以是任何东西(立方体、球体、图片、颜色...)。就像像素是带有颜色索引的 2D 坐标一样。 您只需要解析您的文件并渲染相应的体素。遗憾的是,尽管 voxlaps 文件格式看起来相当简洁,但没有“正确”的文件格式。

祝你好运

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