Repolode
RayTracing

RayTracing/raytracing.github.io

Бесплатная серия книг, которая учит с нуля создавать ray tracer на C++ и содержит полный исходный код для каждого этапа.

Звёзды
10,719
Форки
1,016
Открытые issues
81
Последний коммит
3 месяца назад

Что это?

Ray Tracing in One Weekend — серия из трёх книг, в которых читатели шаг за шагом пишут ray tracer. В первой книге рассматривается основной конвейер и создаётся работающий рендерер; во второй, The Next Week, добавляются более продвинутые возможности рендеринга; третья, The Rest of Your Life, подробнее раскрывает лежащие в их основе методы.

В репозитории книги размещены в виде HTML-страниц: их можно бесплатно читать в интернете, а также скачать в PDF для печати. Здесь также хранится итоговый исходный код каждой книги, а вместе с ним — изображения и иллюстрации из текста, чтобы читатели могли сравнить свою реализацию с эталонной. Код написан на C++11 в намеренно простом стиле, рассчитанном на широкую аудиторию, а не на максимальную производительность. Проект собирается с помощью CMake и выводит изображения в формате PPM.

Исходный код предназначен для проверки своей работы и служит дополнением к книгам, а не самостоятельным учебником. В проекте также перечислены созданные сообществом реализации серии на других языках и для других операционных систем.

Ключевые возможности

  • 01Бесплатные книги в интернете: от основ трассировки лучей до продвинутых тем
  • 02Полный эталонный исходный код для итогового этапа каждой книги
  • 03HTML- и PDF-версии, удобные для печати
  • 04Сборка с помощью CMake в Windows, Linux и macOS
  • 05Вывод изображений в формате PPM

Сценарии использования

  • Разобраться в работе ray tracer, самостоятельно реализовав его
  • Сравнить собственный рендерер с проверенной эталонной реализацией
  • На практике изучить концепции физически корректного рендеринга

Быстрый старт

  1. 1

    Клонируйте репозиторий с GitHub

  2. 2

    Настройте сборку с помощью CMake из корневой папки проекта

    cmake -B build
  3. 3

    Соберите все цели

    cmake --build build
  4. 4

    Запустите программу и сохраните изображение в файл PPM

    build\Debug\inOneWeekend > image.ppm

Что важно знать

  • В этом репозитории представлен исходный код для сравнения с вашей собственной работой, а не отдельное приложение.

Темы

Частые вопросы

Что такое raytracing.github.io?
Бесплатная серия книг, которая учит с нуля создавать ray tracer на C++ и содержит полный исходный код для каждого этапа. Ray Tracing in One Weekend — серия из трёх книг, в которых читатели шаг за шагом пишут ray tracer. В первой книге рассматривается основной конвейер и создаётся работающий рендерер; во второй, The Next Week, добавляются более продвинутые возможности рендеринга; третья, The Rest of Your Life, подробнее раскрывает лежащие в их основе методы.
raytracing.github.io можно использовать бесплатно? Какая у него лицензия?
raytracing.github.io распространяется с открытым исходным кодом под лицензией CC0-1.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
raytracing.github.io всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в raytracing.github.io — 10 авг. 2026 г..
Для чего можно использовать raytracing.github.io?
Разобраться в работе ray tracer, самостоятельно реализовав его Сравнить собственный рендерер с проверенной эталонной реализацией На практике изучить концепции физически корректного рендеринга
Как установить raytracing.github.io?
Клонируйте репозиторий с GitHub Настройте сборку с помощью CMake из корневой папки проекта: cmake -B build Соберите все цели: cmake --build build Запустите программу и сохраните изображение в файл PPM: build\Debug\inOneWeekend > image.ppm
Где скачать raytracing.github.io?
Исходный код и инструкции по установке — на GitHub: https://github.com/RayTracing/raytracing.github.io

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Blender — бесплатный пакет с открытым исходным кодом для создания 3D-контента: моделирования, риггинга, анимации, симуляции, рендеринга, композитинга, трекинга движения и видеомонтажа.

21,2 тыс.3,4 тыс.C++OtherОбновлён 14 часов назад