DirectX游戏编程入门——第二一部分(游戏编程工具箱) ——3D渲染基础

DirectX游戏编程入门——第二部分(游戏编程工具箱) ——3D渲染基础本系列文章由 net_assassin 整理编写,转载请

DirectX游戏编程入门——第二部分(游戏编程工具箱) ——3D渲染基础

        本系列文章由 net_assassin 整理编写,转载请注明出处。

http://blog.csdn.net/net_assassin/article/category/1100363


作者:net_assassin    邮箱: net_assassin@hotmail.com    期待着与志同道合的朋友们相互交流



3D编程介绍如今,每个人都有一块3D加速的视频卡,这早已是定论。3D编程的关键组成部分在Direct3D中渲染一个场景,有三个关键组成部分:
    世界变换    在“世界”中移动3D对象,“世界”这个词描述的是整个场景。换句话说,世界变化导致场景中的物体移动、旋转和缩放(一次一个对象)。试图变换    打个比方说,这是照相机,它定义用户在屏幕上所看到的内容。这个照相机可以放置在“世界”中的任何地方。如果想移动照相机,只需进行视图变换即可。投影变换    这是最后一步,在这里将视图变换的结果(照相机看到的对象)绘制到屏幕上,形成由像素组成的平面2D图像。投影确定已渲染的场景上样子(无论定义的屏                        幕纵横比如何影响输出)。
3D场景
    顶点     为视频卡增加性能的高级3D图形芯片看到的只有顶点。视频卡本身实际上只看形成每个三角形的三个角的顶点。填充由这三个顶点所形成的空三角形是视频卡的工                作。
顶点缓冲区顶点缓冲区其实只是偶们储存组成多边形的点的地方,从而Direct3D可以绘制多边形。在程序中,只要需要,从技术上说可以有许多顶点缓冲区-每个三角形一个。为了清除的描述,安排每个对象都有其自己的顶点缓冲区,然后就此来介绍获得屏幕上的3D对象的方法。由于本章内容是以四边形(由两个排成一条的三角形组成)的概念为基础的,所以为场景中的每个四边形都创建一个顶点缓冲区,以帮助大家理解这里的内容。让每个四边形都有一个顶点缓冲区可以清楚明白地说明渲染四边形时所发生的一切。
强大的3D引擎也使用所谓的纹理缓存,以便共享同一纹理的多边形重用它们。因为3D卡一次只能“使用”一个纹理,然后再场景中任何需要这一纹理的多边形上使用这个纹理,接下来再处理下一个纹理,这样的做法会更有效率。
创建顶点缓冲区首先必须为顶点缓冲区定义一个变量:LPDIRECT3DVERTEXBUFFER9   buffer;
通过CreateVertexBuffer函数来创建顶点缓冲区