SceneJS in the Wild: BIMSurfer
Last week saw the public beta release of BIMSurfer, an open-source Web-based BIMServer front-end which was created by Rehno Lindeque and uses SceneJS as the rendering engine.
Building Information Modelling (BIM) is the process of generating and managing building data during its lifecycle; BIMServer is the server that manages and queries that data, while BIMSurfer is a viewer that displays and interacts with it.
BIMServer is an open source project that tracks data on every part of a building under development: geometry, spatial relationships, light analysis, geographic information - whatever is useful, while supporting queries on the data. It also functions as a sort of version control system, allowing multiple users to collaborate on the model, while continually updating the overall data, sending notifications, preventing modification conflicts and so on.
One interesting feature is that, along with IFC models, BIMSurfer is able to import and export them as SceneJS JSON, which means they could be rendered using straight SceneJS. Another cool feature is the ability to author fly-throughs by creating a sequence of snapshots.
As mentioned, BIMSurfer is an open-source project which welcomes developer contributions and funding. All source code is forkable at GitHub - more info may be found on the project website.
SceneJS seems to fit BIMSurfer requirements well: large numbers of objects kept in the scene core, individually isolatable, pickable and highlightable. As the scale of building models increases, we look forward seeing SceneJS performance scale up accordingly to maintain an acceptable FPS. The transparent windows are also rendering in correct order for alpha blending, so the SceneJS render layer feature appears to be working well there.
Keep your eye on this project - BIM is hot stuff right now, valuable technology both economically and ecologically since it focuses on the efficient use of energy and materials, with minimal waste.
