Developer Insight – Places
Developer insight is a new series where our developers will give behind the scenes details on their projects, workflow and time here at NCTech. Our first developer is Jacob, a recent recruit into our frontend development team.
“I’m Jacob, a web developer working on VR. World’s Places. I’ve been with NCTech since the start of July and have since been developing the Places 3D viewer for experiencing captured locations in virtual reality.
Previously I worked as a 3D Graphics Programmer working on Holographic imagery, revolving around the idea of rendering images as fast as possible while maintaining a high level of graphical complexity. A parallel of this concept can be seen in games development, which is where I became interested in visualising complex data and ideas with code.
Places embodies NCTech’s vision of making virtual worlds possible for everyone by offering an experience which is free to use and doesn’t require fancy equipment to get going. Most phones support creating 360 degree panoramic images, so anyone with a mobile phone can start capturing and creating their own virtual tours to share around the world.
One of the interesting technical aspects in places is how we display a 2D image taken with a camera in a 3D environment. The image that is created when taking a 360 degree panorama is unique when compared to normal camera images as the width of the image is always twice the height. This type of image projection is known as ‘equirectangular’ and is significant because it allows us to describe the image as a sphere. An example of an ‘equirectangular’ projection that is familiar to most people is showing a map of the world as a flat image. Like an inverse globe we can place the user inside a sphere and then paste our panorama onto the inside of that sphere, meaning that when the user looks around it is as if they are looking around a panoramic image. Places expands on this idea by allowing the user to navigate between different panoramas by clicking on hotspots. This allows a series of panoramas taken in one location to be linked together to describe an overall ‘tour’ of a location.
One of the most exciting parts of working on Places is designing it as the entry-level product where most users will be introduced to VR. World and the concept of capturing and creating their own virtual worlds. There’s plenty of features planned for the future as well as expanding VR. World with more products to build on what is possible with Places. “