You are not logged in.

#1 2017-06-20 15:08:46

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Привет!

Предлагаю вашему вниманию OpenGlobus - новую JavaScript WebGL - библиотеку с открытым исходным кодом.

Официальный сайт: http://www.openglobus.org/(описание, примеры, документация)

Буду рад услышать, что вы думаете об этом.

Спасибо!

Last edited by zemledelec (2017-06-20 20:56:58)

Offline

#2 2017-06-21 05:09:31

istepan
Member
Registered: 2014-11-11
Posts: 276

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Работает шустро.

Offline

#3 2017-06-21 05:23:02

Gotegomadi
Member
Registered: 2017-05-26
Posts: 99

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Тотальный опенсорс: http://imgur.com/bmB6Hkm


Пишу ненужный код для несуществующих задач

Offline

#4 2017-06-21 16:39:34

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Gotegomadi wrote:

Тотальный опенсорс: http://imgur.com/bmB6Hkm

Браузер должен поддерживать WebGL.

http://webglreport.com/?v=2

Offline

#5 2017-06-21 21:58:29

Gotegomadi
Member
Registered: 2017-05-26
Posts: 99

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

zemledelec wrote:

Браузер должен поддерживать WebGL.

А у меня поддерживает. У меня железо его не поддерживает. Браузер у меня свежайший. Но посмотрите на скриншот, а? Наезжающие надписи, пусть их обычно никто не видит - это нормально?


Пишу ненужный код для несуществующих задач

Offline

#6 2017-06-22 00:18:07

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,766

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Глючит отрисовка иногда. К примеру такой глюк в виде чёрной полосы как-то раз образовался (браузер Edge).
jg4orp.png

Online

#7 2017-06-22 07:51:31

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Gotegomadi wrote:
zemledelec wrote:

Браузер должен поддерживать WebGL.

А у меня поддерживает. У меня железо его не поддерживает. Браузер у меня свежайший. Но посмотрите на скриншот, а? Наезжающие надписи, пусть их обычно никто не видит - это нормально?

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

Возможно некоторые ошибки, такие как "WebGL не запустится", "Поменяйте железо", "Обновите браузер", следует показывать в более удобоваримом виде...скажем в модальном окне...я подумаю над этим, в любом случае спасибо за замечание. Если у вас получится запустить на другой машине(например у меня работает и на айпаде и на смартфоне), где глобус запустится, было бы хорошо  узнать ваше мнение по тому, что должно работать.

Last edited by zemledelec (2017-06-22 08:25:49)

Offline

#8 2017-06-22 08:25:21

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Sergey Astakhov wrote:

Глючит отрисовка иногда. К примеру такой глюк в виде чёрной полосы как-то раз образовался (браузер Edge).
http://i64.tinypic.com/jg4orp.png

Занес в багтрекер. Спасибо.

Offline

#9 2017-06-23 04:41:46

Gotegomadi
Member
Registered: 2017-05-26
Posts: 99

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

zemledelec wrote:

было бы хорошо  узнать ваше мнение по тому, что должно работать.

У вас есть какая-то минималистичная оффлайн-сборочка? Чтобы скачать и запустить? Скажем, метров на 100, с куском Москвы?


Пишу ненужный код для несуществующих задач

Offline

#10 2017-06-23 05:24:07

Mir76
Member
From: Екатеринбург
Registered: 2009-12-18
Posts: 1,455

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Xочется кнопку по увеличению рельефа в 3-5 раз.

Offline

#11 2017-06-23 07:42:24

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Gotegomadi wrote:
zemledelec wrote:

было бы хорошо  узнать ваше мнение по тому, что должно работать.

У вас есть какая-то минималистичная оффлайн-сборочка? Чтобы скачать и запустить? Скажем, метров на 100, с куском Москвы?

Нет, к сожалению такого примера нет, но вся библиотека(это два файла js и css) весит не больше 600 Кб, тайлы и рельеф загружаются онлайн. АПИ позволяет использовать настроить источники оффлайн, например натайлить тот же ОСМ и натайлить рельеф, из своего источника или глобусный. Идея хорошая, как для примера, но ее надо подготовить.

Offline

#12 2017-06-23 07:44:01

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Mir76 wrote:

Xочется кнопку по увеличению рельефа в 3-5 раз.

Простите не понял, увеличить рельеф по высоте вроде как масштабировать(как в гугл земле)? Или увеличить детализацию рельефа?

Offline

#13 2017-06-23 07:53:09

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,370

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

А что можете увеличить детализацию STRM smile Конечно он хотел увеличить наглядность разницы высот.

Offline

#14 2017-06-23 08:57:44

Gotegomadi
Member
Registered: 2017-05-26
Posts: 99

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

zemledelec wrote:

например натайлить тот же ОСМ и натайлить рельеф, из своего источника или глобусный

А какой там формат? Есть какой-то тул для генерации из голого ПБФ?

zemledelec wrote:

Идея хорошая, как для примера, но ее надо подготовить

Есть смысл ждать?


Пишу ненужный код для несуществующих задач

Offline

#15 2017-06-23 09:47:38

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Gotegomadi wrote:
zemledelec wrote:

например натайлить тот же ОСМ и натайлить рельеф, из своего источника или глобусный

А какой там формат? Есть какой-то тул для генерации из голого ПБФ?

zemledelec wrote:

Идея хорошая, как для примера, но ее надо подготовить

Есть смысл ждать?

Рельеф:
Я предлагаю(предполагал, когда делал механизм загрузки рельефа), что каждый тайл рельефа глобуса(карты), представляет собой регулярную сетку(меркаторовская), в каждой ячейке которой записана высота. Например тайл рельефа тех высот которые по умолчанию работают в глобусе имеет размерность 33x33 высот(ячеек) т.е. клеток в ячейке 2^5, (в цезиуме, если я не ошибаюсь 2^6, в гугл земле 2^5). Например для глобуса я натайлил кеш из dem файлов и храню его на сервере, ничто мне не мешает натайлить кеш локально. Правда весит много, весь рельеф около 70 Гб(http://viewfinderpanoramas.org/), а кеш под терабайт(чуть меньше).
Пример тайла с рельефом: http://earth3.openglobus.org/12/1344/3846.ddm

Если вы хотите использовать свой формат(например серые тайлы с геосервера), не зависимо от источника(расположения), в АПИ необходимо добавить свой класс TerrainProvider, которому вы указываете размер сетки, адрес источника(если есть), и "виртуальный"(javascipt) метод, в котором вы свой формат переделываете в регулярную сетку тайла и отдаете в глобус. Таким образом вы можете подключить любой источник с рельефом, можно даже програмный какойнибудь шум Перлинга сделать(эти вещи я планирую сделать в примерах, их там уже около 30, но такого еще не делал, не думал что это будет интереснее чем скажем отображение видео, нерасчитал.)

Растр:
Тоже самое, как в лифлете или опенлеерсе: растровые тайлы, указываются источники, или используются АПИ как в случае с Яндексом или Гуглом. т.е. скачали в папку тайлы и указали ее как источник. Например вот здесь: http://176.194.189.20/earth/

Конечно будет пример. Меня например тоже интересует рельеф, но сейчас есть только один источник, есть в планах пример с источником из Цезиума(открытый источник), или со своего геосервера. Про оффлайн не думал, буду иметь ввиду.

Last edited by zemledelec (2017-06-23 14:33:57)

Offline

#16 2017-06-23 10:43:03

Gotegomadi
Member
Registered: 2017-05-26
Posts: 99

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

zemledelec wrote:

Если вы хотите использовать свой формат(например серые тайлы с геосервера), не зависимо от источника(расположения), в АПИ необходимо добавить свой класс TerrainProvider, которому вы указываете размер сетки, адрес источника(если есть), и "виртуальный"(javascipt) метод, в котором вы свой формат переделываете в регулярную сетку тайла и отдаете в глобус.

Я просто хочу посмотреть, что же вы там нахимичили. А там уже будет видно, чего хотеть дальше. Буду ждать сборочку.


Пишу ненужный код для несуществующих задач

Offline

#17 2017-06-23 12:34:30

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Mir76 wrote:

Xочется кнопку по увеличению рельефа в 3-5 раз.

Пожалуйста, добавил пример: http://openglobus.org/examples/HeightFa … actor.html

Offline

#18 2017-06-23 13:09:50

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,370

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Ну вот, любо дорого смотреть.
s_1498219652_8343553_0f9d7c062b.png
Ещё бы поддержку координат в ссылке.

Offline

#19 2017-06-23 14:23:26

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

freeExec wrote:

Ну вот, любо дорого смотреть.
http://storage1.static.itmages.com/i/17/0623/s_1498219652_8343553_0f9d7c062b.png
Ещё бы поддержку координат в ссылке.

Глобус задумывался как открытый проект, для того чтобы каждый мог подстроить его под свои нужды. Для этого существует система контролов(плагинов). Контрол - это объект, класс которого наследует базовый контрол, у которого есть метод доступ к интерфейсу всего движка: сценам, камерам, шейдерам, слоям, событиям, window/document, webgl, и т.д. Пример контрола, который добавляет кнопку, при нажатии камера "летит домой": http://openglobus.org/examples/CustomCo … ntrol.html

Практически любой специализированный механизм удобно делать в виде контрола, например контрол отвечающий за навигацию мышкой, или на тачпаде; контрол, который устанавливает Солнце в позицию относительно даты и времени; контрол отображения Частоты кадров в секунду; контрол который рисует координатную сетку, как в ГуглЗемле(который тоже ждет своей очереди) и т.д.
https://github.com/OpenGlobus/OpenGlobu … og/control

Разработанный вами контрол, может остаться в вашем проекте, а может быть добавлен в список контролов для глобуса, как в любой стандартной схеме опенсорс проектов.

Last edited by zemledelec (2017-06-23 14:25:43)

Offline

#20 2017-06-24 12:04:42

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Хочу загрузку 3D моделей с текстурами.

Это можно реализовать через полную поддержку gltf

Offline

#21 2017-06-24 12:29:01

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

vvoovv wrote:

Хочу загрузку 3D моделей с текстурами.

Это можно реализовать через полную поддержку gltf

Это как раз та задача, к которой я приступаю, сразу после публикации Глобуса в свет:)

Offline

#22 2017-06-24 16:21:10

Mir76
Member
From: Екатеринбург
Registered: 2009-12-18
Posts: 1,455

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

zemledelec wrote:

Пожалуйста, добавил пример

Да уж, про фактор 5 я явно погорячился, а вот фактор 3 уклоны, которые пешеходами воспринимаются как значительные, как раз делает визуально заметными и при просмотре в вашей библиотеке. Так что вы эту фичу не выбрасывайте, пригодится.

Offline

#23 2017-07-01 14:08:26

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 509
Website

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

А что за формат карты рельефа ddm? Откуда данные, чем конвертированы? Я смотрю, там нет лишнего шума, применялась какая-то фильтрация/сглаживание? Можно ли скачать всю планету? Давно хочу нарезать тайлы с рельефом, как с затенением (hill shading), так и с раскрашенной картой высот и изолиниями.


Мои проекты: 3D-игра Generation Streets (исходник генератора на гитхабе) | велосипедная карта Самарской области

Offline

#24 2017-07-02 00:00:09

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

romanshuvalov wrote:

А что за формат карты рельефа ddm? Откуда данные, чем конвертированы? Я смотрю, там нет лишнего шума, применялась какая-то фильтрация/сглаживание? Можно ли скачать всю планету? Давно хочу нарезать тайлы с рельефом, как с затенением (hill shading), так и с раскрашенной картой высот и изолиниями.

В данных есть пробелы. Качество уже не вспомню какое, источник предоставляю ниже по тексту. Тайл с расширением ddm - это простой массив чисел - высот в метрах, тип float(простите кажется integer но также 4 байта), представляющий сетку размером 33х33. Тайл веб меркаторовской сетки. Кеш тайлов сделан из данных скачанных по этой ссылке http://www.viewfinderpanoramas.org/Cove … s_org3.htm точность srtm30 примерно 90 метров между высотами. Исходные данные хранятся в *.hgt файлах wgs84 размером 1х1 градус, это видно скачав клетку с приведенного сайта. Тайлил при помощи утилиты https://github.com/OpenGlobus/OpenGlobu … sAdaptater но на нее нет документации, т.к. я планировал чтобы глобус имел возможность подключать любые подходящие источники с высотами например свой источник тайлов на геосервере, или открытые данные Cesium AGI, но заодно сделал свой формат, для простоты и эксперимента.  Если нужно подробнее - поясню в картинках. Скажите.

п.с.
Данные на глобусе рендерятся "как есть" с применением карты нормалей, которая строится прямо по полученным данным из ddm, т.е. интерактивно, сразу после загрузки тайла. При рендеринге применяется небольшой фильтр - блюр, который дает такой приятный шейдинг(который к сожалению приводит к небольшим артефактам по краям)но зато экономит траффик и делает узор рельфа читаемым и понятным.

Last edited by zemledelec (2017-07-02 12:35:30)

Offline

#25 2017-07-02 00:02:36

zemledelec
Member
From: Russia
Registered: 2017-06-18
Posts: 26

Re: OpenGlobus - новая JavaScript WebGL библиотека для 3D карт.

Нечаянно запостил это сообщение(точнее предыдущее) если можно удалите его.

Last edited by zemledelec (2017-07-02 12:09:59)

Offline

Board footer

Powered by FluxBB