Alpha Transparency

Can I get some comments from people on my ideas for implementing alpha transparency which I posted in this topic?

Rockin'-B, I's appreciate the chance to see the source for your texture mapping demo - I'd love to know how you managed environment mapping since this is potentially applicable here.
 
Originally posted by Quick Man+Tue, 2005-10-18 @ 08:22 PM--><div class='quotetop'>QUOTE(Quick Man @ Tue, 2005-10-18 @ 08:22 PM)</div><div class='quotemain'>Can I get some comments from people on my ideas for implementing alpha transparency which I posted in this topic?

[post=140834]Quoted post[/post]​

[/b]


Sonic R has got some interesting technology inside.

The alpha blending in Sonic R is done between sprite screen and scroll screens (backgrounds) by using the VDP2.

Now how is the transparency determined for each sprite?

The VDP2 got 8 color calculation ratio registers which hold transparency ratios (think 0 - 31 steps). Sonic R uses both, RGB sprites (foreground) and paletted sprites (transparent ones).

The paletted sprites got a priority number (0-3 bits wide) and a color calculation number, which selects the transparency ratio. In the sprite controll register of VDP2, you can select a "sprite color calculation number" (3 bits), which is compared to the priority of the paletted sprite pixel. The comparison itself can be selected out of 4 with the "sprite color calculatio condition" (2 bits). So if that comparison is true, the sprite undergoes transparency calculation.

This feature does not cost any performance on the VDP2 side.

For VDP1 it could even speed things up. The CPU load instead increases, as well as (optionally) the texture memory consumption.

Why?

Sonic R is forced to use a very smooth Level Of Detail which displays 3D models with RGB textures in the foreground and switches to paletted textures and paletted non-textured polygons in the background. So you may need paletted textures in addition to each RGB texture.

This LOD scheme also implies less VRAM access for the VDP1 (and less color calculation, too) and thus speeds it up.

BTW: you can also apply per pixel alpha blending this way using CLUT sprites with palette format.

<!--QuoteBegin-Quick Man
@Tue, 2005-10-18 @ 08:22 PM

Rockin'-B, I's appreciate the chance to see the source for your texture mapping demo - I'd love to know how you managed environment mapping since this is potentially applicable here.

[post=140834]Quoted post[/post]​

[/quote]

Maybe we'll see the source once I finished TC demo #4.

To be correct, the mapping done is not view dependend. The view-dependent mapping is buggy and can be tried out in TC demo #3. But you can simlulate environment mapping like it's done in WipeOut 2097 and Sonic R.
 
Back
Top