游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3028|回复: 3

VC2010初始化DirectX问题

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-3-30 22:43:00 | 显示全部楼层 |阅读模式

HRESULT hr = 0;
Device = 0;  //问题在这,总是说未定义标识符 "Device"
IDirect3D9* d3d9 = 0;
d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
if( !d3d9 )
{
::MessageBox(0, "Direct3DCreate9() - FAILED", 0, 0);
return false;
}

D3DCAPS9 caps;
d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
int vp = 0;
if( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
else
vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;

D3DPRESENT_PARAMETERS d3dpp;
d3dpp.BackBufferWidth = 640;
d3dpp.BackBufferHeight = 480;
d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8;
d3dpp.BackBufferCount = 1;
d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
d3dpp.MultiSampleQuality = 0;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = hWnd;
d3dpp.Windowed = true;
d3dpp.EnableAutoDepthStencil = true;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
d3dpp.Flags = 0;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;


hr = d3d9->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
vp,
&d3dpp,
&Device);
if( FAILED(hr) )
{
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
hr = d3d9->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
vp,
&d3dpp,
&Device);
if( FAILED(hr) )
{
d3d9->Release();
::MessageBox(0, "CreateDevice() - FAILED", 0, 0);
return false;
} [em24] [em24] [em24] [em24] [em22]

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2012-3-31 19:20:00 | 显示全部楼层

Re:VC2010初始化DirectX问题

你的Device 是
IDirect3d9Device?
or
IDirect3d9Device *?

喵喵~

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2012-3-31 19:24:00 | 显示全部楼层

Re:VC2010初始化DirectX问题

direct说到底还是com里面的东东,你不能在你的APP空间里生成一个实例的IDirct3dDevice 只能是个指针
然后通过COM接口方法生成它的实例,喵,偶看完两本COM的书也没看到生成的实例是在进程内存空间与否(喵喵,感觉应该不在进程空间的喔),估计你是定义了一个对象实例造成的错误

3

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2012-3-31 20:07:00 | 显示全部楼层

Re:VC2010初始化DirectX问题

未定义的标识符。。。
我晕,千万别告诉我你头文件没包含。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-28 17:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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