我正在尝试将网格切成两半,或者至少能够实时删除其中的面。 我想知道如何去做这件事?
锁定顶点缓冲区,将选定的面或顶点 memset 为 0,对我不起作用。 有没有人对此有解决方案或教程,我真的希望在我的程序中使用此功能!
干杯
最佳答案
哦 - 那很简单。无需修改网格。 D3D 已经可以为您做到这一点!
通过IDirect3DDevice9::SetClipPlane
设置剪辑平面,然后通过D3DRS_CLIPPLANEENABLE
渲染状态启用平面。如果您愿意,您甚至可以同时设置多个剪辑平面..
这里是 msdn 条目的链接:http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/reference/d3d/interfaces/idirect3ddevice9/setclipplane.htm
如果您在“D3D SetClipPlane”上进行谷歌搜索,您会发现很多关于如何使用它的讨论和示例代码。
关于directx - 将网格切成两半 - DirectX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000266/