   Bump Mapping
  Hi all,I have been looking around at a few bump mapping tutorials and found this one on two-kings and its very good (http://www.two-kings.de/tutorials/dxgraphics/dxgraphics14.html). I just wanted to know would it be a simple case of rendering the base texture underneath the bump mapped texture to get the final product? Because in this sample the final output is a white textured object.   
  Or if anyone can give me a better tutorial / overview of applying specular maps too texture I would be greatful. I have read MSDN on texture blending and im halfway to understanding it. If anyone could help me along a bit more I would be greatful.   ;  This MSDN article (http://msdn.microsoft.com/en-us/library/bb206304(VS.85).aspx) shows a method of bump mapping, but what I want is a better overview of what it all means, would this implementation react to active lights in the scene or would it just reflect the specular map?   ;  That example shows how to do Bump Map using fixed pipeline; most current examples will show how to do bump map using shaders, which it is not simple.I did bump maping using that example from two kings long time ago and it works great; i just did a litle change encoding the light position in speceular veretex color.In the example you need to setup first one light position into a dword variable called dwtfactor, then you apply that value using:Quote:g_App.GetDevice()->SetRenderState(D3DRS_TEXTUREFACTOR,dwTFactor);Then in stage 0 you setup the bump map texture using the D3DTOP_DOTPRODUCT3 operation with the D3DRS_TEXTUREFACTOR:Quote:m_pDirect3DDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);//light vectorm_pDirect3DDevice->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_TFACTOR);//dot3m_pDirect3DDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_DOTPRODUCT3);So in stage 0 you will get the perpixel normal data; now in stage 1 setup your base texture using a simple modulate op.Quote:m_pDirect3DDevice->SetTextureStageState(1,D3DTSS_COLORARG1,D3DTA_TEXTURE);m_pDirect3DDevice->SetTextureStageState(1,D3DTSS_COLORARG2,D3DTA_CURRENT);m_pDirect3DDevice->SetTextureStageState(1,D3DTSS_COLOROP, D3DTOP_MODULATE); In my own implementaion i changed the D3DTA_TFACTOR and i encoded the light position into the especular color data from the vertex definition, that way each vertex can have affected by a different light position.