如何将形状拉伸到体积

时间:2010-11-25 14:24:51

标签: java java-3d

我目前正在尝试在3D视图中显示一系列彼此略有不同的图像,其中包含许多透明区域(例如,在矩形内移动的点,我会提供3D查看所有位置随着时间的推移)。 我现在正在做的是生成一个带有绘制点的图像,每帧创建一个40x40x1的盒子(或40x40的矩形),将图像作为纹理应用到盒子的FRONT侧,然后添加盒子到位置(0,0,z)的场景,其中z是帧编号。 它工作得很好,但当然它们是图像之间的不连续性(1“米”)。

我想知道它们是否是一种基于该图像创建“拉伸”对象的方法,以填充平面之间的空间。这相当于为每个点创建一个1x1x1框,将它们放在(x,y,z)处,其中x / y是点的坐标,z是帧编号。实际问题是我有很多分数(在某些情况下有几百个,如果不是几千个),而且相对容易处理和使用图像进行渲染,如果我必须创建成千上万,我认为会变得非常沉重框。

先谢谢你的帮助,

弗雷德里克。

1 个答案:

答案 0 :(得分:0)

你可以使用3d textue和你的数据(40 x 40 x N)像素,N =帧数。

但你仍然需要在启用此纹理的情况下绘制一些东西。

我会做你现在正在做的事情 - 绘制四边形,但不仅沿着Z轴,而且沿着X和Y.

沿Z轴的N个四边形中的每一个将具有40x40的尺寸,沿X轴的40个四边形中的每一个将是40xN尺寸,并且沿着Y轴的每个40个四边形将是Nx40尺寸。

因此,对于2x2x2 textue,我们将绘制2 + 2 + 2 = 6个四边形,它看起来像普通立方体,对于3x3x3纹理点我们将绘制3 + 3 + 3个四边形,它看起来像8个立方体堆叠进入一个大的立方体(所以我们只绘制了9个四边形而不是8个立方体6个四边形,但效果相同)。

对于40x40x1000,它将是1080四边形(实时绘制是合理的),而不是40 * 40 * 1000 * 6四边形。

我只是不知道,如果图形效果正是你想要达到的目的。