永发信息网

关于VB中directx3D,新手求教

答案:2  悬赏:60  手机版
解决时间 2021-02-14 15:35
这几天看了本directx的书,一步步学。刚看到初始化directx的一系列对象。下面的代码有问题,请高手指点。
窗口模式设为全屏则运行正常,改成窗口就会出现错误。
Dim Dx8 As DirectX8
Dim D3D8 As Direct3D8
Dim D3DDev As Direct3DDevice8
Dim d3DCp As D3DCAPS8
Dim D3DPp As D3DPRESENT_PARAMETERS

Private Sub main()
Dim vp As Long
Set Dx8 = New DirectX8
Set D3D8 = Dx8.Direct3DCreate()
D3D8.GetDeviceCaps D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, d3DCp

If d3DCp.DevCaps And D3DDEVCAPS_HWTRANSFORMANDLIGHT Then
vp = D3DCREATE_HARDWARE_VERTEXPROCESSING
Else
vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING
End If

With D3DPp
.BackBufferWidth = 1366
.BackBufferHeight = 768
.BackBufferFormat = D3DFMT_A8R8G8B8
.BackBufferCount = 1
.MultiSampleType = D3DMULTISAMPLE_NONE
.SwapEffect = D3DSWAPEFFECT_DISCARD
.hDeviceWindow = Form2.hWnd
.Windowed = 0 '全屏的话下面的创建语句能成功
‘改成1窗口就出现自动化错误。
’是窗口模式不能用1表示,还是要用别的方法?
.EnableAutoDepthStencil = 0
.AutoDepthStencilFormat = D3DFMT_D24S8
.flags = 0
.FullScreen_RefreshRateInHz = 0
.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE
End With
Set D3DDev = D3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form2.hWnd, vp, D3DPp)

End '刚看到创建设备对象,释放的代码还不会写,直接结束了
End Sub
最佳答案
忘记了,似乎要在调用CreateDevice是带入窗体模式为普通窗口的参数,或者是D3DPp.Flags填写窗体模式的参数,看msnd去吧,肯定有写
全部回答
搜一下:关于VB中directx3D,新手求教
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
情人问我人生的五大愿望,怎么回答
我用的是通达的OA 在里面的系统管理有一个组
日语好学吗 自己可以学会吗
【remember we are always together是什么意
康辉永辉旅行社昆钢门市部我想知道这个在什么
大腿骨折怎么练习膝盖弯曲
我的手机号码被人留在餐饮问答网上 怎么才能
国内读985好还是留学日本好
氩弧焊焊铝,比焊白刚有毒吗。
【零件图技术要求】零件图上的技术要求包括哪
铁法煤业(集团)有限责任公司供电部怎么去啊,
作文《我想说给你听》250字左右关于一件有意
瓦房店轴承医院这个地址在什么地方,我要处理
香油哪个牌子的好
合浦县水利局怎么去啊,我要去那办事
推荐资讯
摩托车机架号
1919年,关于中西文化新旧问题,有学者说:“
【Need 的用法我怎么就分不清它的情态和实意
著名小孩麻战战300字
高河村地址在什么地方,想过去办事
中国联通城北社区服务站这个地址在什么地方,
中国移动海生通讯指定专营店我想知道这个在什
如何清除哈弗H2保养提示信息
高步到车莞华南麽坐几路么交车
【only】only的用法only要放在实义动词前还是
费县工商行政管理局公平交易局(政通路)地址在
投入产出表中四个象限的构成是()。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?