您的位置:首页 > 其它

Windows 8 Directx 开发学习笔记(四)示例程序小结

2012-10-29 08:26 507 查看
VS2012的示例程序包括了最基本的DirectX流程,涉及许多知识,所以看完代码之后还是感觉没有头绪,打算对整个过程再整理一下,方便进一步的学习。

正方体在空间中可以用它的8个顶点定义,而每个顶点可以包含除坐标外的信息,如颜色。设置好属性后,数据是以数组的形式存在内存中的。由于所有的数据都是浮点数,所有需要输入布局来控制读取数据,如下图。



使用输入布局能够区分出各个顶点,把这些顶点输入顶点着色器进行处理,相当于在DirectX的三维空间中绘制出8个顶点,如下图:



虽然顶点能够定义一个正方体,但是绘制正方体主要是绘制它的面。这8个顶点已经包括颜色信息,接下来需要利用这些信息绘制正方体的6个面。如果不进行说明的话,8个点可以绘制很多很多面,不一定能组成正方体,加上DirectX只能绘制三角形,所以需要一个索引数组对如何拼接进行说明。下图说明的是拼接+x面和-y面。通过指定索引,DirectX会绘制左边的正方体,而不是右边的两个交叉平面。



以上完成对虚拟三维空间中资源的定义,如何观察空间并将看到的内容投影到屏幕上还有一段路要走。首先就是定义眼睛(或者摄像机)的位置同时设置观察点和可视角度,模拟一个真实的眼睛,如下图。



既然是眼睛,就应该有视力,在DirectX里可以设置前后两个参考面,夹在两个面内的空间将会投影在屏幕上。最后还需要使用像素着色器进行处理,完成后这一帧图像才会真正显示。



通过示例程序,对DirectX有些了解,接下来需要用实际的小功能来熟悉绘制图像的原理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐