
1 августа вышла новая версия Three.js r179 - свежак прямо из репозитория!
Что такое Three.js
Three.js - это бесплатная JavaScript-библиотека с открытым кодом, позволяющая создавать браузерную 3D‑графику через WebGL и экспериментально WebGPU.
Ближайшие конкуренты Three.js - это Babylon.js (но это скорее мощный движок с фокусом на игры и RTC), Verge3D (больше визуальный конструктор, чем кодовая библиотека) и LUME (обновляется даже чаще Three.js). Но Three.js легче учить, гибче в кастомизации и популярнее для статических и интерактивных проектов.
Что нового в версии r179?
Новая функциональность: EXRLoader - добавлен
lossyDctChannelDecode
- ускоренная и более компактная загрузка EXR‑текстур; Новый Output‑format API и цветовое пространство linear‑sRGB для правильной цветокоррекции;FBXLoader - исправлена ошибка с цветами вершин - теперь цвета в FBX импортируются корректно;
GTAOPass - улучшена производительность кэша Ambient Occlusion; Объекты Line2 исключаются из расчёта AO для правильной визуализации линий;
HTMLMesh - добавлена поддержка полей ввода типа
email
иpassword
— можно делать интерфейсы прямо внутри сцены;LensflareMesh - перешли с
fragmentNode
наcolorNode
— улучшены эффекты бликов;LightProbeGenerator - поддержка
FloatType
загрузки кубических текстур с probe — круто для освещения среды;OutlinePass - удалены объекты Line2 из расчёта контура — линии остаются резкими и чистыми;
RapierPhysics - добавлена поддержка
RoundedBoxGeometry
- закруглённые формы теперь работают прямо с физикой;RoomEnvironment - вместо старого ambient/intensity теперь используется
emissiveIntensity
для настройки освещения окружения сцены;RoundedBoxGeometry - добавлены типизация, описание параметров и экспорт через
toJSON()
- упрощают конфигурацию геометрии;Другие улучшения - улучшения NodeMaterial: fog применяется только однажды, новые NodeUtils, событие компиляции через
compileAsync()
, viewport и scissor API - всё для более стабильной работы и оптимизации рендеринга;Также доступен новый
setInstanceCount()
дляBatchedMesh
, методы ближайшей дистанции между линиями (Line3), улучшенный лог рендерера, более надёжная обратная глубина (reversed depth buffer), MRT‑поддержка для 2D‑текстур и др.
Обновлены страницы MaterialX, AnimationClip, Texture и другие. Добавлены новые примеры WebGPU: webgpu_postprocessing_dof_basic
, webgpu_compute_texture_3d
, улучшена поддержка MaterialX и отражений.
Итог
Three.js r179 — не революция, но набор продуманных улучшений для удобства работы: надёжная загрузка форматов, стабильность визуальных эффектов, гибкость NodeMaterial, WebGPU‑примеры и точная физика. Иными словами, идеальный апгрейд для структурированных проектов вкупе с работой в Blender 3D.
Постоянные обновления (графика, анимация и AI) - мой телеграм канал: https://t.me/photoudzen
Источники: