   Help implementing the most basic of shaders
  ok ive started to look at making my engine shader based, as opposed to using the fixed function pipeline, after looking through the basic HLSL sample i have established that the id3dxeffect interface is the way to do thisall i am attempting to do at this point is use the shader to apply my world matrix, but using this method it doesnt seem to apply any of the transformsi initialise the effects interface here D3DXCreateEffectFromFile( gD3dDevice, "./Shaders/Basichlsl.fx", NULL, NULL, D3DXFX_NOT_CLONEABLE, NULL, &g_pEffect, NULL );(ive verified the .fx file loads)so i apply the world matrix g_pEffect->SetMatrix( "g_mWorld", &entityWorld );begin the rendering loop UINT cPasses; UINT iPass;g_pEffect->Begin(&cPasses, 0); for (iPass = 0; iPass < cPasses; iPass++)   {    g_pEffect->BeginPass(iPass) ;g_pEffect->SetTexture( "g_MeshTexture", Textures);  // Render the mesh with the applied technique  mesh->DrawSubset(0) ;   g_pEffect->EndPass();   }    g_pEffect->End() ;but the transformation doesnt seem to be applied at all, could someone please point me in the right direction, i am reading up on how shaders work etc, but without having the most basic of functionality working within my engine i dotn really have anything to work withive also noticed that there doesnt seem to be a way to apply a material to the effects interface, only texturesfor(unsigned int i = 0; i < Mtrls.size(); i++){gD3dDevice->SetMaterial( &Mtrls );gD3dDevice->SetTexture(0, Textures);    }thanks alot and please forgive me if im completely missing the point somewhere
  You need to call g_pEffect->CommitChanges() after you have made all of you calls to ->Set*() and before you call DrawPrimitive() or DrawIndexedPrimitive().   