Graphics 如何对3D纹理OBB进行体素化和填充?

Graphics 如何对3D纹理OBB进行体素化和填充?,graphics,collision-detection,linear-interpolation,voxel,rasterizing,Graphics,Collision Detection,Linear Interpolation,Voxel,Rasterizing,我有一组Minecraft块,每个块我都想要一个包含体素化Minecraft块的体积(任意大小) 一个布雷艇区块不仅仅是一个填满整个区块的AABB。它通常是一组可以平移/缩放/旋转(OBB)的子AABB,并且每个人脸都有不同的颜色/纹理。下面是一个例子: 我已经开发了一个名为ModelVoxelizer的类,它接受一个3D三角形模型并给出它的体素化,并使用OpenGL图形管道来实现。问题是,它只在体积上设置模型的轮廓体素。相反,我希望Minecraft块体素化在内部填充 通过对构成上述Min

我有一组Minecraft块,每个块我都想要一个包含体素化Minecraft块的体积(任意大小)

一个布雷艇区块不仅仅是一个填满整个区块的AABB。它通常是一组可以平移/缩放/旋转(OBB)的子AABB,并且每个人脸都有不同的颜色/纹理。下面是一个例子:

我已经开发了一个名为ModelVoxelizer的类,它接受一个3D三角形模型并给出它的体素化,并使用OpenGL图形管道来实现。问题是,它只在体积上设置模型的轮廓体素。相反,我希望Minecraft块体素化在内部填充

通过对构成上述Minecraft块的3个OBB(我并不总是有AABB!)进行体素化,我将(希望)从当前的
ModelVoxelizer
中获得一部分体积

我想要的卷的一部分(基本上是上面的一部分,但已填充)。内部的体素应具有从纹理面平均的颜色

问题:

所以我的问题是一个光栅化问题,我有体积(3D网格)和OBB(Minecraft块的一部分),我必须检查OBB内的体素。对于那些内部/碰撞的,我必须根据体素与所述面之间的距离,插值OBB(纹理/颜色)面的值

这是一个已知的问题吗?我想重新发明轮子吗


我很感激你提出的任何建议,谢谢。

我不知道你为什么不按照你说的做:找到OBB内的体素,并根据距离插值面值。我遗漏了什么吗?你能更具体地说明实际的问题(即你被困的地方)吗?您已经指定了解决问题的必要步骤,这些步骤是可以实现的。@EvilTak我很高兴听到这样的消息。这正是我的问题,我不确定我的道路是否正确,是否有更好的方法。对不起,如果我不清楚的话。@Tau-mine实际上不是一个问题,我对如何解决它有一个想法,但我不确定是否有更好、最聪明的方法来三维插值这些体素。这个链接真的很有用,谢谢!我不知道你为什么不按照你说的做:找到OBB内部的体素,然后根据距离插值面值。我遗漏了什么吗?你能更具体地说明实际的问题(即你被困的地方)吗?您已经指定了解决问题的必要步骤,这些步骤是可以实现的。@EvilTak我很高兴听到这样的消息。这正是我的问题,我不确定我的道路是否正确,是否有更好的方法。对不起,如果我不清楚的话。@Tau-mine实际上不是一个问题,我对如何解决它有一个想法,但我不确定是否有更好、最聪明的方法来三维插值这些体素。这个链接真的很有用,谢谢!