
05.02.2024 09:20
ZX Spectrum: 17 годин на кадр, але все ж таки трасування променів
Уявіть собі, що ви запускаєте на ZX Spectrum, 42-річному комп’ютері з 3,5 МГц процесором і 16 КБ оперативної пам’яті, трасування променів — технологію, яка використовується для створення реалістичного 3D-зображення з тінями, відблисками та заломленням світла.
Саме це зробив Габріель Гамбетта, автор книги «Комп’ютерна графіка з нуля». Він портував базовий код трасування променів з книги на BASIC, мову програмування ZX Spectrum, і йому вдалося створити 3D-зображення сфери з тінями.

Гамбетта давно цікавився ZX Spectrum. Він виріс з цим комп’ютером в Уругваї та написав на ньому багато програм. Він також захоплюється трасуванням променів і написав про цю технологію книгу.
Одного разу Гамбетта замислився, чи можливо запустити трасування променів на ZX Spectrum. Він знав, що це буде дуже складно, адже комп’ютер має дуже обмежені можливості.
«ZX Spectrum був дешевим комп’ютером, тому його розробник, сер Клайв Сінклер, пішов на всілякі хитрощі», — розповідає Гамбетта. «Це був обмежений комп’ютер навіть для свого часу».
ZX Spectrum має 3,5 МГц процесор, 16 КБ оперативної пам’яті, 256×192 пікселів з 15 кольорами. Це робить трасування променів дуже складним завданням.
«Найцікавішою частиною проєкту було з’ясувати, як обійти всі ці обмеження, щоб зробити щось, що працювало б досить швидко, якщо ви вважаєте 17 годин на кадр досить швидким, і виглядало б досить добре», — говорить Гамбетта.

Гамбетті вдалося створити 3D-зображення сфери з тінями, використовуючи трасування променів. Рендеринг одного кадру займає близько 17 годин, але результат дійсно вражає, враховуючи обмеження ZX Spectrum.
«Я запустив цю ітерацію, і, чесно кажучи, я дивився на неї, не вірячи своїм очам, цілу хвилину», — каже Гамбетта.
Нагадаємо, ютубер Inkbox, нещодавно створив 16-розрядний процесор в Excel.