📜 ⬆️ ⬇️

Hosting 3D Viewpot Models

Hello, the community! I would like to tell you about my project, which I work on in my free time. It is called Viewpot and is the first on the Web to host 3D models.



I am sure that almost everyone already knows about the upcoming HTML5 and the new features it provides to developers. One of the most important and interesting innovations is WebGL , a technology that enables the browser to display interactive three-dimensional scenes that are readable on a video card. This technology will be available in any modern browser without installing additional plug-ins, and separately it should be noted that it will be supported by iOS and Android devices.

The first WebGL-enabled browsers — Firefox 4 and Chrome 10 — will appear this year. The question immediately arises: by whom will this technology be in demand? Or, in other words, in what areas will dynamic 3D models that the user can rotate and scale with the mouse will be more informative than static pictures? Some of these areas can be listed now:

Of course, do not expect that every site on the network will become three-dimensional. But it can be argued with certainty that in certain areas 3D content will be in demand.
')

Technical threshold


However, the publication of 3D-content on the site requires solving a number of technical problems. First, you need to prepare the initial model for display in the browser using a converter, and, second, you need to have a special JavaScript player to display the model on the page.

Approximately the same difficulties arise today when publishing video and audio content. This gave rise to a number of services such as YouTube and SoundCloud . These services take all the technical difficulties on themselves and provide users with a complete integrated solution.

It is logical to assume that over time there will be a need for the same services for hosting 3D-models. Moreover, the models that will be published using these services can be embedded on third-party sites, just as you can now embed a YouTube player on the page of a blog or any other site.

Viewpot


The Viewpot project is a prototype of such a service. It gives the user the opportunity to upload his model and get the page where this model is displayed, as well as the code to insert the player with the model on any HTML page.



To date, only basic functions have been implemented on the site, since the main volume of work fell on the technologically capacious and most important parts of the system - the server converter of the models and the browser player. Support for advanced 3D features, such as animation and effects (shaders), was also not implemented.

However, the existing functionality is enough to get an idea of ​​what problem this product solves, and most likely, in the near future, the project will have the first users from among domestic and English-speaking 3D modellers.

Monetization


Speaking of 3D content, it is important to understand that the process of creating it is much more complicated than the process of creating a video or photo. Nowadays, there are no household 3D-scanners or cameras that would allow anyone to quickly get a ready-made 3D model. Consequently, content authors will be people from a narrow circle of 3D artists, architects, engineers — that is, people working with 3D professionally. These people are the target paying audience. Another part of the audience - consumers of content - is much more numerous, but in general it is difficult to veto group.

Since the target audience has a purely professional character, the most likely way to monetize is to sell tools that will help solve problems more efficiently, as well as increasing the limits that will be imposed on downloadable content. In other words, it will be the sale of “pro” accounts, which will provide an extended set of features and tools:

It should also be noted the high probability of B2B sales. Possible clients are architectural agencies, interior design and landscape agencies, and other organizations interested in publishing 3D scenes on their websites.

Technical nuances


There are still a lot of white spots in server processing of 3D models, that is, tasks without ready-made open-source solutions. If we have tools like ffmpeg for video, and ImageMagick for graphics, then you will most likely have to write code for various processing of three-dimensional scenes manually.

Even such a trifle as thumbnail generation is of great complexity. In a more general form, this task comes down to the server rendering of the 3D scene. The most optimal solution is to have a fleet of servers with powerful video cards. An automated robot with integrated WebKit will be installed on each server, taking screenshots of the rendered scenes. With the help of such a mechanism, it is also possible to realize the orbit rendering of the model, that is, a series of 2D images obtained by flying the camera around the model.

As for the JavaScript engines for rendering, then the situation is more rosy - there are a number of projects: Scene.js , CopperLicht , GLGE , Google O3D and others . “Feeling” each of them, I chose Google O3D, which used to be a browser plugin (like Flash), and now it has become a WebGL-based JavaScript library. O3D seemed to me the most thoughtful, complete and ready to use, rather than other engines. Also a huge plus is a large number of examples and good documentation, peculiar to all Google projects.

SpiderGL also makes a good impression, but it is lower-level compared to O3D.

I would be grateful for your feedback and criticism, and I will be happy to answer any questions you may have, including technical ones. If you want, you can chat by e-mail . Hello!



The author of the post and the project is sotakone , he asked me to publish the post, since he himself does not have enough karma.

Source: https://habr.com/ru/post/112469/


All Articles