3D Graphics

Important: on multi-monitor systems, you'll have to use Direct3D. OpenGL has no real multi-monitor support, and only a very small number of hardware and operating system configurations support hardware-accelerated OpenGL on multiple monitors (see OpenGL on multiple monitors and the OpenGL FAQ for more information).

Starting with DirectX 8, you can get full hardware acceleration both in fullscreen and windowed mode, on any monitor. To get acceleration, you'll need to create a different 3D device for each monitor, in windowed mode you'll need to determine the monitor the window is on and then create a 3D device for that monitor.

An excellent example is the Moire screen saver from the DirectX 8 SDK. The sample is in \direct3d\screensavers\moire and uses the DirectX screen saver framework. A compiled and slightly modified version of the sample is available for download from the products page. I added support for hardware acceleration in preview mode, this required a minor change to d3dsaver.cpp from the framework, the modified file is available here (search for 'Realtime Soft' to take a look at the modification).