转载于:https://blog.csdn.net/dustpg/article/details/37982311
嗯,它来了,Windows for Windows v2。
7月15日,Windows for Windows v2正式发售,带有一系列进步。不过在本人看来,最具有诱惑的还是提高了骨骼识别精度,也就预定了。Unity跨平台的支持算是非常不错的特点,不过因为一些原因只在Window上开发Kinect程序了
先是M$推迟了一天多发货,然后是顺丰不给力,愣是19日才拿到,坑爹啊。
好了,说下环境吧。嗯需要Win8,又坑爹啊。又把系统升级到Win8,至于硬件需求可以看微软美国官网,微软中国太坑了。
链接在这:点击这里
当然还需要安装SDK,SDK的地址在这:点击这里
看看名字: SDK 2.0 public preview
以微软的尿性,估计和开发者预览版的SDK只有名字上的区别
安装完SDK,正确连接好Kinect后会自动安装驱动,没有的话请重启试试。安装完了以后可以试试自带的例子。
试用了一下自带C++例子,关闭窗口后程序进程并未退出,微软你到底多有坑啊
好了,吐槽完了我们将正式进入SDK v2.0 公公预览版的学习笔记。
你将需要:
基本的C++知识,嗯,C++11的
略微的Windows C++程序知识(会用一些API与了解消息机制即可)
一个开发环境,当然建议微软的visual studio,本人使用的是VS Express 2013 for Desktop
最好需要:
会使用Direct2D接口
是的,在本笔记当中,2D可视化显示是使用的Direct2D,这一优秀的2D图形图像接口。
使用版本先是1.0(适用于Vista SP2以上,适合开发桌面应用程序),后面可能使用1.1版(适用于功能更新后的Win7及以上,适合游戏开发)。
在本会简单介绍一下Direct2D,您也可以选择OpenGL甚至OpenCV作为可视化显示接口,
可以到其他博客或者微软官网(点击这里)进行学习
Direct2D也是COM组建接口,使用前需要使用 CoInitialize或者CoInitializeEx初始化,不使用时用CoUninitialize反初始化。
需要注意的是这些函数需要在每个使用COM组件的线程中被调用。
使用Direct2D需要用D2D1CreateFactory创建一个D2D工厂,再使用这个工厂创建D2DRenderTarget(貌似叫渲染目标呈现器),
然后用这个RenderTarget干各种您想干的事。需注意的是D2D工厂创建的一般为设备无关资源,数据存储在主存中,
D2D RenderTarget则是创建的一般是设备相关资源,数据存储在显存中。
设备相关资源最蛋疼的是可能遇到设备丢失的情况,需要处理这个问题,不然什么都看不到了。
经本人测试,D2D 1.0在屏幕分辨率、刷新率改变,某程序切换独占全屏等情况会造成设备丢失。
而D2D 1.1版在显卡驱动程序崩溃的情况下(你到底怎么测试的)会丢失设备。
这样看来,可以说1.1版的鲁棒性好点
在最后,自己写了个D2D的模板,请放在 您的文档\Visual Studio 2013\Templates\ProjectTemplates\下面,
(本模板的代码有些是老代码,有问题请见谅。)
这样创建C++项目时可以看到该模板
对于本模板有疑问可以留言
- 本文已收录于以下专栏:
- Kinect for Windows SDK v2.0 开发笔记