c-ray

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: github.com/jtsiomb/c-ray

c-ray — это компактный и понятный CPU-рендерер, реализующий алгоритм трассировки лучей (ray tracing) на языке программирования C99. Он был разработан для обучения и экспериментов, с акцентом на простоту кода и минимальные зависимости. Изначально c-ray был создан как одностраничный фильтр, принимающий описание сцены через стандартный ввод и выводящий изображение в формате PPM. Со временем проект эволюционировал, добавив поддержку более сложных сцен и расширенную функциональность.

Проект активно используется в образовательных целях, служа эталонным бенчмарком для оценки производительности CPU-рендереров. Он также находит применение в качестве основы для создания рендереров в других языках программирования. Несмотря на свою компактность, c-ray поддерживает такие функции, как глобальное освещение, отражения и простое управление камерой, что делает его полезным инструментом для изучения основ рендеринга и трассировки лучей.

  • Реализация на языке C99 с минимальными зависимостями
  • Поддержка глобального освещения с использованием простого Монте-Карло интегратора
  • Реализация камеры с глубиной резкости и тонкой линзой
  • Поддержка многопоточности для ускорения рендеринга
  • Встроенная система материалов с более чем 30 типами узлов, включая приближенную модель Principled BSDF
  • Поддержка рендеринга по сети с использованием TCP/IP
  • Наличие Python-обёртки и API на C для интеграции с другими приложениями
  • Поддержка плагина для Blender, позволяющего использовать c-ray в качестве рендерера
  • Простая система описания сцены с использованием текстовых файлов
  • Поддержка формата PPM для вывода изображений
  • Возможность использования c-ray в качестве бенчмарка для оценки производительности CPU-рендереров
Подробнее