Archived

This topic is now archived and is closed to further replies.

Omid

Bumpmapping question

Recommended Posts

Greetings, I''ve been wanting to implement bump mapping in my engine, but my GFX card (TNT2 ULTRA) can''t handle the DX SDK bumpmapping samples in hardware :S The bumpmapping in OpenGL works though, so I''m wondering wether there is some type of bumpmapping in DX which would work in HAL with my GFX card. Thanks in advance regards, /Omid

Share this post


Link to post
Share on other sites
Most of theDirectX SDK samples show two types of bump mapping:

EMBM: Environment Mapped Bump Mapping - this was first available in hardware on Matrox G400 and above (i.e. after TNT2''s).

DOT3: Dot Product 3 - this was first available on 3DLabs Permedia3, but was popularised by nVidia GeForce 256 (i.e. GF256 was the first nVidia card to support DOT3, after TNT2''s).


The only method of bump mapping which you CAN do on TNT2 is known as EMBOSS. There are three ways of doing it, the general way (which works on every card from 3Dfx Voodoo2 upwards), and two special nVidia ways, one similar to the general method, the other using nVidia specific register combiners.

If the OpenGL code you''ve tried achieved the effect with hardware acceleration, then it did it using one form of emboss bump mapping. Most likely would be the nVidia specific register combiner method.

The usual, general way of doing emboss bump mapping which will work on most hardware is easily possible under DirectX. This is shown in the "Emboss" sample in the SDK, and should work fine on a TNT2. IIRC there is a D3D sample on the nVidia website showing the alternative nVidia way too.

It is also possible to expose the register combiners under DirectX (look for the "8 stage setup" document on the nVidia website) if you want to use the nVidia only method.


--
Simon O''Connor
Creative Asylum Ltd
www.creative-asylum.com

Share this post


Link to post
Share on other sites