Обновить
32K+

WebGL *

Программная библиотека для JavaScript

4,97
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Пересчет изображений под разные картографические проекции в WebGL

Время на прочтение2 мин
Охват и читатели9K
В посте на своем блоге «gdal_translate и gdalwarp для перепроицирования изображений» описывался процесс получения картинок под разные проекции с помощью утилит GDAL. Полученные изображения я использовал как подложки для карт в примерах проекта dbCartajs. Позже, работая над портированием канвасной версии своего планетария на WebGL, описанной в статье «Звездное небо на WebGL с использованием Three.js» на Хабре, у меня возникла мысль со временем перенести не только глобус, но и плоские на карты на WebGL, используя вместо фона текстуры. То есть для создания карты обойтись только использованием браузера и JavaScript без использования серверных компонентов.

image
Читать дальше →

Microsoft хакатон «IoT — интернет вещей» в Нижнем Новгороде

Время на прочтение14 мин
Охват и читатели8.3K

Повод, чтобы начать


Я хочу рассказать про хакатон, который проводила компания Microsoft и Intel в Нижнем Новгороде в рамках Технологической экспедиции Microsoft Developer Tour. Так сказать из первых уст. Как участник. Думаю, так будет наиболее интересно.

Тема хакатона, который должен был проходить в Нижнем Новгороде, IoT — Internet of Things (интернет вещей). Честно говоря, для меня этот термин был в новинку и пришлось погуглить, чтобы понять основные принципы. Оказалось всё достаточно просто, есть устройство, которое собирает информацию с некоторых датчиков и отправляет ее в интернет для доступа и обработки.
Читать дальше →

Редактирование шейдеров WebGL на лету — теперь и в Хроме

Время на прочтение1 мин
Охват и читатели8.7K
Не прошло и двух лет с тех пор, как в Firefox появилась возможность редактировать шейдеры на любом сайте, использующем WebGL. И вот теперь такая возможность появилась и в Chrome. Однако, за эту возможность следует поблагодарить не сотрудников Google, а независимого разработчика, которому надоело ждать у моря погоды.
Читать дальше →

Игровой мир WebGL или Three.js vs Babylon.js

Время на прочтение17 мин
Охват и читатели82K


Когда я начинал писать свою первую игрушку на three.js я и не думал, что на самом деле three.js это верхушка айсберга в мире WebGL и что есть десятки разнообразных фреймворков и у каждого из них свой специфический уклон, а three.js просто один из них.

Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Продолжение — многопользовательский шутер

Далее подробней с небольшими примерами

Звездное небо на WebGL с использованием Three.js

Время на прочтение2 мин
Охват и читатели22K
В посте про «Звездное небо на Canvas» я уже описывал свой проект, где при помощи JavaScript на канвасе 2d формируется изображение глобуса Земли на фоне звезд, планет и орбит космических аппаратов. Для создания трехмерной картины звездного неба на плоскости я использовал формулы перевода трехмерных координат X, Y, Z отображаемых объектов: звезд, планет, космических аппаратов (КА), — в плоские декартовые координаты X, Y. Основную часть этих формул я взял из проекта Marble из состава KDE. Портированный с C++ на JavaScript код я сохранил в файле starry.js.

Starry Sky 3D
Читать дальше →

Сказ о том, как мы в хакатонах участвовали, или Страх и Ненависть в Кремниевой Долине

Время на прочтение6 мин
Охват и читатели25K


Все началось минувшим летом, когда нам с товарищем «по оружию» немного взгрустнулось, и мы решили, что примем участие в значимых и интересных нам «развлекательно развивающих соревнованиях с элементами программирования», или, как их называют треклятые буржуи, хакатонах. Не долго думая, мы остановили наш взор на Долине из Кремния, так как событий подобной тематики тут много и есть высокий шанс найти интересные нам. С тех пор мы поучаствовали в ни много ни мало 3 хакатонах, тем самым лишившись порядка 40 часов сна. Сей сказ повествует о наших впечатлениях, сделанных нами проектах и атмосфере вокруг описываемых событий.
Начнем же.

Днепропетровский Ciklum Speakers’ Corner “Intro to WebGL with THREE.js (based on Source's «Leaderboard in Reception»)”, 30 октября

Время на прочтение1 мин
Охват и читатели1.5K
В четверг, 30 октября, Ciklum порадует днепропетровских разработчиков мероприятием в рамках Ciklum Speakers’ Corner с докладом на тему “Intro to WebGL with THREE.js (based on Source's «Leaderboard in Reception»)”

image
Читать дальше →

Blend4Web, открытая платформа для создания трехмерных веб-приложений

Время на прочтение5 мин
Охват и читатели24K
Ниже изложено содержание обзорной статьи о платформе Blend4Web, написанной мной для ресурса Mozilla Hacks, с изменениями и дополнениями.

В марте 2014 года командой российских разработчиков был представлен первый публичный релиз Blend4Web, открытой платформы для создания трехмерных веб-приложений. В этой статье рассматривается история развития платформы и перспективы ее применения.
Читать дальше →

Музейные приключения с телефоном

Время на прочтение11 мин
Охват и читатели10K
Приветствую уважаемых читателей. Меня зовут Андрей, в последнее время я работаю в Центральном Музее Великой Отечественной войны. Помимо создания обычных музейных занимаюсь ещё и разработкой виртуальных выставок. Поэтому в своём обзоре Nokia Lumia 1520 я покажу, как можно использовать данный телефон для создания небольшой виртуальной экскурсии, используя 20-мегапиксельную камеру и JavaScript библиотеку Three.JS.
Читать дальше →

Платформер на Three.js

Время на прочтение6 мин
Охват и читатели38K
На днях мистер Дуб принял мой первый pull request с примером в Three.js, и на радостях я решился написать о нём хабропост. Если вам вдруг захочется написать трёхмерный платформер на Three.js, но вы не особо представляете себе, как это сделать, этот пример — для вас:



Весь код примера занимает менее 300 строк, щедро разбавленных переносами, разобраться в которых самостоятельно не составит особого труда. Однако, чтобы ещё больше облегчить вашу участь, я напишу немного ниже пару слов о ключевых моментах.
Почитать, что ли...

Собственный движок WebGL. Статья №3. Примитивы

Время на прочтение6 мин
Охват и читатели7.7K
В продолжении статьи

В первой статье уже использовался самый первый примитив, который можно назвать просто «произвольная форма».

Перед описанием примитивов-объектов еще раз повторю два основных требования-замечания от нашей системы:
  • Каждый примитив должен содержать вектор вершин и вектор индексов (vertex, indices).
  • Строится каждый примитив по индексам через треугольники (TRIANGLE), то есть каждые 3 точки образуют независимый треугольник.


По мимо требований к каждому примитиву мы можем подключить матрицу. После подключения можно с легкостью производить следующие манипуляции:
  • Перемещение по любой из осей. Перемещение на определенное кол-во единиц или перемещение к любой точки в пространстве
  • Поворот вокруг любой точки. При подключении матрицы нам становится известен центр, соответственно, мы можем поворачивать примитив вокруг любой точки указав точку или же вокруг собственного центра.


Сами примитивы можно разделить:
  • Простые. Состоят только из одного примитива.
  • Сложные-составные. Состоят из нескольких примитивов

Читать дальше →

Собственный движок WebGL. Статья №2. Матрица

Время на прочтение9 мин
Охват и читатели8.3K
В продолжении статьи.

Матрица


Когда только начал разрабатывать матрицу, даже не предполагал — на сколько она в дальнейшем нам упростит жизнь. У матрицы много свойств, но в нашей задаче я бы их все свел к одному — «отделение мух от котлет», то есть массива точек от общего массива координат. С точки зрения нашего кода — это будет выделение массива строк, каждая из которых является точкой и массива столбцов, массив одной из координат x,y,z или w. У меня упрощенная модель, поэтому «w» использовать не буду.

Описав наш объект через матрицу, можно с легкостью перемещать объект по любой из осей и поворачивать, а также можно сразу определить центр нашего объекта.
Читать дальше →

Собственный движок WebGL. Статья №1. Холст

Время на прочтение8 мин
Охват и читатели14K
Через серию статей попробую разобрать движок на webgl.

Основным требованием будет минимальный ввод данных. Ведь, грубо говоря, движок — это модель, созданная для упрощения задачи. Материал рассчитан на начинающий уровень, для тех, кто прочитал основы webgl и хочет попробовать начать работать. Таких как я.

Первое. Описание задачи на пальцах

Необходимо создать классы объектов (примитивы), которые из себя представляют набор точек. При этом примитивы должны быть независимы друг от друга. Каждый примитив можно перемещать, поворачивать вокруг центра или вокруг произвольной точки.
Необходимо создать механизм обрисовки этих объектов.
И напоследок необходимо создать что то вроде карты на которой можно установить наши объекты и по которой можно свободно перемещаться.

Читать дальше →

Ближайшие события

Изучаем Three.js.Глава 2: Работа с основными компонентами, из которых состоитThree.js-сцена

Время на прочтение18 мин
Охват и читатели56K
Всем привет!
В предыдущей главе мы познакомились с основами бибилиотекиThree.js. Увидели несколько примеров и создали свою первую полноценную Three.js сцену. В этой главе мы немного глубже углубимся в эту библиотеку и попробуем более подробно объяснить основные компоненты, составляющие Three.js сцену. В этой главе вы узнаете о следующем:
  1. какие компоненты используются в Three.js сцене
  2. что можно делать с объектом THREE.Scene()
  3. какая разница между ортогональной и перспективной камерами

Начнем мы с того, что посмотрим, как же можно создать сцену и добавить на нее объекты.

Становится все интересней и интересней...

Изучаем Three.js.Глава 1: Создаем нашу первую 3D-сцену, используя Three.js

Время на прочтение13 мин
Охват и читатели118K
Всем привет!
Хочу начать вольный перевод замечательной книги «Learning Three.js- The JavaScript 3D Library for WebGL». Я уверен, что эта книга будет интересна не только новичкам, но и профессионалам своего дела. Ну не буду долго затягивать вступление, только приведу пример того, что мы совсем скоро сможем делать:



Будущее начинается здесь

Реализуем 3D картинку в браузере

Время на прочтение3 мин
Охват и читатели21K
HTML 3D LOGO В этой статье я хочу продолжить рассказ о моих экспериментах с 3D монитором.В первой статье было описано как выводить стерео изображение из видео потока (в VLC виде плеере) сейчас я расскажу как получить стерео картинку прямо в вашем браузере. Для демо я взял замечательную библиотеку Three.js об ней уже много писали на Хабре, она позволяет быстро и просто создавать красивые web приложения на WebGL. Ниже я покажу как сделать так чтобы пользователь увидел глубокую 3D картинку а не плоскую проекцию.

Кого заинтересовал, добро пожаловать под кат

Создание 3D-иллюстраций — прототип системы

Время на прочтение6 мин
Охват и читатели13K


Привет, Хабр! В институте у нас был курс 'Начертательная геометрия' из которого мы узнали, какие интересные вещи можно делать обычным циркулем и линейкой. С тех пор не покидала идея сделать что-нибудь на компьютере в духе объемных чертежных построений.

Не так давно с удивлением обнаружил, что мой ноутбук (далеко не самый новый и мощный) поддерживает стандарт WebGL. В результате некоторых усилий получился прототип системы создания и публикации 3D-иллюстраций.

http://ewclid.headfire.ru/

Интересная возможность, которую удалось реализовать — просмотр иллюстраций на 3D-телевизорах в стереорежиме без каких-либо драйверов и плагинов. Вывод осуществляется прямо из браузера в формате Side-By-Side.

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

Читать дальше →

WebGL Эксперимент + Google Analytics + Leap Motion

Время на прочтение1 мин
Охват и читатели11K
Добрый день! В течение некоторого времени изучал замечательную библиотеку three.js, кроме того приобрел Leap Motion, в результате получилась следующая вещь:



Попробовать можно здесь: http://cerebro.maxmert.com
Для написания использовал библиотеки three.js, sparks.js и dancer.js. Для управления веселее всего использовать Leap Motion, но можно и мышкой. К сожалению с webgl хорошо дружит только Google Chrome, так что лучше использовать его.

Обновление: Теперь можно запускать и без логина в Google Analytics.

Карта звездной системы на Three.js/WebGL

Время на прочтение6 мин
Охват и читатели14K

Доброго времени дня или ночи, Хабр!
В наших краях как всегда зима пришла неожиданно, но в космосе времен года нет, так что снова поговорим о различных космических штуках на webgl. Предыдущую статью о карте галактики можно прочитать здесь. Сегодня же речь пойдет про карта звездной системы.
Как всегда, рассказ пойдет по шагам. Итак…
Читать дальше →

Создание игр для Windows Store c использованием WebGL

Время на прочтение11 мин
Охват и читатели15K
Windows Store на текущий момент, возможно, самая открытая платформа для игровых студий. Для создания приложений вы можете использовать DirectX 11, HTML5 2d-Canvas, Cocos2D-X, Unity3D и с выходом Windows 8.1 даже для WebGL!
Если у вас есть интерес к некоторым из этих технологий, вы можете посмотреть статью How to develop a game for Windows 8 modern UI в которой перечислены ссылки на ресурсы по технологиям DirectX, HTML5 canvas 2d и MonoGame.
Так же хотелось бы отметить что аддон для Unity который позволяет публиковать приложения в Windows Store бесплатен: http://unity3d.com/pages/windows: So any Unity developers can port their 2D and 3D content to Windows Store and Windows Phone 8 for free. Начать изучение разработки Unity для Windows Store можно с цикла видео Building Windows Games with Unity.
В дополнение к этому, так же хотелось бы отметить что Cocos2D-X был недавно обновлен для более лучшей поддержки Windows 8 и Windows Phone 8: Easily port your Cocos2D-X game to Windows 8 and Windows Phone 8.
Читать дальше →