Archive

Archive for the ‘3D graphics’ Category

Animation and 3D: the web is doing it wrong

In Animation and 3D: the web is doing it wrong, I argue that the way the web does animation and 3D is completely bogus and deserves to die. With Tao Presentations, we offer a dynamic document description language that lets us write shorter code that is much closer to storytelling. We’d like to bring this to the web.

Have you ever created a dynamic animation on a web site, or displayed a 3D object? Really, why is it so complicated? Why should I learn how to use half a dozen libraries, write dozens of line of boilerplate HTML, WebGL and CSS code, just to rotate some text on the screen or display a 3D object? Why do I need three (or four, or five) languages, libraries or frameworks to design a single animated web page?
In the realm of business presentations, Tao Presentations solved this problem with a 3D dynamic document description language, letting you easily create sophisticated interactive 3D animations and presentations. What if we brought this very innovative platform to the web? What kind of applications would become possible if we improved web browsers in the areas of storytelling, interactivity, 3D or multimedia?

The promise of glasses-free 3D – Dolby’s vision

The promise of glasses-free 3D – Dolby’s vision

The article is a little low on details. Based on the fact that the article mentions Philips displays, my guess is that this is based on the 2D+Z technology. In other words, the picture is split between a color map and a depth map.

The benefits of this approach is that it is easy to transmit over a regular channel, since the picture is basically the same size and format as a regular HDTV picture. The drawback is that the display has to reconstruct at least two images (and for auto-stereoscopic displays, several pictures) from the information.

It may seem simple to reconstruct the required pictures from a color map and a depth map. But in reality, it’s a bit problematic, because a single color map cannot encode both the color of the front objects and the color of the objects it hides.

Imagine for example that you have a plane in the front, and the sky in the background. The sky is blue, the plane is grey. Now, at the border of the plane, the gray hides the blue. But the two eyes don’t see this limit at the same exact location. It’s a phenomenon called parallax.

So what happens is that for at least one of the pictures, the system has to “invent” colors. Basically, it’s going to extrapolate the background color of the parts you can’s see based on the color of the parts you can see.

This is one of the drawbacks of the Philips approach compared to traditional stereoscopic and auto-stereoscopic systems that send all the pictures separately (meaning that they don’t need to invent colors).

This is not very visible on movies, if at all. That’s because borders of real objects tend to be a bit fuzzy. But for synthetic images as those created by Tao Presentations, this tends to cause relatively visible artifacts.

I wonder if Dolby solved that specific problem…

Building a 3D clock in under 10 minutes

In this screencast, I show how you can build a dynamic, real-time clock in less than 10 minutes with Tao Presentations.

Coding a DNA strand in 3D

In this live coding session, we demonstrate how to quickly create a DNA strand in 3D:

The whole code is below:

import LuckyStarsTheme
theme "LuckyStars"

picture_slide "Did DNA come from outer space?", 
    light 0
    light_position 1000, 1000, 1000
    translate -300, 0, -300
    rotatey mouse_x
    random_seed 12345
    dna_strand with -30 .. 30

slide "Arguments in favor", 
    * "Tardigrades can live in space"


dna_strand N:integer -> 
    locally 
        translatey 50 * N
        rotatey 10 * N
        locally 
            rotatey 90
            color "#BBB"
            cylinder 0, 0, 0, 10, 10, 200
        dna_base_pair random (0, 3)

dna_base_pair N:integer -> 
    dna_base_color N mod 4
    sphere 100, 0, 0, 40
    dna_base_color (N + 2) mod 4
    sphere -100, 0, 0, 40
    dna_base_name 140, N mod 4
    dna_base_name -140, (N + 2) mod 4

dna_base_color 0 -> color "red"
dna_base_color 1 -> color "blue"
dna_base_color 2 -> color "green"
dna_base_color 3 -> color "grey"

dna_base_name X:integer, N:integer -> 
    text_box X, 0, 40, 40, 
        font "Arial", 30
        color "white"
        align 0.5
        vertical_align 0.5
        dna_base_text N

dna_base_text 0 -> text "C"
dna_base_text 1 -> text "A"
dna_base_text 2 -> text "G"
dna_base_text 3 -> text "T"

Is it worth disputing the title of “first 3D game on a PC” to John Carmack?

Recently, someone posted a comment on “The Dawn of 3D Games” which I suppose disputed the vaguely stated claim that I wrote the first 3D game for a PC. So I felt like I had to reply and give my point of view on exactly why me, myself and I alone consider that Alpha Waves was a small milestone in the history of 3D gaming.

In reality, there is in my opinion not a single “first 3D game on a PC”, but for a given definition of what a 3D game is, you have a first one that matched these criteria. And for a set of criteria that seems to be relatively reasonable to me (like: it has to be a game, it has to run on some kind of PC or microcomputer, it has to be true 6-axis 3D on a reasonable portion of the screen, and you need some kind of immersion and interaction with a large number of objects), Alpha Waves may very well be the very first. Change a tiny bit in the definition, and some other game gets the crown. So let’s put it that way: Alpha Waves was innovative, and that’s my personal favorite for the title, for obvious reasons.

All that doesn’t matter much, except that in my attempt at documenting this bit of useless ancient geek history, I visited the id Software web site, and I was surprised to see that there’s still the following on their web site:

The first 3D PC game ever! Hovertank 3D debuted the amazing technology that was used to usher in the First Person Shooter genre with Wonfenstein 3D.

Is this a boiled frog approach to marketing? Just by leaving patently wrong stuff on the web site long enough, folks will stop noticing and end up thinking it’s true?

Come on, John! I hesitate writing that about Alpha Waves, when it predated Hovertank by a good year and had a significantly better 3D rendering (if only because it had three axis of rotation). And Alpha Waves is by no mean alone, there are easily half a dozen games predating Hovertank and offering better 3D. You are a celebrity in the world of video games. With all the credit that is due, why do you need to keep this little lie on your web site?

Why does it matter? Precisely because you are a celebrity, so everything you say has a huge impact, including minute details of wording in a long-forgotten corner of an old web site you probably don’t even remember existed. Nonetheless, just fix it. Simply write something like “The first id game ever.” That would do just fine. And that claim is a significant milestone in its own right. Probably a bigger one than “first 3D game on the PC”, as far as the gaming industry is concerned…

And if you feel concerned about your personal place in history, I’m sure Armadillo Aerospace will take care of that.

Oculus Rift Demo

Oculus Rift Demo. A pretty interesting virtual reality headset designed primarily for games. But this could be interesting with Tao Presentations as well…

 

Categories: 3D graphics

When Google oversteps its authority

Recently, a user of Tao Presentations informed us that Google Chrome displayed a dire warning after he downloaded our software: “Tao Presentations may be malicious software”. Uh oh, for the average Joe, that’s a big no-no.

Google locks out “unapproved” programs

It’s not just us. Recently, I tried to download some of the amazing demos created by Iñigo Quilez. Same thing. Seriously, a 4K exe that manages to display a complete mountain? And Google Chrome would have me believe that there’s room in there for “malicious software”? Get real.

Now, it took me quite a while to find a solution to this problem. Apparently, you just need to record your site in Google’s Webmaster tools, and after scanning your site and ensuring (I assume) that there’s no known virus signature in the files, things should improve.

I still find this really annoying that a browser vendor would, by default, tag unknown files as “malicious”. Who are they to make this judgment call?

Why didn’t Google implement a real solution?

Shouldn’t they instead have something a little more sophisticated, that actually detects malicious signatures? You know, like a real anti-virus? Don’t tell me that Google doesn’t have smart enough engineers to write an in-browser anti-virus that doesn’t completely suck.

Nah, instead they went the easy route: anything that we don’t know is malicious. And we tell your users so.

I used to be a big fan of Chrome. Not anymore. Because of this single issue. I think this demonstrate an incredibly stupid arrogance and lack of technical diligence on Google’s part.

Google overstepped its authority and took advantage of their weight. Let’s not get used to it.

Vote for Taodyne at CeBIT Start Me Up

Please show your support for Taodyne by voting for us at the CeBIT Start Me Up competition.

Taodyne – Tao Presentations documents: execution and drawing model

This article explains how Tao Presentations proceeds to transform a document (.ddd) into images on the screen. It describes an interesting mechanism making it easy to create dynamic documents that depend on events such as time or mouse movements. Moreover, this technique also allows Tao Presntations to optimize the rendering of graphic elements, enabling smooth 60Hz drawings even with complex contents.

Taodyne – Tao Presentations documents: execution and drawing model.

Meta: Talk about LLVM

I gave a short talk about LLVM today. The link to the talk is tao://git.taodyne.com/examples/LLVM (sorry, can’t make it a hyperlink, as WordPress removes the tao:// part…). To watch this link, you will need Tao Presentations, which itself uses LLVM for the rendering.

Rendering of the LLVM talk with LLVM within Tao Presentations

This is not the first meta-talk made with Tao Presentations, but for some reason, this one reminds me of the first time I presented HPVM from a Powerpoint within HPVM.

Follow

Get every new post delivered to your Inbox.

Join 365 other followers

%d bloggers like this: