Skip to content

GH120/Computer-Graphics-Java-Raytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Instalação e Execução

Precisa apenas do Java e JDK instalados

No Vscode precisa ser executado manualmente tem problemas de compilação devido aos pacotes, mas no InteliJ funciona perfeitamente.

Para escolher a cena,o modelo de renderização e as dimensões da imagem, basta mudar no main:

image

Features:

  • Raytracing usando MonteCarlo
  • Importação de Modelos OBJ
  • Raycasters, Raytracers, Raytracers paralelos e Raytracers com iluminação global
  • Fontes pontuais, direcionais, spot e extensas
  • Reflexões Especulares, Glossy e Refração
  • Texturas como wrappers para objetos
  • Matrizes e aplicação de matrizes em malhas (Escala, translação, rotação ,cisalhamento...)
  • Clusterização para otimização de malhas extensas usando BVH pelo algoritmo da Miniball(conseguimos importar malhas com mais de 25000 polígonos em tempo logarítimico)
  • Customização de Cenas e Objetos

Customização

Cenas são altamente customizaveis, basta criar uma classe que herda de cena e escolher suas configurações no construtor

  • Os objetos são configurados chamando a função Objetos(...) que aceita n objetos separados por vírgula.
  • As fontes pontuais são configuradas chamando a função Fontes(...) que aceita n fontes separadas por vírgula.
  • As fontes extensas são configuradas chamando a função FontesExtensas(...) que aceita n fontes separadas por vírgula.
  • As cameras são configuradas chamando a função Cameras(...) que aceita n cameras separadas por vírgula.

Qualquer dúvida melhor copiar uma cena existente e modificar pontualmente

image image image

Funcionalidade do modelo de renderização

Modelo de Renderização

Hierarquia das classes de objetos

Hierarquia dos Props - Página 1

Exemplos de cenas:

Glossy2 Misto Especular1 Glossy1 Captura de tela 2023-06-20 183640 Captura de tela 2023-07-17 152508 Captura de tela 2023-07-18 123425 Captura de tela 2023-07-18 140806 Captura de tela 2023-07-19 163048 Captura de tela 2023-07-19 192906 Captura de tela 2023-07-20 125959 Captura de tela 2023-07-20 225352

Captura de tela 2023-07-21 223956 Captura de tela 2023-07-22 103155 Captura de tela 2023-07-22 112434

About

Computer Graphics Customisable Raytracer Engine done in Java for a College Course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages