Pergunta

Eu estou desenvolvendo um aplicativo CAD usando Delphi2010 e OpenGL.Atualmente, estou trabalhando em um módulo para exportar a visualização atual para um arquivo de imagem.

Isso é muito estragrama para formatos de raster (renderize a cena para o buffer offscreen de dimensões desejadas, escreva buffer para o disco), mas também desejo ser capaz de exportar uma visão 2D alinhada do eixo da minha cena para um formato vetorial,preferencialmente vistas emf.

Eu estava pensando em calcular minhas transformações e projeção em software, ou uso indevido GlFeedback funcionalidade.Como eu teria que implementar meu próprio buffer de Z, essa abordagem parece ser um pouco laboriosa, sem mencionar os problemas de desempenho que posso enfrentar tornando uma cena complexa sem aceleração de hardware.

Desde que meu Google-fu não levou a um resultado, quero perguntar se alguém de você tem experiência com esse problema (converter o OpenGL-3D-cena para 2d-vectorimage), ou se houver alguma biblioteca de terceirosconhecido por implementar isso.

Foi útil?

Solução

This is a very hard task, it involves analytical hidden lines removal, polygon splitting and Z-sorting for final output as explained here: http://www.cs.drexel.edu/~david/Classes/CS430/HWs/p214-weiler.pdf

Outras dicas

There is a C library that does this. It can output PostScript, PDF and SVG. It supports smooth shading too.

While you probably won't be able to use it directly, it might give you some ideas:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top