Archived

This topic is now archived and is closed to further replies.

MasterWorks

Help with multiple 3D devices

Recommended Posts

Hello all, Having trouble getting my VB program (Direct3D and DirectDraw 7.0) to choose my Voodoo2 card, since it''s obviously a secondary full-screen adapter only thing. It''s really quite irritating because my primary (2D) card also has some weak 3D support, so it continually chooses that instead. The SDK lists several ways of enumerating devices but I have no clue which function actually SETS the device I want to use. Is this a DirectDraw "set" or a Direct3D "set"? From what I can tell, the Create methods usually take a GUID but that''s just a constant -- IID_IDirect3DHALDevice or some such thing. Please, help, and if anybody has been able to do this successfully in VB I''ll give anything to see your source!! Best, Jay Wheeler MasterWorks Software

Share this post


Link to post
Share on other sites
It the DirectDraw "set" of guids that you use for secondary 3d devices.

You use DirectDrawEnumerate to enum the Voodoo, then use DirectDrawCreate to activate it.

After you do that, then you use the device "set" of guids to create the device (i.e. IDD_IDirect3DHALDevice).

Share this post


Link to post
Share on other sites
Thanks for the advice, got it going... sort of. The enum functions return a valid GUID and description ("voodoo2 directx driver")... but it still loads the regular primary display!! A bug in Visual Basic, anyone, or perhaps the DirectX wrapper?

Ugh!

Share this post


Link to post
Share on other sites
When you have found a GUID that is the one you wan''t you pass that GUID as the first parameter to the DirectDrawCreate function then everything should work.

Share this post


Link to post
Share on other sites
So, since this is exactly what I''m doing with no perceptible errors of any kinda, this is apparently a very disturbing bug in VB or DirectX (or the combination of the two).

Share this post


Link to post
Share on other sites