This collage show various feature of a multimedia engine code named Ultra.
The engine was developed around DirectX services, mainly DirectGraphic, DirectShow & DirectSound.
DirectShow provide live video & disk streaming.
DirectGraphics is used for all the final compositing steps.
Multiple animated/live Sources:
In the first shot we see 3 layers, an animated background, a live source and an overlay with
'environment' highlight/reflection. The background video is a 30fps mpeg1,
the camera is setup as a 320x240 30fps source, the alpha blended overlay is at video resolution.
The next shot show the addition of a simple 3d model used as a frame.
All live sources are color corrected (A dozen of color FX can be applied as they are processed)
and can be chroma keying in realtime.
The smoke images show the keyer pre-processor.
The first one is untouched the second show chroma extraction & replacement then
we see extraction of highlights & shadows from a glass bowl recorded over a green background.
(The rightmost band is left unprocessed in both example for comparison.)
The teddy bear show a live source from the same device, chroma keyed and
mapped on a morphing reflective sphere.
A firewire webcam is used as the camera source, lighting provided by a single 100watt lightbulb.
The 4 shots on the right show animated wipes. This is done in HW or SW depending
on the capabilities of the card. (The FX shown in the collage are designed to run on ati rage and TNT1 class hw).
The torus show 2 frame of a source being wiped off screen using soft colored edge.
(Most FX use blending mode non compatible with pixel depth buffer, so the 'painter' algorithm
Next we see a 3d object interact with a particle system.
The 2 shot below show that the particle system can be feed from live video data,
and show a frame of a transform.
Next to the main video tape image, we see the particles interact with translucid video.
The countdown video is played over a defocus source using a mipmaping bias technique.
Parametric page peel, planar projection soft shadow with alpha mask....
The last image is of virtual set. Here we take a rendered scene and integrate live components.
The scene camera cannot move, but complex looking FX can be created. This example show how the
live video chromakeyed over an animated background with overlay reflect on the desktop.
More complex techniques are being developed to make those environment more interactive.
To see a sample output of the engine used in our first product:
More sample at http://www.seriousmagic.com/vidsamp.htm
And to see more of Karl http://www.seriousmagic.com/socarchs.htm
Stephan Schaem (a.k.a T21)