Faster loading with JSON 3D model format

May 25, 2015

Now the JSON 3D model formats are also implemented in 3D Wayfinder. This gives us better browser-side loading time as browsers’ native JSON parser is faster, than parsing binary models in Javascript. The average gain in loading time is 55%, which means that 3D Wayfinder is loading more than 2 as fast as before.

Below are testing results with 2 different project. It seems, that the improvement affects more larger projects.
We have made a minor change in loading logic also. Now the application will render the 3D models before all the textures are downloaded. Textures will appear as they are loaded. This allows to start using 3D wayfinder as soon as the 3D model files have been loaded.

Here are the initial test results for 2 projects:

1. Project: demo
———————————————–

Project statistics:
Visible faces (opaque/transparent): 5653/646
Visible renderers (opaque/transparent): 10/24
Visible batches (opaque/transparent): 10/4

Total geometry loading time (measured by floors):
Binary format: 1666.570ms + 1941.258ms = 3607.828ms
JSON format: 846.446ms + 945.121ms = 1791.567ms

Loading times without network transfer time:
Binary format: 1211.667ms + 1149.466ms = 2361.133ms
JSON format: 46.198ms + 31.087ms = 77.285ms

2. Project: Large customer project
———————————————–

Project statistics:
Visible faces (opaque/transparent): 229533/6459
Visible renderers (opaque/transparent): 629/13
Visible batches (opaque/transparent): 49/13

Total geometry loading time (measured by floors):
Binary format: 23673.256ms + 13435.160ms + 4924.420ms = 42032.836ms
JSON format: 10225.722ms + 2929.486ms + 3642.354ms = 16797.562ms

Loading times without network transfer time:
Binary format: 20016.574ms + 11549.349ms + 3087.721ms = 34653.644ms
JSON format: 226.997ms + 136.840ms + 70.465ms = 434.302

JSON model specifications can be found from FRAK Github repository.

« »

Bumps and dents in 3D with normal maps

March 24, 2015

With new material management, we have added also normal maps. Normal mapping is a technique used for faking the lighting of bumps and dents in 3D models – an implementation of bump mapping.

It is used to add details without using more polygons. Which means you can create smaller and faster models for 3D Wayfinder. Normal maps will enhance the appearance and details of a low polygon model by generating a normal map from a high polygon model or height map.

Here is an old town model without normal map:

3D Wayfinder without normal map

In following screenshot is the same model with normal maps applied:

3D Wayfinding with normal map. Bumps and dents in 3D models.

The result will look like the stones are all modeled out in 3D.

Here is the texture and normal map added to this texture:

Texture and normal map

To use normal maps, you have to select “Normal-mapped” for the material from the shader column.

Normal maps material selection

Then press “Edit” and you can upload texture and normal map image:

Selecting material for normal map

« »