Kendzi3D - 3D Viewer as plugin for JOSM.

In new release:

  • completely new building builder
  • basic support for building as multi-polygons without holes
    So you can change color, material or assign windows to single wall.

Example:
http://www.openstreetmap.org.pl/kendzi/Kendzi3d/examples/example4.osm

  • windows, entrance build into walls (tags building=entrance, building=window)
    old:

    new:

It is possible to tag mixed window and entrance with tags: width=X and height=Y

  • windows rows as multitextures. By assigning tag windows=X you can setup windows rows. Windows will be repeated on each level.
  • roof and facade colors as colored textures
  • support for tags: building:levels:aboveground and building:levels:underground

bugs:

  • it is far from ready
  • simple multipolybons without holes
  • currently all textures are mixed with color. So materials configuration need new parameter “colorable” like in osm2world

I would like to remind that this is not in ready state. So I will by grateful for any advice or bug report.

The current version of the plugin does not support rendering multpolygon relations such as buildings (building=*) and their parts (building:part=yes) and outer contours (building=outline)?

Do you have current version v111? It should support multipolygon relation with tags:
type=multipolygon
building=* or building:part=*

Please see example:
http://www.openstreetmap.org.pl/kendzi/Kendzi3d/examples/example4.osm

I use latest version from github.

Jar on gitHub was old. I updated it. Please use JOSM plugin manager for download/update plugin. Edit > Preferences > Plugin tab

I have played around with the latest version of your plugin and noticed that you are indeed able to combine multitexture rendering of windows with the building=window node mapping technique. That’s an interesting feature, but I wonder about one aspect of this approach. (To clarify: The approach based on wall segments tagged with the number and attributes of windows is not affected.)

Namely, I assume (and it looks like it based on the debug wireframe) that you need to create additional vertices within the building to achieve this, i.e. vertices on the building’s base that do not correspond to on a node in OpenStreetMap. Inserting additional vertices like that is something I have generally tried to avoid. The reason is that two adjacent areas will not necessarily be rendered visually clean unless they precisely share vertices. If you insert an vertex into only one of them, creating a “t-junction”, this may cause gaps or other graphical glitches because of the limited precision of the rendering - particularly if you have large scenes where the floating point numbers become less dense. This might show up in cases where the building outline shares OSM nodes with an area of e.g. grass or asphalt directly connected to the building.

Do you have taken steps to avoid this or do you expect that it simply will not cause problems?

On an unrelated note, it appears that your code supports multipolygons with non-closed outer ways for the walls only if these ways are either all clockwise or all counterclockwise. Consistent winding is not normally required for multipolygon members in OSM, though. Is this a known limitation?

Thanks for testing my plugin :slight_smile:

I don’t now if I understand the problem. I’m using nodes with window definition (tagged building=window). In my implementation windows are cut out from wall. The reason that you can see vertical lines like this:

It is that i don’t implemented any real 2d polygon union and intersection algorithm. I emulate this by simply cutting polygon by line. Cutting creates additional vertex which you can see by vertical line (first cut) and t-junction. But this can be easily fixed replacing my algorithm and using polygon union/ intersection function. Maybe you know some opens source (no gpl inside) library for 2d polygon union/intersection or algorithm description?

Currently this implementation don’t cause any visible problems so fixing this is not priority.

Multipolygons are work in progress so I fixed this.

I wonder if we can assume for buildings that:

  • end or begin of not closed way is always connected to only one way (no Y-junction)
  • inner never touch outer
  • inner never touch other inner

Moin

Just to note: current JOSM plugin had a link to openstreetmap.pl - which is no more reachable.
It moved to openstreetmap.org.pl
Just to note you

Amiga4000

I had change links, so both plugin and preset should be available by JOSM plugin and preset manager.

Hi Kendzi,

I try to get the latest version working using the JOSM plugin manager. But If I restart, I get

.
Using the ubuntu package manager, I installed already log4j and jogl2 of course, so what is missing?

Moin

Kendzi did change some parts and moved some functions out into several JOSM plugins. Go to JOSM settings for plugins and install those two plugins extra, restart JOSM and 3D does work again.

Amiga4000

At the moment I could not download Kendzi3d Plugin or the simple3D builsdings in Josm. Do I something wrong?

I just tested download and it works fine. Perhaps there was a problem with hosting. Can you check today?

I try agian wihtout any success.
It seems to be a problem to reach http://www.openstreetmap.org.pl

I ask someone else for test and it is working. Do you use proxy, vpn or non standard dns server? Can you ping host www.openstreetmap.org.pl ? It should return ip 195.2.255.33.

If it is problem width dns server, you can try to setup as primary dns ip: 62.129.252.31 (from dns.home.pl)

I can send ping to www.openstreetmap.org.pl the IP is 195.2.255.33 too. But I get only timeout.

Hi again I tried to get Kendzi3D running, but on JOSM startup (NAG screen still open), a new Kendzi3D window appears but the whole editor startup is blocked (still NAG screen displaying "checking plugin requirements kendzi3d)

Tried to log something on console, but not very detailed IMHO:

Any ideas?

Please repack file
/home/matthias/.josm/plugins/kendzi3d.jar
Inside this archive copy file /resources/log4j.properties to location /log4j.properties

Run JOSM in console as before and send logs.

Is anything displayed inside Kendzi3D window?

Back at home I could download the plugin without any problems. Maybe you can host the Kendzi3D where the other 2 plugins are hosted.

Plugin was moved to different hosting yesterday, so it should work. I will move preset tomorrow.