Kinect for Windows SDK v2.0 开发笔记 (十四) 高清面部帧(5) 面部模型 3D



(转载请注明出处)

使用SDK: Kinect for Windows SDK v2.0 public preview1409

同前面,因为SDK未完成,不附上函数/方法/接口的超链接。


这次让我们跨上3D吧。

所用接口是Direct3D11,还没学过OpenGL.

不过, D3D11的内容不再本节内,毕竟光D3D11就可以讲几十节。


在编码前,我们总结一下:


顶点, Kinect对于一位追踪对象,可以实时提供1347个顶点(由GetFaceModelVertexCount获取),那么,这1k+个顶点

的拓扑结构是什么?三角链(TRIANGLELIST)?还是三角带(TRIANGLESTRIP)?不,这些顶点均是独立的,每个点对应面部的某个

位置。所以需要索引。


索引, Kinect对每个面部模型的1347个顶点提供了对应的2630个三角形(由GetFaceModelTriangleCount获取)即

7890个索引(数字也够巧的),也就是说平均每个顶点使用了近6次。获取索引缓存的函数是GetFaceModelTriangles

第一个参数是索引的数量(3倍于三角面的数量),目前就是7890,第二个参数自然就是索引缓存(CPU)了.


导出,我们需要支持导出.obj文本文件,这个格式的具体格式这里不说明,不过请注意,obj文件中索引从1开始


询问策略, 这次我们使用D3D11,新开线程自然使用轮询模式,不过,我们键入S键保存数据,但是消息处理与渲染不在

同一线程,所以应对公共数据使用互斥锁保证安全.


渲染策略 D2D与D3D11在Win8上面可以完美交互,所以我们使用D2D渲染2D,使用D3D渲染3D,但是请注意

D2D与D3D的切换会造成

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值