在webgl(xtk)中为卷绘制轮廓

时间:2012-06-18 11:48:49

标签: webgl xtk

我希望实现用户可以浏览卷的切片,但为了保证更多的方向,我想绘制一个代表卷的尺寸的立方体的轮廓。

我认为我需要做的事情:

1)获取卷的尺寸

2)开始从例如[0,0,0]到[0,1,0]从[0,1,0]到[1,1,0]和从[1,1,0]到[1,0,0]并返回再次[0,0,0]等等......

有一种简单的方法在xtk中画一条线吗?喜欢使用像sphere-constructor here这样的东西?

示例(黑色轮廓):

cube

提前致谢

1 个答案:

答案 0 :(得分:1)

X.slice中,我们像这样创建当前切片的边框。

var borders = new X.object();
borders._points.add(point0.x, point0.y, point0.z); // 0
borders._points.add(point1.x, point1.y, point1.z); // 1
borders._points.add(point1.x, point1.y, point1.z); // 1
borders._points.add(point4.x, point4.y, point4.z); // 4
borders._points.add(point4.x, point4.y, point4.z); // 4
borders._points.add(point2.x, point2.y, point2.z); // 2
borders._points.add(point2.x, point2.y, point2.z); // 2
borders._points.add(point0.x, point0.y, point0.z); // 0
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._normals.add(0, 0, 0);
borders._color = [1, 0, 0];

# set the drawing type to lines
borders._type = X.displayable.types.LINES;

borders._linewidth = 2;

这是内部使用的一个示例,但应该可以对公共API执行相同的操作。

啊我只是看到type getter / setter尚未存在。我们需要创建它以便在外部设置类型。所以我刚刚为https://github.com/xtk/X/issues/62

创建了一个问题

随意贡献:)应该很容易:)