如何在C++中初始化DirectX 9中圆锥体的顶点缓冲区和索引缓冲区?
发布于 2009-12-15 09:15:54
嗯,这相当容易。
圆锥体的一端只有一个点。
在另一端你有一个圆圈。显然,圆圈中的点越多,它看起来就越圆。
您可以使用以下命令绘制圆
x = r * cos( theta );
y = r * sin( theta );
要做任何三角形,你可以通过塞上θ和θ加上一些小epsilon来做(2Pi / 60将给你圆锥体底部周围的60个点)。你的最终坐标是顶部的1。将3个索引的每一组放入索引缓冲区,你就可以开始了。
发布于 2009-12-17 07:31:11
为什么不使用第二个半径为1左右的D3DXCreateCylinder函数呢?这样你就可以得到带有顶点和索引缓冲区的网格对象。从那里提取应该是一项简单的工作。
附注:我更喜欢使用建模工具,但如果您需要通过编程获得所有这些,这是最快的方法。
发布于 2009-12-15 02:26:04
大多数专业人士使用CAD工具绘制它,这些工具能够将网格保存为DX可以理解的格式。
https://stackoverflow.com/questions/1904846
复制