Projeto 3 – Renderizador Baseado em Raios
Data de entrega: 7/11/2024, via Blackboard.
Link do Github: enviar via Blackboard o link do git.
Entrega: individual ou duplas.
Nesse projeto, você irá implementar um renderizador usando rotinas baseadas em raios. Você poderá optar por implementar um Ray Tracing ou um Ray Marching com recursos do WGSL no código de referência do curso.
-
Ray Tracing https://github.com/Gustavobb/raytracing-wgsl-template
-
Ray Marching https://github.com/Gustavobb/raymarching-wgsl-template
Instruções
Desenvolva em WGSL as novas rotinas. Conforme você implementar mais funcionalidades, terá melhores notas:
Ray Tracing:
- D: "Basic", "Metal", "Fuzz"
- C: "Specular", "Emissive"
- C+: "Dielectric", "Spheres", "Night"
- B: "Cubes", "Cornell", "Mirror", "Infinite"
- B+: "Bunny", "Suzanne" e Crie uma cena nova
- A: Adicione uma nova primitiva geometrica
- A+: "Rotation", "Everything"
gabarito: https://gubebra.itch.io/raytracing
Ray Marching:
- C: "Sphere", "SkyAndHS", "Multiple"
- C+: "Rotation"
- B: "Animation", "Outline"
- B+: "Union", "Subtraction", "Intersection", "Blobs"
- A: "Mod", "SoftShadows"
- A+: Adicione uma nova primitiva geometrica ou "Fractal" ou "Weird". Você deve fazer sua própria função de fractal ou uma cena com uma geometria maluca.
gabarito: https://gubebra.itch.io/raymarching-webgpu
Entrega
Para entregar o projeto armazene seu projeto em um repositório git e envie o link pelo Blackboard. Deixe seu código minimamente documentado e garanta que ele está rodando corretamente. Se quiser deixar o código fechado, não esqueça de dar acesso para o professor ao repositório.
Honestidade acadêmica
As tarefas devem ser concluídas em dupla ou individualmente. Você está convidado a discutir as várias partes das tarefas com seus colegas, mas você deve implementar os algoritmos. Você não deve ficar olhando o código de seus colegas.