Jump to content

Три.js

Три.js
Оригинальный автор(ы) Рикардо Кабельо ( Mr.doob )
Разработчик(и) Авторы Three.js [1]
Первоначальный выпуск 24 апреля 2010 г .; 14 лет назад ( 24 апреля 2010 г. ) [2]
Репозиторий
Написано в JavaScript , GLSL
Тип библиотека JavaScript
Лицензия С [1]
Веб-сайт триджс .org

Three.js — это кроссбраузерная библиотека JavaScript и интерфейс прикладного программирования (API), используемые для создания и отображения анимированной трехмерной компьютерной графики в веб-браузере с использованием WebGL . Исходный код размещен в репозитории на GitHub . [3]

Three.js позволяет создавать 3D-анимацию с ускорением графического процессора (GPU) с использованием языка JavaScript как часть веб-сайта, не полагаясь на собственные плагины браузера . [4] [5] Это возможно благодаря появлению WebGL , [6] низкоуровневый графический API, созданный специально для Интернета. [7]

Библиотеки высокого уровня, такие как Three.js или GLGE , Scene.js, PhiloGL и многие другие, позволяют создавать сложные компьютерные 3D-анимации для отображения в браузере без усилий, необходимых для традиционного автономного приложения или плагина. [8]

Three.js был впервые выпущен Рикардо Кабельо на GitHub в апреле 2010 года. [2] Истоки библиотеки можно проследить до его участия в демосцене в начале 2000-х. [9] Первоначально код был разработан на языке ActionScript , используемом Adobe Flash , а затем был перенесен на JavaScript в 2009 году. По мнению Кабельо, было два сильных момента, оправдывающих отход от ActionScript: во-первых, JavaScript обеспечивал большую независимость от платформы. Во-вторых, приложения, написанные на JavaScript, не требуют предварительной компиляции разработчиком, в отличие от Flash-приложений.

Дополнительный вклад Cabello включает разработку API, CanvasRenderer, SVGRenderer и ответственность за объединение коммитов различных участников в проект.

С появлением WebGL Пол Брант смог довольно легко реализовать новую технологию рендеринга, поскольку Three.js был разработан с использованием кода рендеринга в виде модуля, а не в самом ядре. [10] несколько демоверсий WebGL Бранислав Уличный, один из первых участников, начал работать с Three.js в 2010 году после того, как разместил на своем сайте . Он хотел, чтобы возможности средства рендеринга WebGL в Three.js превосходили возможности CanvasRenderer или SVGRenderer. [10] Его основной вклад обычно связан с материалами, шейдерами и постобработкой.

Вскоре после появления WebGL 1.0 в Firefox 4 в марте 2011 года к нему присоединился Джошуа Ку. Свою первую демоверсию Three.js для 3D-текста он создал в сентябре 2011 года. [10] Его вклад часто связан с созданием геометрии.

Начиная с версии 118, Three.js по умолчанию использует WebGL 2.0. Старая версия стандарта по-прежнему доступна через класс WebGL1Renderer. [11]

У Three.js более 1700 участников на GitHub. [12]

Three.js включает в себя следующие функции: [13]

  • Эффекты: анаглиф, косоглазие и параллаксный барьер.
  • Сцены: добавление и удаление объектов во время выполнения; туман
  • Камеры: перспективная и ортогональная; контроллеры: трекбол, FPS , путь и многое другое
  • Анимация: арматура, прямая кинематика , обратная кинематика , морфинг и ключевой кадр.
  • Освещение: окружающее, направленное, точечное и точечное освещение; тени: отбрасывать и получать
  • Материалы: Ламберт , Фонг , плавная штриховка, текстуры и многое другое.
  • Шейдеры: доступ ко всем возможностям OpenGL Shading Language ( GLSL ): блики , проход глубины и обширная библиотека постобработки.
  • Объекты: сетки, частицы, спрайты, линии, ленты, кости и многое другое — все с уровнем детализации.
  • Геометрия: плоскость, куб, сфера, тор, трехмерный текст и многое другое; модификаторы: токарный станок, выдавливание и трубка.
  • Импорт/экспорт: встроенная сериализация/десериализация через JSON , glTF , OBJ , USDZ и другие.
  • Утилиты: полный набор функций времени и трехмерных математических функций, включая усеченную пирамиду , матрицу, кватернион , UV и многое другое.
  • Поддержка: документация по API находится в стадии разработки. Публичный форум и вики работают в полную силу.
  • Примеры: более 150 файлов с примерами кодирования, а также шрифты, модели, текстуры, звуки и другие вспомогательные файлы.
  • Отладка: Stats.js, [14] WebGL-инспектор, [15] Инспектор Three.js [16]
  • Виртуальная и дополненная реальность через WebXR [17]

Three.js работает во всех браузерах, поддерживаемых WebGL 1.0.

Three.js доступен по лицензии MIT . [1]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с «Три.js/лицензия» . github.com/mrdoob . Проверено 20 мая 2012 г.
  2. ^ Jump up to: а б «Первый коммит» . github.com/mrdoob . Проверено 20 мая 2012 г.
  3. ^ Mr.doob (04 марта 2021 г.), mrdoob/three.js , получено 4 марта 2021 г.
  4. ^ О3D
  5. ^ Unity (игровой движок)
  6. ^ «Хронос выпускает окончательную спецификацию WebGL 1.0» . Группа компаний «Хронос» . 3 марта 2011 года . Проверено 2 июня 2012 г.
  7. ^ «ВебГЛ» . Группа «Хронос» . 19 июля 2011 г. Проверено 22 января 2022 г.
  8. ^ Кроссли, Роб (11 января 2010 г.). «Исследование: средняя стоимость разработки достигает 28 миллионов долларов» . Intent Media Ltd. Архивировано из оригинала 13 января 2010 года . Проверено 2 июня 2012 г.
  9. ^ НВСцена. «Сессия NVScene 2015: изобретая колесо заново — в последний раз (Рикардо Кабельо)» . Ютуб.
  10. ^ Jump up to: а б с «Белая книга Three.js» . Гитхаб.com. 21 мая 2012 г. Проверено 9 мая 2013 г.
  11. ^ «Релиз r118 · mrdoob/three.js» (Пресс-релиз) . Проверено 24 мая 2023 г.
  12. ^ Mr.doob (03 августа 2020 г.), mrdoob/three.js , получено 24 мая 2023 г.
  13. ^ мрдуб (26 ноября 2012 г.). «Особенности mrdoob/three.js Wiki GitHub» . Гитхаб.com . Проверено 9 мая 2013 г.
  14. ^ "Stats.js" . Гитхаб.com . Проверено 9 мая 2013 г.
  15. ^ «Инспектор WebGL» . Benvanik.github.com . Проверено 9 мая 2013 г.
  16. ^ «Лаборатории инспекторов Three.js» . Zz85.github.com . Проверено 9 мая 2013 г.
  17. ^ «Примеры трех.js» . сайт Threejs.org .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b04bd252bcf9cd868c4fa1fe116a5ab2__1721783340
URL1:https://arc.ask3.ru/arc/aa/b0/b2/b04bd252bcf9cd868c4fa1fe116a5ab2.html
Заголовок, (Title) документа по адресу, URL1:
Three.js - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)