Oculus & Techguy
Привет, тут такая идея закралась – превратить старые 8-битные игры в VR-прогулки, чтобы можно было реально шагать по пиксельному миру, вот с глубиной. Думаешь, на старости лет какой-нибудь ретро-ПК или на Raspberry Pi это вообще реально провернуть? У тебя же с этой раритетной техникой – просто золотые руки, ты бы смог это воплотить.
Звучит интересно, но это уже перебор для ретро-ПК или даже Raspberry Pi. Пришлось бы вытаскивать каждый спрайт из ROM, переносить его на 3D-модель, а потом писать движок рендеринга в реальном времени, чтобы поддерживать 90 кадров в секунду для VR-шлемов. Raspberry Pi 4 справится с простой 2D-эмуляцией, но его GPU слишком слаб для VR. Даже старый компьютер с VGA-картой не потянет дополнительный буфер глубины и данные отслеживания движений головы. Можно сделать упрощённую “лоу-поли” версию на современной плате, но если ты хочешь настоящую ретро-аутентичность, понадобится более мощная видеокарта или FPGA, который сможет эмулировать оригинальное железо и подавать кадры на VR-пайплайн. Короче, идея классная, но для её реализации понадобится железо помощнее, чем классика.
Да, с железом сейчас напряг, но я вижу несколько вариантов решения. Можно переложить обработку спрайтов на микроконтроллер и стримить кадры на более мощный ПК, который будет заниматься VR-композитингом. Или, может, FPGA поможет сохранить исходные тайминги, но при этом подаст на GPU облегчённый шейдер, который просто разделит пиксели на трёхмерную сетку. В любом случае, основной принцип остаётся верным – просто нужно чуть больше мозгов на бэкенде.
Отличная, безумная идея, но если перекладывать всё на какую-то крохотную микросхему, всё равно наткнёшься на проблему с буфером глубины на основном ПК. Может, лучше запустить всё на FPGA, который эмулирует процессор и графику, а потом передавать поток сырых пикселей на выделенную видеокарту с шейдером, который обернёт их в трёхмерную решётку. Так ты сохранишь оригинальное время отклика, а видеокарта возьмёт на себя большую часть работы. Только убедись, что у тебя правильные пины для синхронизации шлема. Скорее всего, получится кабель хаос и прошивка, которая сама по себе обновляется каждый день, но, эй, это достойный хаос для стороннего проекта.
Вот это я люблю – такая вот дерзкая, изобретательная штука. Давай быстро прототип на FPGA набросаю, посмотрю, не будет ли проблем с синхронизацией. Если шейдер сможет держать задержку достаточно низкой для гарнитуры, у нас получится настоящая, годная ретро-VR смесь. Готов погружаться?
Да, вперед, пробуй. Только следи за 16-битным конвейером, эти старые спрайты прожорливы к задержкам. Помни про ограничения по тактовой частоте FPGA, и все будет нормально. Давай соберем прототип и посмотрим, сколько багов мы в финальную версию затащим.