I have been using the method described in the Inventor Mentor to print my
scene graphs: I use
an "SoOffscreenRenderer" with a SbViewportRegion with WindowSize set to 1/2
the printer's HORZRES by
1/2 the printer's VERTRES. The PixelsPerInch is set to the printer's
LOGPIXELSX. After rendering, I bitblt from
the off screen render to the printer DC.
I find with that with my printer set to 300 DPI, I get reasonable printing
performance,but with my printer set to 600 DPI (which gives
the quality I need) the time and memory usage goes through the roof, often
leading my NT system with 64 meg of RAM
and 1/4 meg of free disk space to run out of virtual memory.
Meanwhile, in the Microsoft OpenGL documentation, there are references to a
method for causing OpenGL to render directly to
a metafile. See, for instance,
http://premium.microsoft.com/msdn/library/sdkdoc/ntopnglo_7rtx.htm. One of
of this method is cited as being that, because "printing an OpenGL image
might require more memory than is available in the
system", OpenGL uses banding to print graphics. Is there any way to use
this functionality with OpenInventor (or is Open Inventor
already using it ?).
Any advice on the best way to print would be appreciated.