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

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

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


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


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


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


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


通过示例程序,对DirectX有些了解,接下来需要用实际的小功能来熟悉绘制图像的原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值