Explore chapters and articles related to this topic
Virtual environments
Published in Paulo Jorge Bártolo, Artur Jorge Mateus, Fernando da Conceição Batista, Henrique Amorim Almeida, João Manuel Matias, Joel Correia Vasco, Jorge Brites Gaspar, Mário António Correia, Nuno Carpinteiro André, Nuno Fernandes Alves, Paulo Parente Novo, Pedro Gonçalves Martinho, Rui Adriano Carvalho, Virtual and Rapid Manufacturing, 2007
Paulo Jorge Bártolo, Artur Jorge Mateus, Fernando da Conceição Batista, Henrique Amorim Almeida, João Manuel Matias, Joel Correia Vasco, Jorge Brites Gaspar, Mário António Correia, Nuno Carpinteiro André, Nuno Fernandes Alves, Paulo Parente Novo, Pedro Gonçalves Martinho, Rui Adriano Carvalho
The scene graph represents a tree structure, with nodes connected by branches. Internal nodes typically represent transformations, which position their children objects in space in relation to the root node or in relation to other objects. Scene graph are not static, but change (may be due to the user’s input or to object intelligent behavior) to reflect the current state of the virtual world. For example, a simulation in which a driver handles a steering wheel and attempts to finish a test item – “reverse parking”. Figure 8(a) illustrates the initial scene showing both the car model and a practical field. In the scene graph the sensor wire node (contains its geometry and color) is a child of an international node. After the sensor wire had been collided by car tire carelessly, a collided event is created, as shown in Figure 8(b). Hence, the scene graph plays an important role in speeding up collision detection because they reflect the scene’s spatial and temporal coherence.
CityGML goes mobile: application of large 3D CityGML models on smartphones
Published in International Journal of Digital Earth, 2019
Christoph Blut, Timothy Blut, Jörg Blankenbach
For rendering we use the game engine jMonkey. The advantage of such a software framework is that low-level methods are already implemented and are provided to the developer in an encapsulated form. Commonly, well established and cutting-edge technologies are integrated. Typically, a game engine provides support for scene graph-based rendering of 2D and/or 3D graphics, physical simulations, sound, animations, artificial intelligence and networking (Fugger 2004). Therefore, employing a game engine for CityGML is not only advantageous for efficient visualizations, but also for carrying out further tasks, as for example, complex simulations using realistic physics. For our use case the jMonkey (2017) game engine is best suited since it is a fully customizable Java™-based open-source framework that provides all necessary high-level functions while simultaneously facilitating low-level access. From experience it delivers the most complete package. It is stable, comprehensibly structured and offers all necessary features. Additionally it is well documented and has an active community. Though some commercial game engines such as Unity3D or Unreal Engine indeed contain some more sophisticated development tools and features, they typically restrain the developer to use engine specific concepts that make low-level adjustments particularly difficult or even impossible. There are several smaller non-commercial open-source game engines similar to jMonkey such as OGRE3D or libGDX, but these are typically focussed on a specific use case, limited in functionality or poorly documented.