image/svg+xml
 

Editar as notícias:

Já viste hoje a nossa Galeria?

Menu principal

[Tutorial] POV-Ray Parte 4

Iniciado por Biczzz, 12 de Agosto de 2008, 22:59:44

Tópico anterior - Tópico seguinte

Biczzz

Rendering com o POV-Ray - Parte 4: Céu, solos e outros

Continuação dos anteriores tutoriais:

Parte 1: http://comunidade0937.com/forum/index.php?topic=3050.0
Parte 2: http://comunidade0937.com/forum/index.php?topic=3313.0
Parte 3: http://comunidade0937.com/forum/index.php?topic=4254.0


9 - O fundo

No ponto anterior viu-se que é possível inserir uma esfera que simula o céu. Isso era feito com o parâmetro #declare LDRAW_SKYSPHERE = 2;
No entanto, se a câmara for colocada noutro ângulo, e mesmo definindo um céu com nuvens, tudo o que se vê é isto:



O céu poderia ser um pouco melhor.

Para usar outras definições, vamos primeiro remover a esfera existente que simula o céu, mudando o parâmetro anterior de #declare LDRAW_SKYSPHERE = 2; para #declare LDRAW_SKYSPHERE = 0;
Em seguida desloca-se o cursor até ao fim do ficheiro, abre-se o menu Insert->LDraw->Sky and Light->Nuvens.



Aparece o seguinte texto:



E este é o resultado:



Agora temos um céu com nuvens com melhor aspecto, com sombras que são reflectidas pelos objectos. É ainda adicionada luz solar e um efeito de nevoeiro no horizonte.
Se o céu aparecer a preto, então é necessário mudar o nível de radiação difusa. Por exemplo, o nível 12 não é compatível com este efeito.

Se não for definida uma esfera, o programa usa automaticamente a cor de fundo definida nesta linha:
// Background:
background { color rgb <0,0,0>}

Pode-se definir a cor na forma <vermelho,verde,azul> (RGB). No entanto, aqui os valores variam entre 0 e 1 e não entre 0 e 255.
Por exemplo, <0,0,0> define o preto e <1,1,1> define o branco.
É também possível substituir rgb <0,0,0> pelo nome da cor, ficando da seguinte forma:
background { color White}
Consultar o ficheiro de ajuda do POV-Ray para ver a lista de cores disponíveis.

10 - O solo

Neste momento parece que o carro está sob um chão de plástico. Isso pode ser mudado facilmente uma vez que na instalação atrás descrita foram adicionadas as definições para vários tipo de solo.
No ficheiro POV, procurar pelo texto //Floor:
Anotar o valor a seguir a plane{y, . Esse valor é a coordenada Y do plano e neste caso é 95.85.
Seleccionar esse texto e apagar:



Mantendo o cursor por baixo de //Floor:, abrir o menu Insert->LDraw->LDraw Radiosity->radiosity floor
Aparece o seguinte texto:



Nesse texto existe o parâmetro #declare floor_height = XXX;
Aqui deve-se substituir o XXX pelas coordenadas anotadas anteriormente, ficando desta forma: #declare floor_height = 95.85;
O resultado é este:



Com o novo solo existe uma grande melhoria na iluminação geral, sombras e reflexos, além de ficar com melhor aspecto.
Existem mais texturas disponíveis, basta mudar a linha // #declare floor_texture = FFF para #declare floor_texture = FFF (ou seja, removem-se as duas barras //).
Agora basta substituir FFF por uma das texturas disponíveis que são indicadas nas linhas a verde antes desta.

Exemplos:

Espelho perfeito
#declare floor_texture = Mirror_100



Madeira
#declare floor_texture = T_Wood1



Existem mais tipos de solo disponíveis, incluindo água.



Em vez da opção anterior, no menu Insert escolher LDraw->Floors->waves
Tal como no anterior, basta introduzir a coordenada do plano. O local onde esta deve ser introduzida está indicado nos comentários a verde antes do código adicionado por esta opção.
Existem mais solos e efeitos disponíveis no menu LDraw, basta experimentar e ver qual é o que melhor se adequa ao rendering que se quer obter.

12 - Resolução e anti-aliasing

A resolução define o tamanho da imagem. Quanto maior for, mais demorado será o rendering e maior e mais detalhada será a imagem.
Estão disponíveis várias resoluções pré-definidas no canto superior esquerdo do POV-Ray. Algumas têm anti-aliasing (AA 0.3) e outras não (No AA).
O anti-aliasing torna as imagens mais suaves. Para comparação, aqui está a imagem anterior sem esta opção activada:



O anti-aliasing do POV-Ray não é perfeito, mas é possível melhorá-lo com uma técnica simples. Basta fazer o rendering à resolução mais alta possível e, com recurso a um programa de edição de imagem, reduzir essa imagem até à resolução pretendida.

13 - Interromper um rendering

O rendering pode demorar poucos minutos ou várias horas. Ao carregar no botão Stop inicia-se um processo de paragem que poderá demorar algum tempo e que fica concluído quando voltar a aparecer o botão Run. A partir daí pode-se fechar o POV-Ray e desligar o computador.
Para continuar esse rendering abre-se novamente o POV-Ray e no menu Render->Rerun escolhe-se a opção Continue ABC.pov, onde ABC é o nome do ficheiro.
Esta opção deixa de estar disponível se antes tiver sido iniciado um novo rendering.

14 - Hardware

O rendering do POV-Ray faz-se com recurso à memória e processador. Quanto mais rápido o processador e quanto maior for a quantidade e velocidade da memória, mais rápido será o rendering.
Apesar disto, o POV-Ray também funciona em computadores mais antigos, mas demorará mais tempo a fazer o seu trabalho e a possível falta de memória faz com que se tenha de recorrer ao ficheiro de paginação no disco rígido, tornando o processo ainda mais lento.

A placa gráfica não terá influência no rendering, excepto quando se usa uma placa gráfica integrada. Estas placas usam a memória RAM do sistema que poderia estar disponível para o POV-Ray e outras aplicações. Se o sistema tiver muita memória isto poderá ser desprezável.

As versões do POV-Ray abaixo da 3.6.1 não estão preparadas para usar todas as potencialidades dos sistemas com mais de um processador. Isto significa que num sistema com dois processadores será usado 50% de cada um para fazer o rendering.
O suporte a múltiplos processadores só estará disponível a partir da versão 3.7.

Outro pormenor a ter em é conta é o facto de que, durante um rendering, o processador e memórias estarão a trabalhar a 100% durante algum tempo e por isso é necessária uma boa refrigeração do computador.

Outra característica do POV-Ray é o facto de permitir executar outras tarefas durante o funcionamento do programa. Não se nota diminuição de velocidade do computador quando se trabalha em processamento de texto ou se navega na internet. Claro que isto também estará dependente das capacidades do computador.

15 - Exemplos

Aqui estão alguns exemplos de imagens criadas usando este método:

O carro deste tutorial:



Rendering feito a 3072x2304, AA 0.3 e reduzido para 800x600.

Ficheiro: http://www.brickshelf.com/gallery/Biczzz/stuff/POVTutorial4/car_final.pov

E mais alguns carros:



Fontes:
LGEO: http://www.el-lutzo.de/lego/lgeo.html
LGEOfix: http://www.hassings.dk/l3/lgeofix.html
Ldraw_radiosity.inc version 3.0 beta: http://www.digitalbricks.nl/RENDER/radinc3B.html
Custom_floors.inc version 0.1: http://www.digitalbricks.nl/RENDER/floorinc.html
POV-Ray Floor effects: http://www.ldraw.org/Article103.html
Definições Sky: http://www.f-lohmueller.de/pov_tut/backgrnd/p_sky1.htm
Definições Area Light: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=163897
L3P: http://www.hassings.dk/l3/l3p.html
L3PAdd-on: http://l3pao.malagraphixia.com/
LDraw Color Chart: http://www.ldraw.org/Article93.html
LDView: http://ldview.sourceforge.net/
Vagabondma's POV-Ray Insert Menu Codes: http://filebox.vt.edu/users/goverkam/





Este tutorial, incluindo texto original e imagens, está licenciado sob uma
Licença Creative Commons.
Outras obras criadas a partir deste tutorial devem fazer referência ao nome do autor e devem incluir uma ligação para este tópico.

Biczzz

Esta é a última parte!

Tudo o que é necessário para fazer um rendering razoável foi aqui explicado. É também quase tudo o que sei sobre este tema, mas com alguma pesquisa vai-se sempre achando mais alguma coisa. ;)

pedroagnelo

Perfeito! :-)d

(agora só falta mover tudo isto... :?)
Pedro Agnelo

LEGO® é uma marca registada da LEGO Company, que não patrocina nem apoia este fórum. O site LEGO® poderá ser visitado em www.lego.com
Tema desenhado por SMF e personalizado pela Comunidade 0937