glosm - 3D рендер для OpenStreetMap

Здорово! Сразу захотелось проэтажить всё-всё-всё. :slight_smile:
Под ASPLinux_14 собралось, наверняка и под другими redhat linux проблем не будет.
Осталось раскрасить.

Соберите кто-нибудь под Винду, право слово )

Под винду osmwalker :3

Багрепорт. Gentoo x64 - собирается, но не пущается
glosm-viewer: error while loading shared libraries: libglosm-client.so: cannot open shared object file: No such file or directory
Хотя библиотека, как и положено дежит в /usr/local/lib64 и исмлинк /usr/local/lib имеется (да и прочие проги в /usr/local/bin/ живут нормально)

Проверить ldd ./glosm-viewer и наличие нужной директории в /etc/ld.so.conf …

В /etc/ld.so.conf всё прекрасно :slight_smile:
ldd ./glosm-viewer
linux-vdso.so.1 => (0x00007fffe65ff000)
libglosm-client.so => not found
libglosm-server.so => not found
libgeomgen-default.so => not found
libglut.so.3 => /usr/lib/libglut.so.3 (0x00007fa953161000)
libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00007fa952f45000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fa952d34000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007fa952ab2000)
libGL.so.1 => //usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007fa9527ad000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007fa9525a4000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007fa952386000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fa952037000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fa951e22000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fa951bf3000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/libstdc++.so.6 (0x00007fa9518ea000)
libm.so.6 => /lib/libm.so.6 (0x00007fa951666000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fa951450000)
libc.so.6 => /lib/libc.so.6 (0x00007fa9510cb000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00007fa950e5b000)
libnvidia-tls.so.260.19.29 => //usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.260.19.29 (0x00007fa950c59000)
libnvidia-glcore.so.260.19.29 => /usr/lib/libnvidia-glcore.so.260.19.29 (0x00007fa94f06d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fa94ee69000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007fa94ec64000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fa94ea45000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa9533ae000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fa94e841000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fa94e63b000)

А если выполнить ldconfig?

Ubuntu 10.04 все собралось заработало - ноут с картой 9700M - 100 FPS

Ну очень понравилось просто обалдеть!!! Автор респектище!

Маленькая просьба (надеюсь многие присоединяться) - можно ли сделать чтобы в режиме полета было 2 скорости, одна обычная, вторая с зажатой клавишей Shift - ускоренная, просто не всегда удобно менять множитель скорости, хочется не меняя вокруг домика летать медленно, а по районам быстро. Хотел сделать сам, но уперся в то что GLUT не генерит событие от клавиатуры, когда нажимаются клавиши модификаторы Ctrl, Alt, Shift. Если будет переход в клиенте на более продвинутый API захвата клавиатуры (тот же Qt со своими событиями это может), то это будет здорово. (Для себя сделал версию где клавишей “0” переключается эта самая скорость, с Shift некорреткно работало т.к. если мы уже летим и нажимаем Shift то не ускоряется, ускоряется только если нажать shift, удерживать а потом “w”(которая становится “W”) и др. подобные глюки связанные с отсутствием события при нажатии этой клавиши). Если кому то потребуется свою чуть измененную версию скину.

Буду пристально следить за проектом и всем знакомым показывать!!!

кстатит я make install не делал а запускал прямо из папки с бинарником - заработало

ldconfig, как сказали. Либо можно не устанавливать и запускать прямо из сборочной директории.

В том и проблема что glut не умеет модификаторы по-человечески. Может быть сделаю SDL клиент, тем более он должен под maemo нормально с OpenGL заработать.
Удобства будут в Qt клиенте, а пока как есть - кнопки +/- меняют скорость в 10 раз.

gentoo 64. Собралось, запустилось. Серый экран. По Q/Esc - выходит. Все нажимая другие клавиши из документации - картинка не меняется.

map.osm делал экспортом с openstreetmap.org И большие и маленькие области.

Угу, после ldconfig запустилось, а разве оно не должно, по правилам хорошего тона, само из мейкфайла запускаться?

Хм, только москва отрисовывается? На Владивостоке не работает, Москва - всё работает.

Париж даже рисуется, а Владивосток http://osm.org/go/5@OxjVl2 ни в какую - червый экран и всё. В чём может быть проблема?

Нет, конечно.

В целочисленном переполнении. Починил (в master).

Алсо, скорость теперь зависит от высоты, а начальная высота - от размеров области.

Эту бы красоту теперь во FlightGear интегрировать.

Нет, это очень дурной тон, дёргать ldconfig в процессе сборки. Хорошим тоном будет запускать его на этапе postinstall в пакетном менеджере, после инсталяции пакета. И это вообще не задача сборки, а задача мантейнера. А у вас проблема была из ряда ССЗБ, уж если вы собираете что-то руками в песочницу /usr/local, то позаботьтесь руками сами о том, что бы пути туда были прописаны в ld.so.conf

Именно так.

Неп то что-бы я критиковал, но “ни фига не поняла” (С)
Ещё раз для эстонцев повторю - в /etc/ld.so.conf путь куда надо прописан, другие, в смысле нормальные, софтины из /usr/local/bin пущаются без проблем.
Собираю я не в “песочницу”, а куда по дефолту прописаны патчи в мейкфайле (хотя сборка в песочницу - замечательная идея - надо сляпать ебилд).
Дёргать руками, или как то иначе, ldconfig после make inastall, лично я - в смысле ИМХО, считаю моветоном (в смысле кривыми руками автора мейкфайла).

ЗЫ: Вопрос, а после того как запустилось чего с ним делать? В смысле загрукзил voronezh.osm - вижу горизонт, вижу на горизонте какие то фигли, а как попасть в сам Воронеж - не понятно :slight_smile:

ЗЫ2: Ещё одну багофичу заметил - в полёте возможно “ныряние” ниже текущей поверхности - ИМХО надо с этим делом как-то бороться (например “отражать” по типу “блинчиков”)

ЗЫ: С “полётом”, как бы, разобрался - с “попаданием” в нужное место - нет. :slight_smile:

ЗЫ2: Добреёл до обстановки возле дома - ИМХО ещё и с масштабом по вертикали чгой-то не того :slight_smile: Одно-двуэтажные здания высоковаты, высотки - мелковаты.