DirectX:如何初始化锥体的顶点缓冲区和索引缓冲区?

时间:2009-12-15 02:22:38

标签: c++ directx

如何在C ++中为DirectX 9中的锥形初始化顶点缓冲区和索引缓冲区?

3 个答案:

答案 0 :(得分:6)

嗯,这很容易。

圆锥在一端有一个点。

另一端你有一个圆圈。显然,你在这个圆圈中得到的点越多,它看起来就越圆。

您可以使用

绘制圆圈
x = r * cos( theta );
y = r * sin( theta );

要制作任何三角形,你可以通过插入theta和theta加上一些小的epsilon(2Pi / 60会在圆锥底部周围给你60个点)来做到这一点。你的最终坐标是最高坐标1.将3个指数的每一组塞进一个索引缓冲区,你就可以了。

答案 1 :(得分:2)

为什么不使用D3DXCreateCylinder功能,第二个半径为1左右? 这样您就可以获得具有顶点和索引缓冲区的Mesh对象。从中提取应该是轻松的工作。

P.S。我更喜欢使用建模工具,但如果你需要以编程方式获取它,这是最快的方法。

答案 2 :(得分:1)

大多数专业人士使用CAD工具绘制它,这些工具能够以DX可以理解的格式保存网格。