Этот репозиторий представляет собой код поддержки для моих лекций по компьютерной графике. Он не претендует на то, чтобы стать совершенным кодом рендеринга или даже физически реалистичным. Это должно быть просто . Этот проект распространяется по публичной лицензии DO WHAT FUCK YOU WANT TO.
Проверьте вики, которая сопровождает исходный код. Вторая глава о трассировке лучей доступна в репозитории tinykaboom. Если вы ищете программный растеризатор, ознакомьтесь с другой частью лекций.
В своих лекциях я стараюсь избегать сторонних библиотек, пока это разумно, потому что это заставляет понять, что происходит под капотом. Итак, трассировка лучей из 256 строк простого C++ дает нам следующий результат:
git clone https://github.com/ssloy/tinyraytracer.git
cd tinyraytracer
mkdir build
cd build
cmake ..
make
Вы можете открыть проект в Gitpod, бесплатной онлайн-среде разработки для GitHub:
При открытии редактор скомпилирует и запустит программу, а также откроет полученное изображение в предварительном просмотре редактора. Просто измените код в редакторе и перезапустите скрипт (используйте историю терминала), чтобы увидеть обновленные изображения.