问题标签 [voxel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2902 浏览

java - 是否有用于使用体素引擎进行渲染的 java 库?

我感兴趣的是java中是否有库可以渲染基于体素的风景?一如既往地首选开源。

0 投票
2 回答
1792 浏览

3d - 给定一个八叉树体素,如何用光滑的表面进行渲染?

我注意到大多数 3d 体素模型的分辨率实际上都非常低,但随后通过某种插值进行了平滑渲染。

考虑到它的光线追踪,平滑渲染它的算法是什么?有人可以推荐一本关于这个主题的书吗?

0 投票
1 回答
1670 浏览

java - vtk java体素渲染

嗨,大家好,

有谁知道,为什么Java中的这段代码可以编译,但出现错误:

这是我从 C++ 代码中复制的 java 源代码:http: //permalink.gmane.org/gmane.comp.lib.vtk.user/35844

谢谢你的帮助!

大卫

0 投票
2 回答
4607 浏览

algorithm - 将 3D 模型转换为体素场

我需要编写一些代码来将四边形数组转换为体素字段。让它工作应该很容易,但让它变得快速不会那么微不足道。

有谁知道我可以使用的任何库或源代码?我敢肯定,以前一定有人这样做过。

编辑: 该算法也需要用体素填充模型内部。只是一个壳是不行的。

0 投票
5 回答
10069 浏览

c++ - OpenGL体素引擎慢

我正在用 C++ 和 OpenGL (à la Minecraft) 制作体素引擎,但在我的 3GHz 上使用 ATI X1600 无法获得不错的 fps……我完全没有想法。

当我在屏幕上有大约 12000 个立方体时,它会降到 20fps 以下 - 可悲。

到目前为止,我所做的优化是:截锥体剔除、背面剔除(通过 OpenGL 的 glEnable(GL_CULL_FACE)),引擎仅绘制可见面(当然剔除的面除外)并且它们位于八叉树中。

我试过 VBO,我不喜欢它们,它们并没有显着提高 fps。

Minecraft 的引擎怎么能这么快……我在 10000 个立方体上挣扎,而 Minecraft 可以轻松地以更高的 fps 绘制更多内容。

有任何想法吗?

0 投票
2 回答
3523 浏览

c# - 射线体素相交

我想测试射线与体素场的交集。

我可以通过计算与当前体素边缘的光线盒交点来天真地爬过体素场,然后对下一个体素做同样的事情,直到我碰到什么东西。但是没有更快的方法来追踪体素场吗?我在想一些类似于Bresenham 的3D 线算法的东西,它可以很快给我所有的单元格给定的线相交。以前有人做过吗?

由于某些限制以及这些光线追踪并不经常发生的事实,我不想构建八叉树或任何其他数据结构。

0 投票
1 回答
179 浏览

rendering - 平滑块

所以我希望在这里获得一些一般信息,但我不确定从哪里开始。我正在考虑探索实时地形变形(我指的是硬核变形,例如挖洞、洞穴和隧道,而不仅仅是高度图),我的想法是制作一个 3D 点数组,表示可以是实心的或不实心的立方体,并且可以删除或添加。我不是在寻找完美的地形曲率或高精度变形。但我想编写引擎,使立方体(实际上只是点,不是实际的多边形)平滑成类似于网格的东西(不是高度详细的网格)。其目的是地形的有限变形性既可以简化必要的算法,又有望降低所需的处理器功率。

基本上,我想制作类似于 Minecraft 的东西,但有一种视觉错觉,即世界不是由立方体构成的,而是由网格构成的。我只是想看看它是否可以完成,并制作一个简单的演示。但我不知道从哪里开始,以及程序员中可变形地形的当前状态。我发现了一些关于体素和体积渲染之类的文章,但我更愿意听取现场程序员的一些意见。你怎么看?

0 投票
2 回答
4391 浏览

opengl - 光线投射体素和 OpenGL

我目前正在研究光线投射和体素,这是一个很好的组合。Sebastian Scholz 的 Voxelrenderer 很好地实现了这一点,但也使用了 OpenGL。我想知道他的公式是如何工作的;如何将 OpenGL 与光线投射和体素一起使用?光线投射的想法不是为每个像素(或线条,即 Doom 中的线)投射光线,然后绘制结果吗?

0 投票
1 回答
12963 浏览

c# - 基本双轮廓理论

我一直在谷歌上搜索,但找不到任何基本的东西。在最基本的形式中,双轮廓(对于体素地形)是如何实现的?我知道它做什么,为什么,但不明白如何去做。JS或C#(最好)是好的。有没有人用过Dual contouring,可以简单解释一下吗?

0 投票
1 回答
3188 浏览

math - 寻找体素表面法线的方法

我正在研究一种方法来逼近 3d 体素图像表面的法线。

本文中建议的方法(我通过谷歌找到的唯一算法)似乎有效。论文中建议的方法是找到曲面变化最大的方向,使用一些程序在切平面上选择 2 个点,然后取叉积。文章作者 code 的一些Pascal 代码,用葡萄牙语注释,实现了这个方法。

但是,使用 f 的梯度(使用每个偏导数作为向量的一个分量)作为法线似乎效果很好;我在一个体素球体上沿着几个圆圈进行了测试,我得到的结果在大多数地方看起来都是正确的(有一些异常值偏离了大约 30 度)。这与论文中使用的方法有很大不同,但它仍然有效。我不明白的是为什么沿物体表面计算的 f = 1/dist 的梯度应该产生法线。

为什么这个程序有效?仅仅是球体测试过于特殊的事实吗?您能否提出一个更简单的方法,或解释其中任何一种方法?