Реализация движка рейкастинга Raycasting Engine Programming pikuma Этот курс научит вас создавать полноценный движок лучевого трассирования с нуля. Мы будем использовать алгоритм, похожий на тот, который использовался в Wolfenstein 3D. Итоговый проект будет написан на JavaScript и C. В нем будут реализованы движение игрока, вид карты в 2D, проекция стен в 3D, текстурированные стены, спрайты и другие техники оптимизации. Этот курс будет разделен на две важные части: Первая часть курса использует JavaScript для изучения теории и математики, лежащих в основе алгоритма лучевого трассирования. JavaScript — это простой высокоуровневый скриптовый язык, который помогает нам не отвлекаться на детали реализации. Вторая часть курса использует язык программирования C для реализации скомпилированной версии нашего лучевого трассировщика, включая текстурированные стены и спрайты. Также на языке C мы обсудим важные аспекты оптимизации и производительности нашего кода. Инструменты, которые вам понадобятся: Вам потребуется веб-браузер, поддерживающий JavaScript, и небольшой компилятор для C. Все эти инструменты кросс-платформенные, так что вы сможете следовать инструкциям на Windows, macOS или Linux! Алгоритм лучевого трассирования Wolfenstein 3D, который мы будем изучать, в значительной степени основан на тригонометрии, поэтому убедитесь, что у вас под рукой есть ручка и бумага для лекций. Я постараюсь, чтобы мы рассмотрели и поняли каждую формулу, которую встретим на нашем пути! Материал на английском языке https://pikuma.com/courses/raycasting-engine-tutorial-algorithm-javascript