【发布时间】:2012-02-09 01:38:12
【问题描述】:
我之前在 XNA 中使用过 hlsl 效果,但现在我尝试在带有 DirectX9 的 C++ 中使用它们并且对某些点感到困惑:
在 XNA 中,您可以在解决方案资源管理器中显示 .fx 文件,这在 C++ 中也是如此吗?因为我在添加 fx 文件时遇到了一些困难。还是您只是将所有内容都放在项目目录中的文件夹中。只需从 Windows 资源管理器中浏览它?
我有如下C++代码来加载效果:
ID3DXEffect* g_pEffect = NULL;
DWORD dwShaderFlags = 0;
dwShaderFlags |= D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT;
dwShaderFlags |= D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT;
dwShaderFlags |= D3DXSHADER_NO_PRESHADER;
// Read the D3DX effect file
WCHAR str[MAX_PATH];
DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"BasicHLSL.fx" );
D3DXCreateEffectFromFile( pd3dDevice, str, NULL, NULL, dwShaderFlags, NULL, &g_pEffect, NULL );
但是类型和函数没有被识别/找到,所以我想我错过了一个#include(目前我只有 d3d9.h)
【问题讨论】:
标签: c++ visual-studio-2010 directx effect