Sign in to follow this  

Smart Viewpoint Computation C++ Library (free, open source)

This topic is 1725 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

SmartViewpointComputationLib is a C++ library to compute the best viewpoint in a 3D scene that satisfies a set of visual properties, such as size, visibility or angle of selected objects in the scene. For example, suppose you have a building floor scene like this one:





and you would like a viewpoint that shows one of the computers in the rooms, say the one in the bottom left room. Let's suppose that "monitor", "keyboard", and "mouse" are the scene entities' names of that computer parts. You then create a set of properties like:
monitor: should be entirely visible from the viewpoint
monitor: should be not occluded by other objects
monitor: should be rendered at a certain minimum size 
and similarly for the other keyboard and mouse. You then ask the the library to compute a viewpoint satisfying those properties, and it will return something like this:





The available properties include objects's size, angle, occlusion, and position in the image rendered from the viewpoint (also relative position of two objects, e.g. one at the right of another). 



The library does not make any assumption on the scene and objects, and only require access to the scene objects' meshes and world transformations. It can return a result within a time of your choice (e.g., a few tens of milliseconds). More time will generally increase the quality of results, especially in large and complex scenes.
The library is released under the LGPL license. We also provide, as public domain code, bindings for the Ogre open-source rendering engine. Connecting it to other rendering engines, however, requires to modify just one public-domain file (which for Ogre consists of 500 lines of code).
The library is available at and, besides source code, there are two binary demos for Win and Mac demonstrating some of the library capabilities.



Share this post

Link to post
Share on other sites
Sign in to follow this