资源简介
包含天空盒,蒙皮骨骼,场景漫游,拾取,镜面。十分简陋 VS2015编写,希望能给学弟学妹们参考启发
代码片段和文件信息
//=============================================================================
// Desc: AllocateHierarchy.cpp
//=============================================================================
#include “AllocateHierarchy.h“
#pragma warning(disable: 4995)
//--------------------------------------------------------------------------------------
// Name: AllocateName()
// Desc: 为骨骼或网格名称的字符串分配内存
//--------------------------------------------------------------------------------------
HRESULT AllocateName( LPCSTR Name LPSTR* pNewName )
{
UINT cbLength;
if( Name != NULL )
{
cbLength = ( UINT )strlen( Name ) + 1;
*pNewName = new CHAR[cbLength];
memcpy( *pNewName Name cbLength * sizeof( CHAR ) );
}
else
{
*pNewName = NULL;
}
return S_OK;
}
//--------------------------------------------------------------------------------------
// Name: GenerateSkinnedMesh
// Desc: 生成蒙皮网格模型。该函数判断当前网格容器是否包含有蒙皮信息,如果当前网格模型
// 中不包含蒙皮信息,则直接退出该函数。接下来确定所需要的矩阵调色板容量。最后调
// 用ID3DXSkinInfo::ConvertToIndexedBlendedMesh()函数生成索引蒙皮网格模型
//--------------------------------------------------------------------------------------
HRESULT GenerateSkinnedMesh( IDirect3DDevice9* pd3dDevice D3DXMESHCONTAINER_DERIVED* pMeshContainer )
{
D3DCAPS9 d3dCaps;
pd3dDevice->GetDeviceCaps( &d3dCaps );
if( pMeshContainer->pSkinInfo == NULL )
return S_OK;
SAFE_RELEASE( pMeshContainer->MeshData.pMesh );
SAFE_RELEASE( pMeshContainer->pBoneCombinationBuf );
if (FAILED(pMeshContainer->pSkinInfo->ConvertToBlendedMesh(
pMeshContainer->pOrigMesh
D3DXMESH_MANAGED | D3DXMESHOPT_VERTEXCACHE
pMeshContainer->pAdjacency
NULL NULL NULL
&pMeshContainer->NumInfl
&pMeshContainer->NumAttributeGroups
&pMeshContainer->pBoneCombinationBuf
&pMeshContainer->MeshData.pMesh)))
return E_FAIL;
return S_OK;
}
//--------------------------------------------------------------------------------------
// Name: CAllocateHierarchy::Createframe()
// Desc: 创建框架 仅仅是分配内存和初始化还没有对其成员赋予合适的值
//--------------------------------------------------------------------------------------
HRESULT CAllocateHierarchy::Createframe( LPCSTR Name LPD3DXframe* ppNewframe )
{
HRESULT hr = S_OK;
D3DXframe_DERIVED *pframe;
*ppNewframe = NULL;
// 为框架指定名称
pframe = new D3DXframe_DERIVED; // 创建框架结构对象
if (FAILED(AllocateName(Name (LPSTR*)&pframe->Name)))
{
delete pframe;
return hr;
}
// 初始化D3DXframe_DERIVED结构其它成员变量
D3DXMatrixIdentity(&pframe->TransformationMatrix);
D3DXMatrixIdentity(&pframe->CombinedTransformationMatrix);
pframe->pMeshContainer = NULL;
pframe->pframeSibling = NULL;
pframe->pframeFirstChild = NULL;
*ppNewframe = pframe;
pframe = NULL;
return hr;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-04 22:08 dierct\
目录 0 2017-06-19 00:10 dierct\.vs\
目录 0 2017-06-19 00:10 dierct\.vs\SimpleSkybox\
目录 0 2017-06-19 00:10 dierct\.vs\SimpleSkybox\v14\
文件 46080 2018-03-04 22:08 dierct\.vs\SimpleSkybox\v14\.suo
文件 41464 2004-09-09 21:48 dierct\ac1.jpg
文件 19860 2010-10-18 14:41 dierct\AllocateHierarchy.cpp
文件 3695 2010-10-16 14:16 dierct\AllocateHierarchy.h
文件 22889 2009-03-08 23:52 dierct\asd.X
目录 0 2017-06-19 00:10 dierct\Backup\
文件 889 2010-10-13 20:33 dierct\Backup\SimpleSkybox.sln
文件 5878 2010-10-29 19:46 dierct\Camera.cpp
文件 1987 2010-10-14 11:04 dierct\Camera.h
文件 604318 2013-03-02 15:28 dierct\cup.X
文件 5803 2017-06-18 10:07 dierct\d3dUtility.cpp
文件 3355 2017-06-18 10:02 dierct\d3dUtility.h
目录 0 2017-06-19 07:52 dierct\Debug\
文件 53239 2017-06-19 07:52 dierct\Debug\AllocateHierarchy.obj
文件 80375 2017-06-19 07:52 dierct\Debug\Camera.obj
文件 80045 2017-06-19 07:52 dierct\Debug\d3dUtility.obj
文件 261235 2017-06-19 07:52 dierct\Debug\PSystem.obj
文件 236032 2018-03-04 21:53 dierct\Debug\SimpleSkybox.exe
文件 1012528 2018-03-04 21:53 dierct\Debug\SimpleSkybox.ilk
文件 158 2018-03-04 21:53 dierct\Debug\SimpleSkybox.log
文件 175144 2017-06-19 07:52 dierct\Debug\SimpleSkybox.obj
文件 2535424 2018-03-04 21:53 dierct\Debug\SimpleSkybox.pdb
目录 0 2018-03-04 21:53 dierct\Debug\SimpleSkybox.tlog\
文件 12836 2017-06-19 07:52 dierct\Debug\SimpleSkybox.tlog\CL.command.1.tlog
文件 181354 2018-03-04 21:53 dierct\Debug\SimpleSkybox.tlog\CL.read.1.tlog
文件 3278 2018-03-04 21:53 dierct\Debug\SimpleSkybox.tlog\CL.write.1.tlog
文件 6326 2018-03-04 21:53 dierct\Debug\SimpleSkybox.tlog\li
............此处省略67个文件信息
相关资源
- 3D魔方游戏
- Real Time 3D Rendering with DirectX and HLSL
- DirectX9.0.exe
- 《DirectX+游戏开发终极指南》exe电子书
- MyGUI_3.2.0
- DirectX修复工具(DirectX Repair) V1.2 增
- 基于DirectX9.0c的坦克小游戏
- 《Introduction to 3D Game Programming with Di
- d3d11游戏编程入门(美)Allen+Wendy中英
- Introduction to 3D Game Programming with Direc
- 基于DirectX的简单GUI界面制作
- DirectX 自制游戏引擎
- Introduction to 3D Game Programming with Direc
- DirectX 高级动画制作书中源代码
- Real-Time -3D-Rendering-with-DirectX-and-HLSL
- DirectX11游戏编程入门(word+pdf)
- DirectX 11高级图形开发技术实战 免分
- Introduction to 3D Game Programming with Direc
- DX12龙书 Introduction to 3D Game Programming
- DirectX版俄罗斯方块(vs2010代码.
- DWGdirectX4.0
- directx_API
- DirectX 11 Low Poly Shader - DX11低多边形着
- JLU往年计算机网络试题
- DirectXDemo合集
- DirectX游戏开发之3D角色动起来
- zw_jluqazwsx-10015831-OnlineExamSystem.zip
- XAudio2 by 冷崖
- 源代码
- DirectX实时渲染技术详解第二部分含源
评论
共有 条评论