Зіркове поле варп-швидкості відтворює культовий ефект тунелю гіперпростору повністю у GLSL-фрагментному шейдері, що виконується на вашому GPU. Тисячі зірок розподілені по 18 радіальних кільцях; кожна летить від центру назовні, залишаючи за собою яскраву смугу. Що далі зірка від центру — то швидше вона проноситься повз: точне відтворення ефекту радіального паралаксу, що створює відчуття руху крізь космос зі швидкістю, кратною швидкості світла. Переміщайте повзунки, щоб відчути різницю між легким крейсерським 0,5×c і потужним варпом 10×c, або натисніть Стрибок у гіперпростір! для 2,5-секундного сплеску до 40×c понад поточну швидкість.
На варп-швидкості стиснення простору змушує зірки попереду здаватися радіальними смугами, що стріляють назовні. Шейдер моделює це через анімований радіус кожної зірки, що зростає з часом із коефіцієнтом варпу. Довжина смуги зростає зі швидкістю та відстанню зірки від центру — так само, як передбачають перспектива та релятивістська аберація.
Варп-швидкість (0,1–10×c) задає крейсерську швидкість. Густота зірок визначає, скільки з ~16 000 зіркових клітин заповнено. Довжина смуги подовжує або вкорочує сліди руху. Оберіть Колірну тему — синьо-біла для реалістичної зіркової палітри, туманність для яскравого спектру, золота для теплого ретро-вигляду. Натисніть Стрибок у гіперпростір! для 2,5-секундного сплеску варп+40.
На варп-швидкостях понад ~3×c шейдер додає хроматичну аберацію: червоний канал злегка розтягується назовні, а синій стискається, імітуючи доплерівський зсув до синього та червоного, який спостерігав би релятивістський мандрівник. На варпі 3 ефект ледь помітний, але на варпі 10 він яскраво виражений — придивіться до кінчиків зіркових смуг.
Візуалізація натхненна релятивістськими ефектами, але є художнім наближенням, а не строгим фізичним рушієм. Насправді рух поблизу швидкості світла спричинив би потужний доплерівський зсув до синього (зірки попереду здавалися б синіми і стисненими до носового боку) та аберацію Лоренца. Симуляція відтворює головне відчуття — радіальні смуги, центральне сяйво, хроматичне обрамлення на великих варпах — виконуючись у реальному часі у браузерному шейдері. Вважайте її фізично мотивованою, але не фізично точною.
Варп-швидкість задає, як швидко зірки летять назовні; більші значення також автоматично збільшують довжину смуги, оскільки шейдер множить її на effectiveWarp. Густота зірок масштабує кількість заповнених клітин сітки від ~1 600 (10%) до 16 000 (100%). Довжина смуги — прямий множник для сліду кожної зірки. Колірна тема змінює палітру: синя — холодна зоряна синьо-біла, біла — нейтральна яскравість, туманність — кожна зірка отримує повноспектральний відтінок, золота — теплі бурштинові тони.
Натискання Стрибок у гіперпростір! запускає 2,5-секундний імпульс: швидкість наростає протягом першої 0,75 с, утримується на піку 1 с, потім знижується. На піку шейдер додає 40×c понад поточне значення варпу — при стандартному варпі 3 ефективна швидкість досягає 43×c. Кнопка вимкнена під час стрибка, а панель статистики відображає миттєву ефективну швидкість.
Так — симуляція використовує Three.js WebGL-рендерер із власним GLSL-фрагментним шейдером. Будь-який сучасний смартфон або ноутбук із GPU, що підтримує WebGL 1.0 (практично всі пристрої, випущені після 2012 року), запустить його плавно. Піксельне співвідношення обмежене до 1,5× для підтримки високої частоти кадрів на дисплеях HiDPI. Якщо полотно залишається чорним, у вашому браузері може бути вимкнено WebGL — перевірте about:config (Firefox) або chrome://flags (Chrome) та увімкніть апаратне прискорення.
Шейдер плавно знижує яскравість кожної зірки до нуля, коли її екранний радіус менший за 0,15 одиниці. Це запобігає різкому «появі» зірок у точці зникнення. У нарративі гіперпростору це можна уявити як зірки, що виринають з горизонту подій варп-тунелю — матеріалізуються з яскравого центрального сяйва в міру того, як ви прискорюєтесь повз них.