D3D11 Cube Mapping程序


d3d11中通过cube mapping实现天空盒效果。包含全部源代码及可执行程序。 操作方法:通过鼠标左键旋转镜头。
资源截图
代码片段和文件信息
#include “Effects.h“
#include 
#include 

using namespace std;

bool Effect::Init(ID3D11Device *devicestd::wstring fileName)
{
vector shader;
if(!ReadBinaryFile(fileNameshader))
return false;

if(FAILED(D3DX11CreateEffectFromMemory(&shader[0]shader.size()0device&fx)))
{
MessageBox(NULLL“Create Effect failed!“L“Error“MB_OK);
return false;
}

return true;
}

bool BasicColorEffect::Init(ID3D11Device *devicestd::wstring fileName)
{
if(!Effect::Init(devicefileName))
return false;

fxWorldViewProj = fx->GetVariableByName(“g_worldViewProj“)->AsMatrix();
fxBasicColorTech = fx->GetTechniqueByName(“BasicColor“);

return true;
}

bool BasicEffect::Init(ID3D11Device *device std::wstring fileName)
{
if(!Effect::Init(devicefileName))
return false;

fxWorldViewProj = fx->GetVariableByName(“g_worldViewProj“)->AsMatrix();
fxWorld = fx->GetVariableByName(“g_world“)->AsMatrix();
fxWorldInvTranspose = fx->GetVariableByName(“g_worldInvTranspose“)->AsMatrix();
fxMaterial = fx->GetVariableByName(“g_material“);
fxTexTrans = fx->GetVariableByName(“g_texTrans“)->AsMatrix();
fxShadowTrans = fx->GetVariableByName(“g_shadowTrans“)->AsMatrix();
fxSR = fx->GetVariableByName(“g_tex“)->AsShaderResource();
fxShadowMap = fx->GetVariableByName(“g_shadowMap“)->AsShaderResource();

fxDirLights = fx->GetVariableByName(“g_lights“);
fxEyePos = fx->GetVariableByName(“g_eyePos“);
fxFogStart = fx->GetVariableByName(“g_fogStart“)->AsScalar();
fxFogRange = fx->GetVariableByName(“g_fogRange“)->AsScalar();
fxFogColor = fx->GetVariableByName(“g_fogColor“)->AsVector();


fxLight1Tech = fx->GetTechniqueByName(“Light1“);
fxLight2Tech = fx->GetTechniqueByName(“Light2“);
fxLight3Tech = fx->GetTechniqueByName(“Light3“);
fxLight1TexTech = fx->GetTechniqueByName(“Light1Tex“);
fxLight2TexTech = fx->GetTechniqueByName(“Light2Tex“);
fxLight3TexTech = fx->GetTechniqueByName(“Light3Tex“);
fxLight1TexClipTech = fx->GetTechniqueByName(“Light1TexClip“);
fxLight2TexClipTech = fx->GetTechniqueByName(“Light2TexClip“);
fxLight3TexClipTech = fx->GetTechniqueByName(“Light3TexClip“);
fxLight1FogTech = fx->GetTechniqueByName(“Light1Fog“);
fxLight2FogTech = fx->GetTechniqueByName(“Light2Fog“);
fxLight3FogTech = fx->GetTechniqueByName(“Light3Fog“);
fxLight1TexFogTech = fx->GetTechniqueByName(“Light1TexFog“);
fxLight2TexFogTech = fx->GetTechniqueByName(“Light2TexFog“);
fxLight3TexFogTech = fx->GetTechniqueByName(“Light3TexFog“);
fxLight1TexClipFogTech = fx->GetTechniqueByName(“Light1TexClipFog“);
fxLight2TexClipFogTech = fx->GetTechniqueByName(“Light2TexClipFog“);
fxLight3TexClipFogTech = fx->GetTechniqueByName(“Light3TexClipFog“);
fxLight1FogClipTech = fx->GetTechniqueByName(“Light1FogClip“);
fxLight2FogClipTech = fx->GetTechniqueByName(“Light2FogClip“);
fxLight3FogClipTech = fx->GetTechniqueByName(“Light3FogClip“);
fxLight1TexFogClipTech = fx->GetTechnique

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-02-13 07:50  CubeMapping
     目录           0  2013-02-13 07:46  CubeMappingCommon
     文件         484  2013-01-18 22:09  CubeMappingCommonAppUtil.cpp
     文件        1522  2013-01-18 22:10  CubeMappingCommonAppUtil.h
     文件        2890  2013-01-20 04:52  CubeMappingCommonCamera.cpp
     文件        2297  2013-02-03 22:43  CubeMappingCommonCamera.h
     文件       14207  2013-01-18 22:08  CubeMappingCommonGeometryGens.cpp
     文件        1272  2013-01-18 21:13  CubeMappingCommonGeometryGens.h
     文件        1119  2013-01-18 22:15  CubeMappingCommonLights.h
     文件        6865  2013-01-18 20:33  CubeMappingCommonRenderStates.cpp
     文件         981  2013-01-18 20:31  CubeMappingCommonRenderStates.h
     文件        1993  2013-01-18 20:28  CubeMappingCommonTimer.cpp
     文件         808  2013-01-18 20:21  CubeMappingCommonTimer.h
     文件       11598  2013-02-03 22:35  CubeMappingCommonWinApp.cpp
     文件        2417  2013-02-03 22:34  CubeMappingCommonWinApp.h
     文件      148647  2013-01-31 02:41  CubeMappingCommonxnacollision.cpp
     文件        9295  2010-05-14 08:48  CubeMappingCommonxnacollision.h
     文件      266240  2013-02-13 07:47  CubeMappingCubeMapping.exe
     文件         888  2013-02-05 00:57  CubeMappingCubeMapping.sln
     文件        6866  2013-02-08 06:59  CubeMappingCubeMapping.vcxproj
     文件        3375  2013-02-06 06:26  CubeMappingCubeMapping.vcxproj.filters
     文件        5272  2013-02-08 06:25  CubeMappingEffects.cpp
     文件        6936  2013-02-08 06:02  CubeMappingEffects.h
     目录           0  2013-02-13 07:51  CubeMappingFX
     文件        9751  2013-02-04 01:53  CubeMappingFXBasic.fx
     文件      147379  2013-02-04 01:59  CubeMappingFXBasic.fxo
     文件        4891  2013-02-04 01:48  CubeMappingFXLight.fx
     文件         956  2013-02-13 07:33  CubeMappingFXSkyBox.fx
     文件        2414  2013-02-08 06:49  CubeMappingFXSkyBox.fxo
     文件        1599  2013-02-08 05:20  CubeMappingInputs.cpp
     文件         904  2013-02-08 05:16  CubeMappingInputs.h
............此处省略3个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)