Archived

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

BobBaker92

More than 1 directX surface at a time.

Recommended Posts

Hi, is it possible to have more than 1 directX object going at the same time? I''m trying it now, and it seems that I can get all 3 to run, and clear the screen, but my program will only draw in 1 of the screens, even if I set it to antoher screen, it always goes into one screen, not the one its suppose to. Does anyone know if there is something I have to do to have more than 1 directX rendering target going at a time, thanks. Bobby

Share this post


Link to post
Share on other sites
1) Having more than one Direct3D or DirectDraw device interface active in the same application at the same time is not good, and AFAIK isn''t officially supported.


2) Why do you want multiple devices anyway ?

a. If it''s for multimonitor then its ok as long as they share the same focus window and have DIFFERENT device windows placed on the respective viewing areas of each monitor.

b. If its for multiple viewports in *separate* windows in a windowed mode application on D3D8 and above, then that''s what multiple swap chains are designed for. You should use IDirect3DDevice8::CreateAdditionalSwapChain.

c. If its for multiple viewports in *separate* windows in a windowed mode application on D3D7 and below, then simply have one big back surface the same size as the primary surface and Blt() to the relevent window.

d. If its for multiple viewports in the *same* window, then you should use SetViewport() to change between views.


I can''t think of **ANY** cases where having two devices active would allow something which the above don''t.

--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com

Share this post


Link to post
Share on other sites