More Features…

3 Flavours of Bumps

KYRO is one of the few cards to support three different types of bump mapping: Emboss Bump (standard on many 3D cards), Environmental Bump Mapping (EMBM), and Dot Product Bump mapping (Dot3).

Environmental Bump Mapping

EMBM is not a new feature; it has been part of the DirectX specification since DX6, however until ATi's Radeon and KYRO hit the streets the only cards publicly available to support it were Matrox's G400 (and G450) series of cards. It has gained a smattering of support from developers (a list of games supporting the feature can be found at Matrox's website), however I had a considerable amount of difficulty in getting EMBM to function in a game on the KYRO; many titles appear to have EMBM coded specifically for G400, as only this had supported it until recently. I tried the Dungeon Keeper 2 patch with no results at all (the options were available, but made no change); Eidos's F1 World Grand Prix showed reflectance on the car with EMBM enabled, but would fail initialise the renderer if the 'heat haze' effects were enabled; initially Colin McRae Rally 2 did not work, until a patch was installed, however enabling EMBM appeared to show little difference from Emboss Bump Mapping. I did finally discover a demo of the game 'Slave Zero' worked with KYRO's implementation - below there are a couple shots taken with, and without EMBM enabled.

I will admit that I'm left scratching my head over this feature - is it any use? Yes, undoubtedly it makes a noticeable difference in games that use it. However, are we likely to see patches for the back catalogue of game that utilise the feature for Matrox cards only? I'm doubtful! And with features such as Dot3 and Cubic Environment mapping becoming more widespread its possible that developers of future titles may be more enticed by these, and overlook EMBM. Also DX8 introduces a more general texturing operation known as dependent texture reads, this is a superset of EMBM rendering and allows for much more than just bump mapping.

Dot3

DotProduct (Dot3) bumpmapping remains a bit of an enigma within the KYRO chipset; it is listed as available in the Hardware Application Level by DX-Caps, however Imagination Technologies, ST, or any of the other KYRO board vendors appear not to be marketing the feature at all.

Of the two DirectX games that feature support for Dot3, Evolva and Giants: Citizen Kabuto, neither appears to work with KYRO. Evidently Giants has taken the option of looking for a T&L unit and enabling Dot3 if present, because both GeForce and Radeon have a T&L unit and Dot3 support; of course, this precludes cards without T&L (as its not required for Dot3) and hence KYRO. Evolva appears to be a slightly different case; with the patch bump mapping can be enabled, however when you compare the results to GeForce you can clearly see that something is amiss…

Evidently this is an issue with how KYRO handles the specular iterator that Computer Artworks use for the Dot3 Bumpmapping effects in Evolva; it is compatible with GeForce and Radeon, but not KYRO. However, a patch has been written, which uses the diffuse iterator which all three Dot3 cards handle in a similar fashion, we are just waiting for Computer Artworks/Interplay to make it available…

It thus seems that while KYRO supports DX7 Dot3 functionality most developers are not using it fully correctly (caps checking) or are using a flexibility that KYRO does not support (the DX specs are never 100% clear on what is allowed and not allowed). Fact is the DX7 and 8 bumpmap demos run fine on KYRO but that doesn't mean that games will. Who is to blame?

In any case, Dot3 is a nice addition to the chipset, but one that's got to be pushed to the developers. Again, we will soon have cards with full DirectX8 Pixel Shader functionality; I hope that Dot3 isn't a feature that will be overlooked by developers in favour of newer more advanced ones.

For an in-depth explanation of Bumpmapping see Kristofs articles here, and the PowerVR EMBM white paper.