【Visual C++】游戏开发笔记二十九 一步一步教你用优雅.pdf
上传人:qw****27 上传时间:2024-09-11 格式:PDF 页数:16 大小:333KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

【Visual C++】游戏开发笔记二十九 一步一步教你用优雅.pdf

【VisualC++】游戏开发笔记二十九一步一步教你用优雅.pdf

预览

免费试读已结束,剩余 6 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

【C++游戏编程】游戏开发梦想的集散地—毛星云(浅墨)的专栏愿尽以绵薄之力,薪火相传游戏开发的信仰与梦想,复兴国产单机游戏。【VisualC++】游戏开发笔记二十九一步一步教你用优雅的Direct3D11代码画一个三角形分类:【DirectX】【VisualC++】游戏开发2012-07-2313:3715942人阅读评论(43)收藏举报direct3dc++游戏bufferfloat图形本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7774929作者:毛星云邮箱:happylifemxy@163.com这个demo演示的效果是用Direct3D11在屏幕上渲染一个三角形,当然是通过这个demo进一步巩固和学习Direct3D11,而不是单单为了画一个三角形这么简单。正如之前所说,这个demo是建立在笔记二十八中讲解的D3DBlankWindowsDemo之上的。那么,我们就开门见山,直入正题吧。朏丰刱竫鞑衮祀缜诗準仩砇旼刀玶二℃旦泛觩枖皊夜郮第叽№皊丆紁初锟诵﹦迟鄃昵lib庙斍仼沧渁劦逦或皊﹦迟層五戗仲皊DirectX11皊弆受玵墉沧朏酓罴妃~兽余酓罴斿泛叵仫又耉ソVisualC++渾戕弆受笚讶ゾ紁初笲25篍斍竦ⅹ【VisualC++】游戏开发笔记二十五最简化的DirectX11开发环境的配置钎寿卛丰皊稑底皊诣﹦乥叵仫圮仩砇弆夺#include诳叫陊迗侅甮pragma诳叫杫渁劦庙斍仼皊~钎寿迟丰DirectX11demo皊诣﹦圮仩砇弆夺渁劦仫丑処叫尷妃二ⅹ#pragmacomment(lib,"dxerr.lib")#pragmacomment(lib,"d3d11.lib")#pragmacomment(lib,"d3dx11.lib")#pragmacomment(lib,"d3dcompiler.lib")……………………测墮五2012幺11朎06旫一、载入几何体我们知道,为了渲染几何图形,我们需要一个顶点缓存,一个描述顶点布局的输入层,以及一系列的着色器,自DirectX10以来,着色器开始作为图形渲染的基础组成部分,在这个demo之中我们会指定顶点着色器与像素着色器,渲染一种简单的纯色表面。后面我们将延伸的讲解如何拓展使用这种效果来在表面映射图形纹理。下面就开始进行这个demo的书写:这个demo的核心内容当然是一个叫做TriangleDemo的类,我们为这个类定义几个成员变量,他们分别是ID3D11VertexShader类型的取名为solidColorVS_的变量,一个ID3D11PixelShader类型的唤作solidColorPS的变量。一个ID3D11InputLayout类型的唤作inputLayout_的变量,以及一个ID3D11Buffer类型的叫做vertexBuffer_的变量。下面就是TriangleDemo.h头文件的源代码,简单的勾勒出了本文主角TriangleDemo类的轮廓:代码段一TriangleDemo.h头文件1#include"Dx11DemoBase.h"classTriangleDemo:publicDx11DemoBase{public:TriangleDemo();virtual~TriangleDemo();boolLoadContent();voidUnloadContent();voidUpdate(floatdt);voidRender();private:ID3D11VertexShader*solidColorVS_;ID3D11PixelShader*solidColorPS_;ID3D11InputLayout*inputLayout_;ID3D11Buffer*vertexBuffer_;};顶点我们采用一个简单的三分量式的浮点型结构体,在XNAMathlibrary中一个叫做XMFLOAT3的结构体可以胜任这项殊荣。接下来,开始丰富我们的TriangleDemo类,我们在代码段二中书写顶点结构体VertexPos和TriangleDemo的类的构造函数以及析构函数代码段二TriangleDemo顶点结构体,构造函数和析构函数.#include"TriangleDemo.h"#include<xnamath.h>structVertexPos{XMFLOAT3pos;};TriangleDemo::TriangleDemo(