My-read-books

Пятьдесят штрихов о прочитанных(переведённых) книгах.

Штрих сорок девятый. 2024 год.

Джос Дирксен. Книга рецептов: Библиотека Three.js. Более чем 80 советов, решений и рецептов, позволяющих создавать самые ошеломляющие визуализации и 3D-сцены, с помощью библиотеки Three.js.

p.s.

Выдержка из книги:

Предисловие

Каждый год веб-браузеры становятся более мощными, с увеличенными функциями и улучшаются в производительности. В течение последних лет браузеры превратились в большую платформу для создания иммерсивных, сложных и красивых приложений. Большинство текущих построенных приложений, используют современные HTML5-возможности, такие как веб- сокеты, локальное хранилище и усовершенствованные CSS-методы для стилизации.

У большинства современных браузеров, однако, также есть поддержка технологию, которая может использоваться для создания красивой 3D-графики и анимации, и использующую графический процессор GPU, для достижения максимальной производительности. Эту технологию называют библиотекой низкоуровневой трехмерной графики WebGL и ее поддерживают последние версии браузеров Firefox, Chrome, Safari и Internet Explorer. С помощью библиотеки низкоуровневой трехмерной графики WebGL можно создать 3D-сцены, выполняемые напрямую в браузере без необходимости каких-либо плагинов. На ПЭВМ этот стандарт поддержан хорошо и самые современные устройства и мобильные браузеры полностью поддерживают этот стандарт.

Однако, чтобы создать WebGL-приложения, вы должны выучить новый язык(именуемый GLSL) и понять, как могут использоваться вершинный шейдер и фрагментный шейдер, чтобы рендерить 3D-геометрии. К счастью, тем не менее, есть много доступных JavaScript-библиотек, обертывающих WebGL-внутренности и предоставляющих программный JavaScript API- интерфейс для разработки, который можно использовать, без необходимости понимания самых сложных WebGL-возможностей. Одна из самых зрелых и многофункциональных тех библиотек - библиотека высокоуровневой трехмерной графики Three.js.

Разработка библиотеки высокоуровневой трехмерной графики Three.js стартовала в 2010 году и теперь библиотека предоставляет большое количество, простых в использовании, программных JavaScript API- интерфейсов для разработки, выставляющих интерфейсы всех Three.js- возможностей, и позволяющих быстро создавать сложные 3D-сцены и анимации в браузере.

Через ее программные JavaScript API-интерфейсы для разработки можно сделать в значительной степени все, что хотите сделать с использованием библиотеки высокоуровневой трехмерной графики Three.js. Однако, потому что в этой библиотеке есть столько возможностей, то иногда трудно найти правильный способ выполнить что-то. В течение ряда лет библиотека Three.js находилась в процессе тяжелого развития, но теперь она стабилизировалась. Много примеров и учебных руководств, которые находите онлайн, устарели и не работают больше. В этой книге мы предоставим большое количество рецептов, которыми вы можете использовать, чтобы выполнить некоторые общие задачи с использованием библиотеки высокоуровневой трехмерной графики Three.js. Каждый пример сопровождается с выполнимым примером, который можно исследовать, чтобы лучше понять рецепт или адаптировать его в ваших собственных целях.

Для кого предназначена эта книга?

Эта книга предназначена для всех, кто имеет базовое понимание языка программирования JavaScript и библиотеки Three.js, но хочет изучить, как использовать больше расширенных возможности библиотеки Three.js. Вам не требуется знание понятий высшей математики или глубоко знать библиотеку низкоуровневой трехмерной графики WebGL. Рецепты в этой книге постепенно объяснят различные возможности библиотеки Three.js, и мы также ко всем рецептам предоставляем готовые к использованию HTML- исходники.

Что рассматривает эта книга?

Глава 1 «Начало работы» объясняет базовые рецепты, которы можно использовать, когда вы создаете новые приложения на базе библиотеки высокоуровневой трехмерной графики Three.js. Мы покажем, как можно установить базовый скелет Three.js-приложения, используя любой из доступных Three.js-рендеров. Далее мы покажем вам процедуры обнаружения библиотеки низкоуровневой трехмерной графики WebGL, загрузки ресурсов, настройки цикла анимации, добавления поддержки переноса и опускания, и управления сценой через клавиатуру.

Глава2«Геометрии и меши» показываетмногорецептов, фокусирующихся на создании, использовании в работе и манипуляции геометриями и мешами. Мы проникнем в детали того, как по-разному повернуть меши, манипулировать ими с использованием матричных преобразований, генерировать геометрии программно и загружать модели из программы Blender и в других форматах.

Глава 3 «Работа с камерой» фокусируется на рецептах, которые управляют камерами, доступными в библиотеке Three.js. Это показывает, как работать с перспективой и ортографической камерой. Эта глава также показывает рецепты, объясняющие, как повернуть камеру, центрировать камеру и следовать за объектами.

Глава 4 «Материалы и текстуры» содержит рецепты, которые объясняют, как получить хорошие результаты при работе с материалами, предоставленными библиотекой Three.js. Имеются рецепты по прозрачности, отражениям, UV-наложении, материалам граней, картам выпуклостей и картам нормалей и также объяснено, как работают различные режимы смешивания.

Глава 5 «Источники света и нестандартные шейдеры» содержит рецепты, имеющие дело с работой различных источников света в библиотеке Three.js, и показывающие, как работать с WebGL-шейдерами. Показано, как правильно установить тени, создать подобный солнцу источник освещения, и объяснены различия между источником прожекторного света, источником точечного света и источником направленного света. В этой главе мы также предоставим несколько рецептов, объясняющих, как создать нестандартный вершинный шейдер и нестандартный фрагментный шейдер.

Глава 6 «Облака точек и постобработка» предоставляет рецепты, показывающие, как установить пост-обработку. С помощью пост-обработки вы можете улучшить свою сцену путем размывания, окраски или другими типами эффектов. Эта глава также содержит рецепты, объясняющие возможности системы частиц, такие как анимация и материалы частиц.

Глава 7 «Анимация и физика» показывает много рецептов, помогающих в анимации объектов в сцене и показывающих, как добавить физику(такую как сила тяжести и обнаружение столкновений(коллизии)) к сцене.

Что потребуется для работы с книгой?

Единственное, в чем вы нуждаетесь для этой книги, является простой текстовый редактор, для экспериментирования с предоставленными рецептами, и современный веб-браузер, для выполнения примеров. Для некоторых усовершенствованных рецептов, предпочтено иметь локально установленный веб-сервер, или предпочтено отключить некоторые параметры настройки безопасности в браузере. В главе 1 «Начало работы», предоставлены рецепты, объясняющие, как установить такой сервер и отключить соответствующие параметры настройки безопасности.

Книга:

https://www.packtpub.com/product/threejs-cookbook/9781783981182

Загрузка кода примеров для этой книги:

https://github.com/josdirksen/threejs-cookbook

Загрузка цветных изображений для этой книги:

https://static.packt-cdn.com/downloads/1182OS.pdf