POV-Ray
Origem: Wikipédia, a enciclopédia livre.
POV-Ray | ||
---|---|---|
Xícara de chá produzida pelo POV-Ray. Sombras, luzes coloridas, e mapa de textura são demonstrados. |
||
Desenvolvedor | Time POV | |
Última versão | 3.6.1 (3 de agosto de 2004) | |
Sistema Op. | Multi-plataforma | |
Gênero | Ray tracer | |
Licença | Licença POV-Ray | |
Website | www.povray.org |
O POV-Ray, é um programa de ray tracing disponível para variadas plataformas de computação. Foi originalmente baseado no DKBTrace, escrito por David Kirk Buck e Aaron A. Collins. Existem também influências do Polyray, de contribuição de seu autor, Alexander Enzmann. O POV-Ray é livre, com seu código-fonte disponível.
Índice |
[editar] História
Na década de 1980, David Kirk Buck obteve o código fonte de um raytracer para Unix para seu Amiga. Interessado, ele o usou por um tempo, decidindo posteriormente escrever seu próprio raytracer, denominado DKBTrace, por razão das iniciais de seu nome. Em 1987, Aaron Collins obteve o código fonte do DKBTrace e começou a portar tal código para a plataforma X86. Ele e David Buck colaboraram para adicionar várias novas funcionalidades ao aplicativo. Quando o programa provou ser mais popular que o esperado, eles não puderam mais manter o aplicativo para adicionar a grande demanda de funcionalidades sugeridas pelos usuários. Em 1989, David delegou o projeto para um time externo de programadores. Ele então percebeu que era inapropriado usar suas iniciais em um programa que não mantinha mais. Para a mudança foi cogitado o nome STAR, mas POV-Ray se tornou padrão.
POV-Ray foi o primeiro software para ray tracing a produzir um imagem em órbita, por Mark Shuttleworth na Estação Espacial Internacional.
[editar] Versão atual
A versão oficial atual do POV-Ray é a 3.6. Algumas das funcionalidades adicionadas nesta versão incluem:
- Mapeamento UV estendido para mais primitivas.
- Adição de dados de 16 e 32 bits em arquivos de densidade.
- Várias correções de erros e melhorias no desempenho.
- Compatibilidade aumentada para plataformas 64 bits.
A versão 3.7 beta está atualmente em testes. O maior incremento em relação a versão 3.6 será o suporte a multi-processamento simétrico para permitir que a produção de cenas obtenha as vantagens de múltiplos processadores.
[editar] Funcionalidades
POV-Ray amadureceu desde que foi criado. Versões recentes do aplicativo incluem as seguintes funcionalidades:
- Uma linguagem de descrição de cenas que suporta macros e enlaces.
- Biblioteca de cenas, texturas e objetos.
- Suporte a um número de primitivas geométricas e sólidos contruídos.
- Vários tipos de fontes de iluminação.
- Efeitos atmosféricos como neblina, fumaça e nuvens.
- Reflexão, refração.
- Padrões de superfície.
- Radiosidade.
- Suporte a alguns formatos de imagem para texturas e produção de imagem, incluindo TGA, PNG e JPEG, entre outras.
- Ampla documentação.
Um dos maiores atrativos do POV-Ray é sua ampla coleção de suporte externo. Um grande número de ferramentas, texturas, modelos, cenas, e guias de aprendizado podem ser encontradas na Internet. Ele também é uma referência útil para aqueles que querem aprender como funcionam algoritmos para ray tracing e gráficos de forma geral.
[editar] Primitivas do POV-Ray
POV-Ray, em adição a formas comuns como torus, esfera e campos de altura, suporta primitivas definidas matematicamente como iso-superfícies (uma aproximação finita de uma função arbitrária), a primitiva polinomial (um objeto infinito definido por um polinômio de até 15ª ordem), o fractal Julia (um corte tri-dimencional de um fractal de quadri-dimensional), entre outros.
POV-Ray representa objetos internamente utilizando suas definições matemáticas; todas as primitivas do POV-Ray podem ser descritas utilizando funções matemáticas. Isso difere em relação a vários outros modeladores 3D, que geralmente utilizam triângulos para compor todos os objetos. Isso forneceu ao POV-Ray várias vantagens sobre outros sistemas de modelagem, tornando as primitivas do POV-Ray mais exatas as versões poligonais. Objetos que podem ser descritos em termos de esferas, superfícies planas, cilindros, tori e outros são perfeitamente bem definidos matematicamente para a produção. As primitivas do POV-Ray também são definidas de maneira mais simples que primitivas poligonais. Em POV-Ray, uma esfera é descrita simplesmente pelo seu centro e raio. Em ambientes poligonais, uma esfera deve ser descrita por um conjunto de pequenos polígonos.
Por outro lado, a modelagem por primitivas e scripts não é praticável para criar objetos como pesonagens realísticos ou carros. Tais objetos devem ser criados em aplicações de modelagem poligonal como o Wings 3D ou Blender, e então convertidas para o padrão POV-Ray.
[editar] Desenvolvimento e manutenção
Modificações oficiais na árvore de código do POV-Ray são feitas e aprovadas pelo time POV. Pessoas interessadas em enviar correções ou reportar erros devem participar do grupo de notícias do POV-Ray.
[editar] Licença
POV-Ray é distribuído pela licença POV-Ray, que permite a livre distribuição dos binários do aplicativo e seus fontes, mas restringe a distribuição comercial e a criação de trabalhos diversos às versões do POV-Ray.
Apesar de o código fonte estar disponível para modificação, de acordo com restrições específicas, ele não é código livre de acordo com a definição da Iniciativa de Código Livre. Uma das razões para o qual o POV-Ray não é licenciado pela GPL, popular para projetos similares atualmente, é que o POV-Ray foi desenvolvido antes da GPL se tornar popular. Os desenvolvedores escreveram suas próprias licenças para o lançamento do POV-Ray, e contribuintes do aplicativo trabalharam assumindo que suas contribuições seriam licenciadas pela licença POV-Ray.
Uma reescrita completa do POV-Ray (versão 4.0) está atualmente sob discussão, utilizando uma licença mais liberal, não necessariamente a GPL.