Multiple OpenGL Cards and Multiple Rendering Contexts

  • Thread starter Thread starter Voxel
  • Start date Start date
V

Voxel

I have a Windows XP machine (Intel Platform) with two PCI Express slots
in it. I would like to have two OpenGL Cards (say Card A and Card B) in
the system. The idea is to create two concurrent OpenGL rendering
contexts (Rendering Context A attached to Card A and Rendering Context
B attached to Card B) so that two scenes can be simultaneously rendered
with hardware accleration each fueled by an OpenGL card. It is also
important to mention that I am NOT planning to use NVidia's SLI
technology. I have two specific questions in this regard:

(1) Is there any specific technique in the creation of these rendering
contexts? (Or the OpenGL Graphics Driver is supposed to seemlessly take
care of this)

(2) Can you recommend any vendor(s) and the specific OpenGL card name
for which this technique can be successfully implemented?

Any help would be highly appreciated.
 
Voxel said:
I have a Windows XP machine (Intel Platform) with two PCI
Express slots in it. I would like to have two OpenGL Cards (say
Card A and Card B) in the system. The idea is to create two
concurrent OpenGL rendering contexts (Rendering Context A
attached to Card A and Rendering Context B attached to Card B)
so that two scenes can be simultaneously rendered with hardware
accleration each fueled by an OpenGL card. It is also important
to mention that I am NOT planning to use NVidia's SLI
technology. I have two specific questions in this regard:

(1) Is there any specific technique in the creation of these
rendering contexts? (Or the OpenGL Graphics Driver is supposed
to seemlessly take care of this)

(2) Can you recommend any vendor(s) and the specific OpenGL
card name for which this technique can be successfully
implemented?

Any help would be highly appreciated.

Set your desktop, so that card A is rendering Desktop 1 and card
B is rendering desktop 2. Then you request the avaliable
desktops (look in the Win32 SDK on how to do this) and create a
fullscreen window on desktop 1 and put a OpenGL context in it,
and create a fullscreen window on desktop 2 and put a OpenGL
context on it. Then share theie data with wglShareLists. Then
render for each context as usual. Eventually using a own thread
for every desktop might speed things up.

Wolfgang Draxinger
--
 
Back
Top