我正在尝试将网格切成两半,或者至少能够实时从中删除面。
我想知道如何去做?
锁定顶点缓冲区,将所选面或顶点设置为0,对我不起作用。
有任何人对此有解决方案或教程,我真的很想在我的程序中使用此功能!
干杯
最佳答案
哦-那很简单。无需修改网格。 D3D已经可以为您做到这一点!
通过IDirect3DDevice9::SetClipPlane
设置剪切平面,然后通过D3DRS_CLIPPLANEENABLE
渲染状态启用剪切平面。如果需要,您甚至可以同时设置多个剪切平面。
这是指向msdn-entry的链接:http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/reference/d3d/interfaces/idirect3ddevice9/setclipplane.htm
如果您在“ D3D SetClipPlane”上进行Google搜索,您会发现很多讨论和示例代码,以及如何使用它。