- 博客(11)
- 收藏
- 关注
原创 纹理
纹理的D3D重要组成部分,因为太多地方要用到它,所以专门记录一下使用纹理的各种方法。 创建纹理的方法有很多,比如: HRESULT D3DXCreateTexture HRESULT D3DXCreateTextureFromFile HRESULT D3DXCreateTextureFromFileEx HRESULT D3DXCreateTextureFromFileInMemory
2012-02-12 21:29:39 437
原创 D3D x文件结构
X文件是DirectX中存放mesh数据的文件,尤其是包含动画和蒙皮信息的网格模型。 .x文件是由模板(template)驱动的,模板定义了如何存储一个数据对象,这样用户便可以自己定义具体的格式。 我们可以用编辑器打开一个动画mesh的X文件,它的基本架构: 网格中主要存储的是对物体的点采样信息,所以一般会有物体采样的顶点个数,顶点数据列表;面个数,面的数据列表的信息。然后,为了增加采样
2012-02-04 13:34:03 767
转载 C/C++网络编程中的TCP保活
在默认的情况下,TCP连接是没有保活的心跳的。这就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接。这其中如果有一方异常掉线,另一端永远也不可能知道。这对于一些服务型的程序来说,将是灾难性的后果。 所以,必须对创建的socket,启用保活心跳,即Keepalive选项。 启用Keepalive 对于WIN32或者Linux平台来说,设置so
2012-02-04 12:53:23 679
原创 基本的排序算法
内排序算法基本上分为:选择排序,插入排序,交换排序,归并排序 1.选择排序 1.1基本选择排序 算法思想:每i趟通过n - i次关键码比较,在n-i + 1(1 //*********************************************************************************** //* Function: 交换函数 //* Para
2011-12-24 21:06:09 167
原创 矩阵Matrix
话说几何忘得可真快,想当初最爱解几何题了.....当初线性代数,全班挂了10几个,我还考了78,没想到这忘的差不多了。 言规正传,现在一边看3D的数学知识,一边学习怎么通过Matrix把物体在3D的世界进行漂亮的变换,以下记录自己的心得,以便加深记忆。 1、从简单的来了,Matrix的加法 加法满足的运算律: A + B = B + A A + B + C = A + ( B
2011-12-14 22:30:24 199
原创 Vector的各种算法
1.加法 D3DXVECTOR3 * D3DXVec3Add( D3DXVECTOR3 * pOut, CONST D3DXVECTOR3 * pV1, CONST D3DXVECTOR3 * pV2 ); 2.减法: D3DXVECTOR3 * D3DXVec3Subtract( D3DXVECTOR3 * pOut, CONST D3DXVECTOR3 *
2011-12-06 23:13:53 542
原创 ID3DXAllocateHierarchy 学习
这个接口可以用来创建或者销毁D3DXFRAME对象、mesh container对象,共有4个接口 1.创建D3DXFRAME对象 HRESULT CreateFrame( LPCSTR Name, LPD3DXFRAME * ppNewFrame ); 参数说明: 【in】Name:frame的名字 【out, retval】返回创建的frame对象 2.创建一个
2011-12-06 22:07:58 421
原创 X动画
typedef struct D3DXMESHCONTAINER { LPSTR Name; // 网格名 D3DXMESHDATA MeshData; // 网格数据 LPD3DXMATERIAL pMaterials; // 网格素材 LPD3DXEFFECTINSTANCE pEffects; // 存储效果实例 DWORD
2011-12-05 23:51:26 76
原创 IDirect3D9学习
IDirect3D9接口共14个方法,分别是: 1.创建设备 HRESULT CreateDevice( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, IDi
2011-12-04 22:57:26 396
原创 鼠标选取Pick
在3D的世界中,如何选择一个物体并触发相应事件,需要用到选取; 学习选取之前,需要先弄清楚几个概念:客户区坐标系,投影坐标系,视图坐标系,世界坐标系。 我们知道,将3D场景转换为2D图像并显示在显示器上,这一系列操作叫做渲染管线,下图是过程: 物体-->世界-->视图->(拣选、灯光、裁剪)-->投影-->视口变换-->(光栅化) 选取的过程正好相反,可表示为:鼠标
2011-12-04 21:31:52 392
转载 智能指针shared_ptr
在加载X文件是,需要保存将模型中的每个subset的纹理指针,使用数据指针保存的话,不能确定数组的长度; 这时,想到使用vector管理这些指针,可是纹理的指针释放时不是delete,而是Release,想来想去,最终想到用shared_ptr替换IDirect3DTexture9*, 即std::vector m_Texture; --》std::vector> m_Texture;
2011-12-04 17:48:34 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人