游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3077|回复: 6

(求助)遇到CreateDevice()失败,不知道错在哪里....

[复制链接]

7

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2006-12-14 20:44:00 | 显示全部楼层 |阅读模式
CreateDevice()的时候出错,但是不知道错在哪里
函数如下


bool InitDirectX(HWND hWnd,IDirect3D9 *D3D,D3DDISPLAYMODE d3ddm,D3DPRESENT_PARAMETERS d3dpp,IDirect3DDevice9 *D3DDevice)
{
        D3D=Direct3DCreate9(D3D_SDK_VERSION);

        if(D3D==NULL)
        {
                MessageBox(NULL,"Error!","Create_D3D",MB_OK);
                return false;
        }
       

        if(FAILED(D3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddm)))
        {
                MessageBox(NULL,"Error!","Get_DisPlayMode",MB_OK);
                return false;
        }

        ZeroMemory(&d3dpp,sizeof(D3DPRESENT_PARAMETERS));

        d3dpp.Windowed=true;
        d3dpp.SwapEffect=D3DSWAPEFFECT_FLIP;
        d3dpp.BackBufferFormat=d3ddm.Format;
        d3dpp.BackBufferWidth=Window_Width;
        d3dpp.BackBufferHeight=Window_Height;

//下面的代码就过不去了

        if(FAILED(D3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&D3DDevice)))
        {
                MessageBox(NULL,"Error!","D3DDevice_Create",MB_OK);
                return false;
        }


        return 1;
}

7

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2006-12-14 20:49:00 | 显示全部楼层

Re: (求助)遇到CreateDevice()失败,不知道错在哪里....

这里是所有的代码

sf_20061214204859.rar

15.81 KB, 下载次数:

21

主题

61

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2006-12-14 23:34:00 | 显示全部楼层

Re:(求助)遇到CreateDevice()失败,不知道错在哪里....

检查一下头文件里是否声明了
extern IDirect3D9*                g_pD3D9;

CPP文件开头是否有
IDirect3D9*    g_pD3D9                            = NULL;

7

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2006-12-15 00:02:00 | 显示全部楼层

Re:(求助)遇到CreateDevice()失败,不知道错在哪里....

谢谢楼上的大大.......
问题貌似有点头绪了,大概出在InitWindow上面........貌似hWnd的传递有问题....
睡觉先,晚安

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-15 00:12:00 | 显示全部楼层

Re:(求助)遇到CreateDevice()失败,不知道错在哪里....

static bool InitWindow(HINSTANCE hInstance,int CmdShow,HWND& hWnd)
{
...
}

this code will work
注意hWnd要用引用

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-12-15 09:39:00 | 显示全部楼层

Re:(求助)遇到CreateDevice()失败,不知道错在哪里....

d3dpp里面有很多变量都没有设置啊,打开DX DEBUG模式看看错误输出就晓得了

1

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-12-15 10:55:00 | 显示全部楼层

Re:(求助)遇到CreateDevice()失败,不知道错在哪里....

关注,我也碰到这个问题,正在想办法解决!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 02:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表