How does the Holomatix Blade 3D applet work?

Diplo

Veteran
Anyone any thoughts on Holomatix? They have a rather neat way of generating 3D java applets that can be embedded in web-pages. What's interesting is that they are fully 3D and yet have the photo-realistic qualities you associate with Quicktime3D. Look at the objects and you will see little pixelation, aliasing etc.

An example with a mobile phone

Scroll down to the bottom of http://www.holomatix.com/ for more examples (try the Nike AZT trainer as a good example of a non-regular object).
 
It's just a regular applet with a well-optimized renderer. They use very high detail models, with high-detail textures to make it look this neat. There's actually a very modest fillrate requirement and a low framerate is acceptable. Well I'm not saying it's simple or anything, it's just very specialized for a niche market.

The Viewpoint product is very similar, and features several more things beyond 3D rendering...
 
That's quite impressive.

It just goes to show you how much more room there is for developers to give us better graphics in games. I doubt there's anything in those models that today's video cards couldn't do 100 times faster.
 
Yes, I saw somthing similar on Dells Server pages - it allows you to take apart the rackmount Server and see inside. Very useful for 'visualizing' the internals and mechanical working of the case/grills/removable disk drives.
 
DemoCoder said:
Hmm, I was thinking lumigraphs myself.
Is that were you use multiple images to construct an interpolated pseduo-3D image? That was what I was wondering because, frankly, the quality of the render just looks too good for real-time generation in software.

Would you care to expand on your thinking, Demo, for those of us who are not too familiar with lumigraphs?
 
Diplo said:
That was what I was wondering because, frankly, the quality of the render just looks too good for real-time generation in software.
Hey what's too good about this for software rendering? :p

You seem to be forgetting that quality is not a limitation in software, performance is. Since vertex processing is limited to transformation, resolution is quite low, and high framerates are not a requirement, these applets can focus on generating the quality that is required to make these products look good.
 
Nick said:
Hey what's too good about this for software rendering? :p

You seem to be forgetting that quality is not a limitation in software, performance is.
No, I fully understand that software rendering can often offer much higher quality rendering than hardware, as it's not limited to a particular API or hardware-specific operations. However, I also know this comes at quite a cost. I'm certainly no expert but I have a rough idea how long it would take to render one frame of something like that mobile-phone in 3DS Max - you would talking a good few seconds, if not minutes. Whilst the quality isn't as good as 3DS (the specular highlights are a little rough and it lacks a direct light-source) it's not too far away and it's real-time and animated (at a reasonable frame-rate). Have you seen this quality of rendering done in real-time on PC before in software?
 
That phone demo is not amazingly impressive, and it's actually not that great of a model. Simply zoom all the way in and then angle the phone such that the keypad is at a steep angle to your eye... you'll see that there are no polygons (or faked bumps) for the keys at all, just a flat poly surface with a decent resolution texture. The only thing they are doing well here is a nice shiny plastic shader that mimics the silver plastic phone shell quite well. Of course, doing shiny plastic has never been the most difficult of problems, like, say, skin is.
 
flf said:
That phone demo is not amazingly impressive, and it's actually not that great of a model. Simply zoom all the way in and then angle the phone such that the keypad is at a steep angle to your eye... you'll see that there are no polygons (or faked bumps) for the keys at all, just a flat poly surface with a decent resolution texture.
That's because the LG phone doesn't have outset buttons - they are virtually flat against the surface. If you look at a less oblique angle you can clearly see each button does stick out, but only very slightly, just like on the real phone. If go to the Orange site you can see examples of phones, such as Orange SPV C500 where you can more clearly see each button is defined.

Also, on the original LG phone, look at the back panel and you can see were the LG logo is embossed etc. It's extremely detailed. I know people like to pretend they are not impressed to look 'cool', but if you think that's not a "great model" for realtime 3D then please show me something that is better, please? Also check out the Seiko watch which even tells the correct time and date in real time and features irregular surfaces, proper bezier curves and advanced bump-mapping etc. Not simple at all.
 
Diplo said:
However, I also know this comes at quite a cost. I'm certainly no expert but I have a rough idea how long it would take to render one frame of something like that mobile-phone in 3DS Max - you would talking a good few seconds, if not minutes.
This is not raytraced, it's rasterized. Much more like the preview in 3D Studio MAX, which also works quite well in software mode for such models.
Whilst the quality isn't as good as 3DS (the specular highlights are a little rough and it lacks a direct light-source) it's not too far away and it's real-time and animated (at a reasonable frame-rate). Have you seen this quality of rendering done in real-time on PC before in software?
You're asking the right person. ;) I render the ATI car model with per-pixel lighting at ~50 FPS in 640x480 resolution using swShader.

The applet runs at a far lower framerate, and smaller resolution. The 'shading' is also more of a hack, and I don't think it uses bilinear filtering (the super-sampling and high-resolution texture make it look ok). On the other hand, it seems purely Java based, so it doesn't use SIMD instructions like I do.

It does the job very well for the niche market it's targeted at, but I'm afraid that's where it ends.
 
Diplo said:
That's because the LG phone doesn't have outset buttons - they are virtually flat against the surface. If you look at a less oblique angle you can clearly see each button does stick out, but only very slightly, just like on the real phone. If go to the Orange site you can see examples of phones, such as Orange SPV C500 where you can more clearly see each button is defined.

Amazingly, the ports on the bottom, and the buttons on the side and top of that 4600 handset are not modeled as polygons.

Try slowly rotating the 8150 from the first post so the keypad is approaching the eye plane... watch the buttons carefully and you'll see a mip-transition create a creeping line of blur across the buttons... which blurs both the keys and the highlights and shadows. Looks like there is a form of bump mapping going on, but those buttons are definitely not individually modeled. The geometry boundaries (such as the hinge of the shell) do not exhibit this mip-transition blur behavior no matter how you rotate the model.

From this evidence I must infer that my original assertion is correct: This is a well-done model, but it's not the pinnacle of 3D development.
 
flf said:
From this evidence I must infer that my original assertion is correct: This is a well-done model, but it's not the pinnacle of 3D development.
Erm, your original assertion was:
flf said:
"You'll see that there are no polygons (or faked bumps) for the keys at all, just a flat poly surface with a decent resolution texture"
However, now you are stating that "there is a form of bump mapping going on". Which is it to be? In the end who cares if they are polygons or normal maps or whatever so long as the effect looks realistic, which it does. There's nothing clever about using tons of polygons to render things that can be achieved much more effectively by clever bump-mapping etc.

I don't believe anyone claimed this was "the pinnacle of 3D development" but for something done in realtime in an embedded Java applet (and remember Java in this context is a semi-interpreted language) then I do think it is impressive.
 
Back
Top