Hi,

I have developed an OSG-based application that renders a scene to a window. That works fine.

But my client has required the scene printed to paper (A3). The solution I've tried is using the WindowCaptureCallback (from an OSG example in the wiki) to read the pixels from the graphics card and, resizing the image to fit an A3 paper, copy it to the printer device context (windows app). This works too, but with issues: - The A3 printer device context has much more dots (horizontal res bigger than 4000) that pixels I can retrieve from my scene window (800x600 aprox, it's resizable). - The resampling makes the image heavily "pixelized": The text in the scene is hardly readable, because of the augmentation. The frustrum projection and raster to pixels that in screen is hardly noticed, when scaled upwards lead to a very ugly result.

I was wondering if it's possible to render the same scene to two frame buffers:
1) The screen framebuffer, as I have it now.
2) A "on-memory" framebuffer, much bigger (ideally the same exact resolution that I have in the printer context to avoid resizing artifacts).

So my questions are:
- Is this possible?
- With a single osgViewer or two viewers, one for each?
- Are there limitations in the resolutions available (power of two or whatever) or in the maximum resolution achievable? - Is there any OSG example that uses this "memory-only frame buffer"? Or an OSG class name where I can start reading code to learn how to use it?

Thanks in advance

Ignacio Garcia
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to