Category Archives: 3D Graphics

Volumetric displays will get people into 3D design

3D DESIGN IS still very niche. Most computer users never do any 3D design. I can think of many reasons for that, but foremost there is no particular use case for them today. 3D printing is an example that will bring that use case. Especially when 3D home printers become more common place. But there are still ways to go. 3D design software is still hard to use or too simple to make meaningful objects. The issue is that for the average computer user using 3D design software feels awkward. This is not surprising because all software uses a 2D metaphor to create objects in 3D. You need skill and a trained mind set to translate a 2D representation on the screen to a 3D world in your mind. It takes practice and patience before you can master that. I see this as a huge friction to get consumers to design in 3D – and eventually print their own designed 3D objects.

The current generation of screens is moving towards displaying in 3D. But there is a significant problem with these solutions. They project a 3D image from a single view point. Changing the viewing angle does not change the image. This is acceptable for games or passive consumption of content. But it only marginally helps in the creation of 3D content.

source: AIST (http://www.aist.go.jp/aist_e/latest_research/2006/20060210/20060210.html)

A solution is volumetric displays. That will be the big game changer I think. Volumetric displays project an object or environment in 3 dimensions. It gives the viewer complete freedom in viewing the object from every angle. The user can view and inspect an object like the would any other real object – without touching it.

Unfortunately the technology is not mature yet and only exists in research. There are typically two approaches used: swept-volume display or static volume display. The swept-volume display works by projecting a single slice of the 3D image onto a moving screen. When the screen moves another slice of the 3D image is shown. If this is done fast enough, the persistence of images in the human vision will automatically blend all images together, and 3D object will emerge.

The static volume display has no moving parts. The 3D object is projected inside a solid volume. The volume could be a gas or liquid. A laser excites the molecules briefly to make them emit light.

Volumetric displays are one part of the equation. The other part is capturing 3D input to allow manipulation of 3D objects. The current computer mouse is designed to capture 2D input for a 2D environment. The mouse is not suitable to navigate a 3D environment. There are new 3D input devices on the market like the one from Sixense.

I have high hopes for volumetric displays. I have been following the research for years. Progress in this area is very slow. But I am sure when they get it right, it will be a game changer for 3D design.

Yes, WebGL Is Open: Here We Go Again

THE OTHER day, I was reading this blog post “Protecting WebGL content (and why you probably shouldn’t)” from Brandon Jones. While reading, I got all these flash backs from the 1990s. Here we go again, I thought!

What is the problem? In short WebGL are Javascript calls as part of a larger javascript program running inside the browser. Due to the nature of the web, javascript – and HTML, CSS and all other web page assets – are open for everybody to see and inspect. When the web was gaining traction, I saw the same reaction to HTML and GIF images. Designers and companies were afraid due to the openness that their site design and image assets were copied all over the place. At the time, it was really hip to obfuscate HTML source code and disable the right-click action inside the browser, so that nobody could copy the web page and its content. Of course, this proved to be fruitless since circumventing these “protections” was trivial.

Now we are in 2012, and nobody is protecting their web page assets anymore. You do see obfuscated javascript code from time to time. But most sites have no protective measures. And you know what? It did not really led to any problems. I am even of the opinion that the open nature of the web accelerated the growth and innovation. People could learn from and get inspired by each other’s accomplishments.

Now we are entering the next evolution of the web with WebGL. I think the reason this question arises again is that 3D on the web brings in a new set of people and companies who were not delivering content on the web before. I am thinking about 3D designers, game designers and their respective companies. They have the same fears as the web designers and developers of 2 decades ago.

In my opinion, the reason that it did not lead to any problems is, that the value of internet services is not in their online digital assets. Those assets are the result of a creation process. The value is in that creation process. Next to that is the interaction. Interaction is mostly a server-side affair – though it partly moved to the client with the advent of AJAX. Server side is maintained and under control of the creators and cannot be copied. If you take games as an example, the value is in the creation of digital assets, the game scenario and playability of the game. If you copy the digital assets, you just end up with just the assets. There is no game.

Just copying the homepage of Google or a timeline of Facebook does not give you the ability to copy their services. You need the whole package.

Of course, there are copies of assets or (parts of) whole sites, but it is really not wild west on the internet. If everybody is benign in nature, why can shops have you freely walk around without supervision. Shoplifting is a problem but shops still exist and make money. The same applies to the internet.

At Shapeways, we use WebGL for our creators. WebGL allows our users to interact directly with the product and see it change in realtime. The generation of the product is done server-side. This is part is valuable to us. It is our intellectual property. At the same time, we use a 3D HTML viewer with generated JPEG sprites to show uploaded 3D models. The reason is that we cannot allow any 3D model information to leak onto the internet. Using WebGL it is theoretically possible to copy a 3D mesh from the GPU and save it. That is not acceptable for a lot of designers in our community.

So yes WebGL is open. You can freely look into the work of others and even copy the work others. But no it is not a problem. HTML javascript and CSS work in a similar way and web designers / internet services thrive regardless.

Do you think the openness of the web in general is good or bad?

2011 Wrap Up!

SINCE everybody in the blogosphere is doing a best-of-2011-post, I will do the same. Here is my list. I based it on both number of page views together with a bit of curation by me.

Hobby 3D Printers (needs an update since things are moving so fast)

So Who Invented 3D Printing Anyway?

3D Printing Is A Hype – According To Gartner

3D On The Web, WebGL To The Rescue

3D Printing Technologies Explained

I enjoyed blogging this year, and I am continuing writing next year. I want to thank everybody for the fantastic feedback and insights you send to me through Disqus, email and – especially – Twitter.

I wish everybody a fantastic holiday and a happy 2012!

SIGGRAPH: Web 3D Is Hot, X3D Makes A Comeback

Shapeways has been an avid supporter of X3D file format. And although X3D has been successful in some areas, it was as a standard file format not very successful. In my opinion, X3D always lacked a delivery mechanism. The birth of WebGL and X3DOM is finally creating the delivery platform.

Somebody wrote to me:

So the strangest this just happened.  I tried to goto a Web3D Medical BOF.  It has 25 people waiting outside and I can’t even get into the room. That’s not happened since the .dotcom days.  Nice to see.

Indeed nice to see!

X3DOM organized a X3D/HTML & WebGL BoF session, and all 120 seats were taken. All the technologies to get 3D on the web are getting more mind share of developers. I hope that this, finally, brings 3D to the web. It is one of the last things not properly support by the web.

In short, 3D on the web is gaining traction. We have WebGL to thank for that.

3D on the web – WebGL to the rescue

There is at last progress on bringing 3D to the web. For years, different companies have tried to solve this problem, but the solutions – often with proprietary browser plugins – were cumbersome and limited. With the creation of WebGL, there is finally a way forward.

There are a host of solutions to bring 3D to the web. There are straightforward solutions like animated GIFs of prerendered 3D images or a little more advanced like javascript animated JPG or PNG images with limited interaction with the 3D model. These solutions are extremely well supported with most browsers – even mobile ones. A notable example is the 3DNP (3D No Plugin).

Adobe Flash supports 3D since last year and the same applies for Microsoft Silverlight. Flash has a sizeable installed base and is truly platform-independent except for the Apple IOS platforms. The plugin suffers from performance issues on a certain platform like Linux. Silverlight is very much geared towards Windows and Mac OSX. The installed base is quite low, and Microsoft seems to have lost interest in moving Silverlight forward. They are currently repositioning it for Windows 8 mobile. The 3D engine is still immature and needs improvements. I expect that Microsoft will improve it for the next Windows Mobile version to enable gaming.
Performance wise both plugins are limited by their underlying technologies. Adobe cannot go beyond 50,000 polygons to achieve smooth animation and Silverlight is even more limited than Flash.

Another option is Java. Java has a mature openGL implementation called Jogl. It provides hardware accelerated 3D engine which is extremely powerful. The major issue for real 3D performance is the limited memory available to an applet. An applet can only use 64MB, and this effectively limits the polygon count to around 250,000. Another problem is that OpenGL support is buggy. On Windows OpenGL support is provided by the video card vendors, and the level of support varies per vendor. On other platforms – like Linux – it is the same story.

This year WebGL came to life with support from Google, Apple and Mozilla. It is build on top of the HTML5 canvas-element. It is managed through Khronos standardization group who are also responsible for managing the Collada 3D file format standard. Microsoft is sitting on the side lines without any support for WebGL in Internet Explorer.
In short, WebGL exposes OpenGL calls to the javascript engine and uses the HTML renderer to show the result. This enables far better integration with web applications, and this is already shown by online 3D editors like 3DTin and Tinkercad.
WebGL suffers from the same problem as Java applets using Jogl and that are the buggy OpenGL implementations.
For compatibility reasons, the number of vertices are limited to 65k (16-bits) per mesh which is quite low. Fortunately multiple meshes are supported and scenes or models with up to 500k triangles stay interactive in the browser.

To me WebGL is a significant move forward in making 3D possible on the internet via a browser using an open standard. It has all the conditions to be a success. The biggest challenge is to keep WebGL secure. It exposes direct hardware calls to javascript, and it depends on the filtering techniques of the browser javascript engine to make it secure.
In the end, I am confident that WebGL will succeed. We finally have a 3D solution for the web. Now it is time to make use of it.

I would like to close with this extremely impressive demo from Google about the capabilities of WebGL.