自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

miffi的专栏

找个地方记录我的脚印

  • 博客(13)
  • 收藏
  • 关注

原创 龙书笔记(13)

chap 13 地形绘制基础//主要是创建一个 地形类 (Terrain)1.高度图其实是一个数组,每个元素都指定了地形方格中某一顶点的高度值,每个元素只分配了1个字节的存储空间,当加载到程序时,重新分配 浮点型 或 整型 数据来存储这些高度值,高度图的图形表示有很多,比如:灰度图,地形中某点海拔越高,相应点在灰度图中的亮度越大(1)创建高度图用photoshop完成是

2014-04-22 09:50:12 886

原创 龙书笔记(12)

chap 12 设计一个灵活的Camera类//主要是创建一个相机类 (Camera)1.Camera类的设计右向量(right vector) 上向量(up vector) 观察向量(look vector) 位置向量(position vector)描述摄像机相对于世界坐标系的位置和朝向,这4个向量描述的摄像机可以进行6中变换(1) 绕right向量旋转,俯仰p

2014-04-21 16:45:04 774

原创 龙书笔记(11)

chap 11 网格(后篇)这次涉及的内容wei如何将x文件中的数据加载到id3dxmesh对象中如何使用渐近网格接口id3dxpmesh如何使用d3dx创建外接体1.ID3DXBuffer这是一个泛型数据结构,在使用的时候转换成自己需要使用的特定类型。ID3DXBuffer接口只有两个方法:GetBufferPointer();//返回指向缓存中数据起

2014-04-17 20:36:13 883

原创 龙书笔记(10)

chap 10 网格(前篇)以前是通过D3DXCreate*(比如茶壶、圆柱体什么的)函数了解一些ID3DXMesh接口,其实 ID3DXMesh 继承了其父类 ID3DXBaseMesh 的大部分功能,还有一些也继承自 ID3DXBaseMesh 的网格类,比如 ID3DXPMesh(渐进网格)也拥有ID3DXBaseMesh的很多功能//ID3DXMesh可以创建网格

2014-04-16 10:09:34 768

原创 龙书笔记(9)

chap 9 字体生成和输出文本的3种方式:ID3DXFont, CD3DFont, D3DXCreateText1.ID3DXFont接口能处理一些复杂的字体和格式,但是速度略慢//创建ID3DXFont对象D3DXFONT_DESC df;ZeroMemory(&df, sizeof(D3DXFONT_DESC));df.Height = 25;df.Wid

2014-04-15 21:29:52 867

原创 龙书笔记(8)

chap 8 模版(stencil)缓存功能:阻止后台缓存中某些特定区域的绘制1.模版缓存的使用启用和禁用模版缓存: Device->SetRenderState(D3DRS_STENCILENABLE, true); Device->SetRenderState(D3DRS_STENCILENABLE, false);清空模版缓存,此方法也能清空深度缓存和后

2014-04-14 22:17:50 773

原创 龙书笔记(7)

将当前要进行光栅化的像素的颜色 与 先前已光栅化并处于同一位置的像素的颜色 进行合成1.融合方程OutputPixel = Sourcepixel (*) SourceBlendFactor + DestPixel (*) DestBlendFactor融合结果   当前像素颜色值 源融合因子当前后台中的像素颜色值 目标融合因子这里的符号(*)表示逐个相乘,每个变量都是

2014-04-13 18:46:19 1025

原创 龙书笔记(6)

借助纹理映射,可以将 图像数据 映射到 三角形单元中。IDirect3D中用 IDirect3DTexture9 表示纹理接口(是一个类似表面的像素矩阵,与表面不同的是他可被映射到三角形单元中)1.纹理坐标纹理坐标系(纹理空间):由水平方向u轴 和 垂直方向v轴 组成,利用 坐标对(u,v)标识的纹理元素称为纹理元对于每个3D三角形单元,都可以在纹理中定义一个相对应的三角形区域

2014-04-12 14:08:51 781

原创 龙书笔记(5)

1.颜色表示: RGB数据可用2种不同的结构表示:1. D3DCOLOReg: D3DCOLOR brightRed = D3DCOLOR_ARGB(255, 255, 0, 0);//四个参数的顺序是(Alpha,r,g,b)2. D3DCOLORVALUE/D3DXCOLOR,后者更为方便(是对象,前者是结构),因为他提供了很多操作符,而且由于和前者的类型都一致,所以可以直接类

2014-04-11 08:50:20 974

原创 龙书笔记(4)

1.顶点缓存与索引缓存: 包含顶点数据的连续内存空间,包含索引数据的连续存储空间。不用数组的原因:顶点缓存和索引缓存存放在位置是 显存, 而数组是放在 内存中,在绘制速度方面是 显存的速度更快创建顶点缓存 和 索引缓存:HRESULT IDirect3DDevice9::CreateVertexBuffer(UINT Length, //为缓存分配的字节数,比如sizeof(V

2014-04-10 09:11:32 811

原创 龙书笔记(3)

chap 3 绘制流水线应用一个变换矩阵的方法是使用 IDirect3DDevice9->SetTransform 方法,第一个参数是描述 变换的类型,另一个是描述 变换矩阵。1.局部坐标系局部坐标系的优势在于 简化建模过程,这意味着无需考虑 位置、大小或相对于场景中其他物体的朝向。2.世界坐标系位于 局部坐标系的物体 通过一个称为 世界变换 的运算转换到 世界

2014-04-09 09:11:15 932

原创 龙书笔记(2)

1. D3DDEVTYPE_HAL: HAL设备; D3DDEVTYPE_REF: REF设备2.COM(组件对象模型),不可使用new关键字去创建COM接口, 调用完毕后使用 Release 方法释放注意:COM接口都有一个前缀 I ,比如,表示表面的COM接口为 IDirect3DSurface9, 这是一些其它接口:IDirect3DDevice9 IDirect3D9...

2014-04-08 13:14:18 1376

原创 龙书笔记(1)

1.下载 DirectX 9.0 和 DirectX 9.0 SDK,前者的安装很简单,后者要记住安装的目录SDK/Documentation有chm的查阅工具SDK/Samples/C++ 有非常多的东西可以学习SDK/Lib/x86/ 是很多会用到的库,主要是d3d9.lib d3dx9.lib winmm.libSDK/Include 是要包含的头文件2.

2014-04-07 09:17:10 1162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除