Imerza
Заголовок: Инженер 3D-графики (Three.js / WebGL) Местоположение: Imerza / удаленно
Мы ищем инженера 3D-графики, который будет отвечать за развитие и совершенствование движка рендеринга в реальном времени, лежащего в основе нашей веб-платформы цифровых двойников. Вы будете работать с нашей библиотекой рендеринга Three.js и React Three Fiber, создавая фотореалистичные, высокопроизводительные 3D-среды (архитектурные обзоры, иммерсивные демонстрации продаж и захват реальных пространств с помощью Gaussian splatting), которые работают в браузере на различных устройствах: киосках, планшетах, настольных компьютерах и широкоформатных дисплеях.
Это глубокая, узкоспециализированная инженерная роль, ориентированная на графику в реальном времени, производительность и конвейер 3D-активов. Вы будете сотрудничать с нашими full stack и веб-разработчиками, которые отвечают за сопутствующее веб-приложение, CMS и API, а также с нашими командами по контенту и 3D-захвату. Вы будете отвечать за движок рендеринга и его визуальное качество, а также за его дальнейшее развитие.
В Imerza мы являемся пионерами в области программного обеспечения для архитектурной визуализации, специализируясь на цифровых двойниках и маркетинге недвижимости. Мы превращаем архитектурные концепции в захватывающие, иммерсивные возможности, которые работают повсюду: от видеостены в центре продаж до планшета в руках покупателя.
Рендеринг и графика (основной фокус)
Создание и поддержка нашего движка рендеринга Three.js и React Three Fiber в реальном времени. Реализация и оптимизация функций рендеринга: освещение (лайтмапы, HDR и освещение на основе изображений, ambient occlusion), сглаживание, материалы и постобработка. Интеграция Gaussian splatting наряду с традиционным 3D-контентом на основе мешей. Написание и отладка GLSL шейдеров и пользовательских материалов. Разработка систем камер, навигации, путевых точек и взаимодействия со сценой.
Конвейер активов и производительность
Управление конвейером 3D-активов: оптимизация glTF и GLB, сжатие Draco и мешей, конвертация текстур KTX2 и Basis, и запекание лайтмапов. Профилирование и оптимизация частоты кадров, использования памяти и времени загрузки на устройствах с ограниченными ресурсами (планшеты, киоски) и на больших дисплеях. Использование пространственных структур (BVH) для быстрого рейкастинга, выбора и поиска пути. Создание диагностических и отладочных инструментов, которые позволяют измерять визуальное качество и производительность.
Сотрудничество
Сотрудничество с full stack и веб-разработчиками для предоставления чистого, хорошо документированного API рендерера для веб-приложения. Работа с командами 3D-захвата, контента и дизайна для переноса реальных пространств и дизайнов в движок. Вклад в монорепозиторий Nx с сильным тестированием, проверкой кода и документацией. Помощь в определении технического направления иммерсивных и фотореалистичных решений.
Наш стек
Ядро (над чем вы будете работать ежедневно)
Пользовательский движок рендеринга Three.js (@imerza/threejs-renderer), построенный на React Three Fiber и drei, встроенный в приложение Next.js. Gaussian splatting через Spark (@sparkjsdev/spark) для фотореалистичного захвата реальных пространств, рендеринг наряду с традиционным контентом на основе мешей. Конвейеры активов glTF и GLB со сжатием Draco, текстурами KTX2 и Basis, запеченными лайтмапами и HDR-освещением на основе изображений. WebGL и GLSL шейдеры, постобработка (temporal anti-aliasing, ambient occlusion) и пространственное ускорение с помощью three-mesh-bvh. Иммерсивный просмотр WebXR через @react-three/xr, включая 360-градусный просмотрщик. TypeScript везде, в монорепозитории Nx с рабочими областями pnpm.
Смежные области (принадлежат другим инженерам; полезно понимать)
Веб-приложение React и Next.js с Payload CMS, которое размещает и настраивает рендерер. Потоковая передача данных цифровых двойников в реальном времени в сцены через MQTT. Развертывание на базе AWS (CDK) и Docker.
От 3 до 7+ лет профессионального опыта разработки программного обеспечения, со значительным опытом работы с 3D-графикой или графикой в реальном времени. Глубокое знание Three.js (опыт работы с React Three Fiber — большой плюс). Уверенный опыт работы с WebGL и GLSL шейдерами. Сильные навыки работы с TypeScript или JavaScript. Опыт работы с форматами и конвейерами 3D-активов (glTF и GLB, текстуры, сжатие). Хорошее понимание 3D-математики (векторы, матрицы, кватернионы, преобразования и камеры). Опыт профилирования и оптимизации производительности рендеринга и использования памяти. Острое чувство визуального качества, освещения и деталей.
Желательно
Gaussian splatting или radiance fields (Spark, Luma, 3D Gaussian Splatting или работы, смежные с NeRF). Опыт работы с KTX2 и Basis, сжатием Draco или meshopt. PBR материалы, рабочие процессы запекания освещения и лайтмапов, а также HDR или освещение на основе изображений. WebXR, VR или AR (@react-three/xr или аналогичные). Знакомство с DCC-инструментами (Blender, 3ds Max, Maya) и конвейерами захвата или фотограмметрии (RealityCapture, Postshot и аналогичные). Опыт работы с Unreal Engine или другим движком реального времени. Опыт работы с React, Next.js или монорепозиторием (Nx, Turborepo). Опыт работы в архитектуре, AEC, BIM или с пространственными данными. Опыт работы с PlayCanvas
Возможность работать над передовыми технологиями цифровых двойников и иммерсивной визуализации. Совместная, ориентированная на продукт культура разработки. Конкурентоспособная оплата и льготы. Гибкая рабочая среда с реальными возможностями для роста.
Оценка RocketHunt по реальным зарплатам
Грейд
Senior
Опыт работы
от 3 лет
Формат работы
Удаленно
Уровень английского
B2 - Выше среднего
ИИ напишет его по твоему резюме, останется только отправить