有没有一种有效的方法来将a3d场景转换为2D增强型图元文件

我正在开发一个使用Delphi2010和OpenGL的CAD应用程序。 目前,我正在一个模块导出当前视图到一个图像文件。

这对于光栅格式来说非常简单(渲染场景到离屏缓冲区的所需尺寸,将缓冲区写入磁盘),但是我也希望能够将我的场景的轴alignment2d视图导出为vector格式,最好是Winows EMF 。

我正在考虑计算软件中的转换和投影,或者滥用glFeedbackfunction。 由于我将不得不实现我自己的z缓冲,这种方法似乎相当费力,更不用说我可能面临的性能问题,在没有硬件加速的情况下渲染复杂的场景。

由于我的Google-fu没有导致结果,所以我想问问你们谁是否有这个问题的经验(将Opengl-3d场景转换为2Dvector图像),或者是否有任何已知的第三方库这个。

这是一个非常艰巨的任务,它涉及解析隐藏线删除,多边形分割和Z分类最终输出,如下所示: http : //www.cs.drexel.edu/~david/Classes/CS430/HWs/p214- weiler.pdf

有一个C库这样做。 它可以输出PostScript,PDF和SVG。 它也支持平滑着色。

虽然你可能无法直接使用它,但它可能会给你一些想法:

http://www.geuz.org/gl2ps/