Um curso passo a passo sobre renderização 3D, que ensina a criar um renderizador por software em cerca de 500 linhas de C++ puro, sem bibliotecas de terceiros.
RayTracing/raytracing.github.io
Série gratuita de livros online que ensina a criar um ray tracer do zero em C++, com o código-fonte completo de cada etapa.
- Estrelas
- 10,719
- Forks
- 1,016
- Issues abertas
- 81
- Último commit
- há 3 meses
O que é?
Ray Tracing in One Weekend é uma série de três livros que guia os leitores passo a passo na criação de um ray tracer. O primeiro livro aborda o pipeline principal e produz um renderizador funcional; o segundo, The Next Week, acrescenta recursos de renderização mais avançados; e o terceiro, The Rest of Your Life, aprofunda ainda mais as técnicas subjacentes.
O repositório disponibiliza os livros em páginas HTML, publicadas gratuitamente na web, e também em PDFs para impressão. Ele contém ainda o código-fonte final de cada livro, além das imagens e ilustrações usadas no texto, para que os leitores possam comparar suas próprias implementações com uma referência. O código é escrito em C++11, com um estilo deliberadamente simples, priorizando a legibilidade para um público amplo em vez do desempenho otimizado. O projeto compila com CMake e gera imagens no formato PPM.
O código-fonte foi pensado como material complementar para conferir o trabalho, e não como um tutorial independente. O projeto também lista implementações da série feitas pela comunidade em outras linguagens e sistemas operacionais.
Recursos principais
- 01Livros gratuitos na web que abordam ray tracing, dos conceitos básicos aos tópicos avançados
- 02Código-fonte completo de referência para a etapa final de cada livro
- 03Formatos HTML e PDF para impressão
- 04Compilável com CMake no Windows, Linux e macOS
- 05Gera imagens no formato PPM
Casos de uso
- Aprender como funciona um ray tracer implementando um por conta própria
- Comparar seu próprio renderizador com uma implementação de referência confiável
- Estudar conceitos de renderização baseada em física de forma prática
Início rápido
- 1
Clone o repositório do GitHub
- 2
Configure a compilação com CMake a partir da raiz do projeto
cmake -B build - 3
Compile todos os alvos
cmake --build build - 4
Execute um programa e salve a imagem em um arquivo PPM
build\Debug\inOneWeekend > image.ppm
Antes de usar
- Este repositório fornece código-fonte de referência para comparar com o seu próprio trabalho, não um aplicativo independente.
Tópicos
Perguntas frequentes
- O que é raytracing.github.io?
- Série gratuita de livros online que ensina a criar um ray tracer do zero em C++, com o código-fonte completo de cada etapa. Ray Tracing in One Weekend é uma série de três livros que guia os leitores passo a passo na criação de um ray tracer. O primeiro livro aborda o pipeline principal e produz um renderizador funcional; o segundo, The Next Week, acrescenta recursos de renderização mais avançados; e o terceiro, The Rest of Your Life, aprofunda ainda mais as técnicas subjacentes.
- raytracing.github.io é gratuito? Qual é a licença?
- raytracing.github.io é open source sob a licença CC0-1.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- raytracing.github.io ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de raytracing.github.io foi em 10 de ago. de 2026.
- Para que posso usar raytracing.github.io?
- Aprender como funciona um ray tracer implementando um por conta própria Comparar seu próprio renderizador com uma implementação de referência confiável Estudar conceitos de renderização baseada em física de forma prática
- Como instalar raytracing.github.io?
- Clone o repositório do GitHub Configure a compilação com CMake a partir da raiz do projeto: cmake -B build Compile todos os alvos: cmake --build build Execute um programa e salve a imagem em um arquivo PPM: build\Debug\inOneWeekend > image.ppm
- Onde consigo raytracing.github.io?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/RayTracing/raytracing.github.io
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
pbrt-v4 é o ray tracer baseado em física da 4ª edição do livro Physically Based Rendering, escrito em C++.
Blender é uma suíte gratuita e de código aberto para criação 3D, com ferramentas de modelagem, rigging, animação, simulação, renderização, composição, rastreamento de movimento e edição de vídeo.
Um livro gratuito e de código aberto sobre estruturas de dados e algoritmos, ilustrado e com código executável em mais de uma dúzia de linguagens de programação.
Um livro gratuito e de código aberto que ensina Vim e Vimscript, com foco nos recursos mais úteis do editor.
Um mod beta para Fabric que adiciona path tracing do NVIDIA RTX Remix ao Minecraft Java Edition 1.21.1 em GPUs GeForce RTX.