O PBRT (Physically Based Rendering) é um programa Open Source que utiliza o algoritmo Ray-Tracing para criar imagens tridimensionais realistas. As imagens resultantes deste algoritmo podem ser extremamente realistas dado que o algoritmo referido anteriormente tenta simular o verdadeiro funcionamento de uma fonte de luz das reflexões dos objectos que interajam com essa luz. Este artigo tem como objectivo ajudar a instalar este software que é utilizado por muitos estudantes de computação gráfica.
Para ter uma noção melhor do que é Ray-Tracing, aconselho a visitar a página da Wikipedia que explica em que consiste este algoritmo:
Instalação do programa
Como não existe nenhum repositório para este programa, será necessário compilar o código fonte do PBRT. Para proceder à compilação e para poder ter o programa em perfeito funcionamento, é necessário instalar algumas dependências. Por isso, abra o terminal e escreva o seguinte para instalar os diversos pacotes necessários:
Depois de ter todos os pacotes necessários, precisa de fazer download do código fonte do programa. Clique aqui para fazer download do código fonte do programa e, de preferência, guarde o ficheiro na sua Pasta Pessoal para depois a configuração ser mais fácil. Depois de fazer download do ficheiro, abra o terminal na pasta onde o ficheiro foi guardado (se não sabe como fazer este passo visite este artigo) e escreva o seguinte para descompactar o ficheiro:
Agora que tem o ficheiro descompactado, entre na pasta:
Antes de proceder à compilação, deve mudar o Makefile corrigindo a localização das bibliotecas, ou seja, deve abrir a Makefile:
E deve substituir estas duas linhas:
EXRINCLUDE=-I/usr/local/include/OpenEXR
EXRLIBDIR=-L/usr/local/lib
Por estas duas:
EXRINCLUDE=-I/usr/include/OpenEXR
EXRLIBDIR=-L/usr/lib
Salve o ficheiro e feche o programa. Depois, no mesmo terminal, escreva o seguinte para proceder à compilação:
Agora que tem o programa compilado, convém ter um atalho para executar o programa, por exemplo, criar um atalho que baste escrever o seguinte no terminal e o programa execute:
Ora, para tal basta escrever dois comandos no terminal e o programa, nessa sessão do terminal, reconhecerá sempre esse comando. Esses dois comandos dependem da localização da pasta onde salvou e compilou o programa (no início do artigo disse para guardar o programa na Pasta Pessoal para este propósito). Assim, assumindo que a pasta está na Pasta Pessoal, os dois comando referidos são os seguintes:
Exemplo de execução do PBRT
Para experimentar o programa, precisa de uma cena para a poder compilar e, posteriormente, a poder visualizar. Assim, faça download deste ficheiro e abra o terminal na pasta onde o guardou (deve utilizar o terminal onde adicionou os dois “exports” referidos acima para poder utilizar o comando “pbrt” ou, então, se é um terminal novo, corra novamente esses dois “exports”). No terminal escreva o seguinte para descompactar e entrar na pasta:
Compile o ficheiro:
E por fim visualize o resultado:
Na pasta scenes existe vários ficheiros que podem ser compilados, o ficheiro buddha.pbrt é apenas um exemplo.
Referências
Homepage do PBRT;
Ray-Tracing na Wikipedia.
The results suggest the initial inhibitory effect of ritonavir on CYP3A may be mitigated by a more slowly evolving induction effect so that after about 1 week of ritonavir twice daily, the exposure of tadalafil is similar in the presence of and absence of ritonavir [see Dosage and Administration (2. ,
Results revealed that infants younger than 6 months of age generally had lower lopinavir AUC12 than older children (6 months to 12 years of age), however, despite the lower lopinavir drug exposure observed, antiviral activity was demonstrated as reflected in the proportion of subjects who achieved HIV-RNA <400 copies/mL at Week 24 [see Adverse Reactions (6. ,
Hypothyroidism, after [b]diflucan substitute when on hctz[/b] removallevothyroxine, synthroid, levoxyl, armour thyroid, levothroid, liothyronine, more.
diflucan and nystatin and comparison ,
vegetables that affect coumadin levels ,
My goal weight is 180 lbs, but the Doctor says she would like me to loose at least 40 lbs. ,
This includes vitamins, minerals, herbal products, and drugs prescribed by other doctors. ,
Olá Mondragon,
Os links não precisam de ser executados na pasta pois você já está a escrever a localização da mesma. Quanto à biblioteca que estava a dar erro, peço desculpa, mas para pelo menos o jaunty jackalope, a biblioteca é diferente (libopenexr6) e por isso peço desculpa pelo sucedido, mas já está corrigido!
Para os utilizadores que tiverem problemas com a compatibilidade dos ficheiros com o unix, aconselho a instalar o pacote tofrodos:
sudo apt-get install tofrodos
E, depois, para converter o ficheiro para unix basta executar o novo comando com o nome do ficheiro como argumento, por exemplo:
dos2unix cornell2.pbrt.txt
Abraços.
Bom, quando fui conferir os procedimentos, percebi que o pacote “libopenexr2ldbl” não havia sido encontrado. Então baixei daqui: http://packages.ubuntu.com/hardy/i386/libopenexr2ldbl/download
e fiz a compilação do arquivo. Até aí tudo certo. Porém não consigo executar de forma alguma. Todos os arquivos estão na pasta pessoal. Se esses links devem ser executados na pasta pessoal, então não sei de fato onde está o problema. Pois:
root@mondragon-desktop:/home/mondragon# export PATH=$PATH:$HOME/pbrt-1.03/bin/
root@mondragon-desktop:/home/mondragon# export PBRT_SEARCHPATH=$HOME/mondragon/pbrt-1.03/bin/
Ou os links devem ser executados dentro da pasta “pbrt-1.03″ que está dentro da pasta pessoal?
Olá Lau,
Não sei qual será o problema, mas sei que o mais provável é estar relacionado com a programação da aplicação ou, então, a compilação falhou em algum módulo.
No entanto, experimente outro modelo, ou seja, em vez do buddha.pbrt, escolha o areapot.pbrt
Olá Mondragon,
Através desta mensagem de erro:
“bash: pbrt: comando não encontrado”
Você pode rapidamente concluir que o problema está no link. Você não deve ter feito bem o link para o programa e o terminal não está a reconhecer o comando pbrt. Ou seja, o problema deve estar nos EXPORTS.
Pode, também, estar na compilação. Caso a compilação não tenha sido bem sucedida os exports tornam-se obsoletos e esse erro também aparece. Veja se aquando da compilação deu algum erro, caso nao tenha dado o problema está no caminho dos exports que não deve ser esse que você pôs…
Abraços.
Seguindo as orientações, descompactei os arquivos na pasta pessoal e compilei. O mesmo com os arquivos SCENES. Porém, após criar os links para o programa. Já dentro da pasta scenes tentei compilar o ficheiro (pbrt buddha.pbrt), mas aparece o aviso:
root@mondragon-desktop:/home/mondragon/scenes# pbrt
bash: pbrt: comando não encontrado
A partir daí não avancei mais.
Uma pequena luz já me ajuda, pois estou começando a estudar Linux e portanto, visito este site com máxima frequencia. Grato.
Quando rodo “pbrt buddha.pbrt” aparece:
pbrt version 1.030 of May 22 2009 at 12:02:47
Copyright (c)1998-2007 Matt Pharr and Greg Humphreys.
The source code to pbrt (but *not* the contents of the book) is
covered by the GNU General Public License. See the file COPYING.txt
for the conditions of the license.
Segmentation fault
e nada mais acontece.
Sabe do que se trata?
Valeu !!
Olá Lau,
Peço desculpa pelo erro. Isso não é um pacote, mas sim, dois pacotes. Faltou pôr um espaço entre os dois pacotes que são os seguintes: libilmbase6 e build-essential
Já corrigi o artigo, já pode voltar a correr a linha para instalar as dependências…
Abraço.
Valeu pelo artigo Claudio mas não consegui achar esse pacote libilmbase6build-essential em nenhum lugar. Alguma dica?