Support for JSON 3D Model Format in FRAK WebGL Engine

May 12, 2015

We have released a new version of FRAK WebGL engine with support for JSON 3D model format. This decreases the browser-side loading time as browsers’ native JSON parser is faster, than parsing binary models in Javascript, as we used to do so far. Of course we will continue to support binary models also.

FRAK JSON model specifications can be found from FRAK Github repository.

3D Wayfinder JSON file format


Initial testing shows, that compressed JSON files are the same size as binary files, but browser side parsing is many times faster.

Here are testing results for parsing with different 3D geometry:

RGB box (12 poly)
With binary format: 250 ms
With JSON: 10-60 ms

Axis Test (3440 poly)
Binary: 300 ms
JSON: 36-60 ms

Wayfinding demo ground level (20069 poly)
Binary: 1265 ms
JSON: 50-70 ms

Browser side parsing time varies a bit, but even with larger models it should be less than 100 ms.

Support for JSON models will be available in 3D Wayfinder in near future. This will probably make the 3D Wayfinder application (with models) loading time smaller about 50%. Of course it will depend on the project size, textures, internet connection etc.

« »

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

« »

Transparency in 3D Wayfinder

August 22, 2014

Recently we introduced improved transparency in 3D Wayfinder handling to FRAK engine. It can now be configured between three transparency rendering modes: sorted, blended and stochastic.

Wayfinder blended transparency in 3D Wayfinder

The sorted mode is what used to be the default earlier. There is mainly for backwards compatibility and fallback reasons. This can be used for decent transparency. But the geometry has to be modeled while keeping in mind that transparent meshes are compared by their centers.

Failure case for the old algorithm:

old_transparency_in_3D_Wayfinder

The first of the new modes is blended and it uses the weighted blended order-independent transparency algorithm. Also with a few modifications related to handling alpha-mapped surfaces. This mode is the new default for the engine. Since floating point textures seem to be supported by most browsers these days.

Weighted Blended Order-independent Transparency:

weighted_blended_transparency_in_3D_Wayfinder

The second new mode is stochastic. It is still a work in progress. But a viable alternative for certain situations. Stochastic transparency in 3D Wayfinder works by using random noise to give each transparent surface a proportional probability of getting through to the camera. This provides slightly more physically correct results. Currently is a bit too noisy.

Stochastic Transparency:

stochastic_transparency_in_3D_Wayfinder

« »