Pergunta

Eu estou tentando converter um openGL [edit: (?) "Cartão que eu desenhei" :) thx descontrair] contendo um monte de texturas (nada em movimento) em um arquivo PNG que eu posso usar em outra parte do quadro Eu estou trabalhando com. Existe uma biblioteca C ++ que faz isso?

Obrigado!

Foi útil?

Solução

Se você simplesmente significa "dar uma cena renderizada por OpenGL e guardá-lo como uma imagem," então é bastante simples. Você precisa ler a cena com glReadPixels () e, em seguida, converter os dados para um formato de imagem como PNG ( http://www.opengl.org/resources/faq/technical/miscellaneous.htm ).

Existem também as formas mais eficientes de alcançar este objectivo, como o uso FBO s. Em vez de tornar a cena diretamente no framebuffer, você pode torná-lo a uma textura através de um FBO, em seguida, processar essa textura como um quad-tela cheia. Você pode então tomar essa textura e salve-o em um arquivo (usando glGetTexImage , por exemplo).

Outras dicas

O que é um "arquivo OpenGL"? OpenGL é uma API de gráficos, ele não especificar quaisquer formatos de arquivo. Você quer dizer um arquivo DDS, ou algo assim?

Existem maneiras melhores de fazer uma textura compor de desenhá-los com a placa gráfica. Isto é realmente algo que você gostaria de fazer antes da mão sobre o cpu, armazenar e, em seguida, usar como e quando você precisar dele com OpenGL

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