More than 1 directX surface at a time.

Started by
1 comment, last by BobBaker92 21 years, 5 months ago
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
Bobby BakerOmega Componentshttp://66.139.78.148/ds/
Advertisement
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

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

Thanks for your help

Bobby
Bobby BakerOmega Componentshttp://66.139.78.148/ds/

This topic is closed to new replies.

Advertisement