int CDxTestView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;
InitD3D(&m_pD3D,&m_pDevice,m_hWnd);
// TODO: Add your specialized creation code here
return 0;
}
void InitD3D(LPDIRECT3D9 * ppD3D,LPDIRECT3DDEVICE9 *ppDevice,HWND hWnd)
{
//创建Direct3D 对象,并获取接口IDirect3D9 的指针,
//我们将通过该指针操作Direct3D 对象。
*ppD3D = ::Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS d3dpp;
::ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE; //创建窗口模式的Direct3D 程序
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
//调用方法IDirect3D9::CreateDevice 创建设备对象,并获取
//接口IDirect3DDevice9 的指针,我们将通过该指针操作设备对象
(*ppD3D)->CreateDevice(
D3DADAPTER_DEFAULT, //使用缺省的显卡
D3DDEVTYPE_HAL, //指定设备类型为HAL
hWnd, //Direct3D窗口的句柄
D3DCREATE_SOFTWARE_VERTEXPROCESSING,//软件顶点处理
&d3dpp, ppDevice);
}
运行到最后一个语句出错:DEBUG输出:
Direct3D9: (ERROR) :Failed to create driver surface
Direct3D9: (ERROR) :Failed to initialize primary swapchain
Direct3D9: (ERROR) :Failed to initialize Framework Device. CreateDevice Failed.
怎样才能不出错?不好意思,因为没怎么用过DirectX,问题一大堆
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;
InitD3D(&m_pD3D,&m_pDevice,m_hWnd);
// TODO: Add your specialized creation code here
return 0;
}
void InitD3D(LPDIRECT3D9 * ppD3D,LPDIRECT3DDEVICE9 *ppDevice,HWND hWnd)
{
//创建Direct3D 对象,并获取接口IDirect3D9 的指针,
//我们将通过该指针操作Direct3D 对象。
*ppD3D = ::Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS d3dpp;
::ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE; //创建窗口模式的Direct3D 程序
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
//调用方法IDirect3D9::CreateDevice 创建设备对象,并获取
//接口IDirect3DDevice9 的指针,我们将通过该指针操作设备对象
(*ppD3D)->CreateDevice(
D3DADAPTER_DEFAULT, //使用缺省的显卡
D3DDEVTYPE_HAL, //指定设备类型为HAL
hWnd, //Direct3D窗口的句柄
D3DCREATE_SOFTWARE_VERTEXPROCESSING,//软件顶点处理
&d3dpp, ppDevice);
}
运行到最后一个语句出错:DEBUG输出:
Direct3D9: (ERROR) :Failed to create driver surface
Direct3D9: (ERROR) :Failed to initialize primary swapchain
Direct3D9: (ERROR) :Failed to initialize Framework Device. CreateDevice Failed.
怎样才能不出错?不好意思,因为没怎么用过DirectX,问题一大堆
解决方案 »
- 圆弧的坐标计算
- 如何实现CEdit对象显示的一部分内容是不能进行修改的 另一半是可以进行编辑的
- 如果快速的找到本机上是否安装咯某个游戏
- CString类的 Mid函数 ,如果发生异常,如何扑捉这个异常,谢谢.
- 问一个小问题
- 问题:CSocket是从CAsyncSocket继承的,CAsyncSocket是异步的,可CSocket为什么会是同步的
- 核心态编程。
- IMessageFilter的问题
- 诚邀高手进来谈谈windows平台上各种程序应用框架的优略
- vc程序,在xp环境下可以正常运行.但是在vista环境下,出现错误,程序崩溃,现在如果换vs2008的话,工程太大,有什么好的办法没有让其在vista下正常运行么?
- 急急:不好意思在这里要这个OFFice2000的英文版,请问哪里有下载OFFICE2000的英文版,给我一个链接
- 想跳了。兄弟们来给估个价?
(*ppD3D)->CreateDevice(
D3DADAPTER_DEFAULT, //使用缺省的显卡
D3DDEVTYPE_HAL, //指定设备类型为HAL
hWnd, //Direct3D窗口的句柄
D3DCREATE_SOFTWARE_VERTEXPROCESSING,//软件顶点处理
&d3dpp, ppDevice);
Using Direct3D with MFC
http://www.cs.wisc.edu/~tlabonne/d3dmfc.html
呵呵,原来就是这么简单的问题……