   HLSL Uniforms?
  HiHaving experiemented with penGL vertex programs make it somehow not easy to understadn how HLSL works.  I wonder when we declare a uniform variable in HLSL, does not neccessarily correspond to a built-in structure like the modelview matrix?  And if not hw many varialbes can we declare as uniforms?  What make sme ask so is that in OpenGL ARB vertex programs it used to be a built-in time that we fill and access in the vertex program, rather than declaring a special one.  Does HLSL allow variables in video/GPU memory?Thanks.   
  HLSL globals get put in Constant registers.  The number available is dependent on the vertex and pixel shader version and/or the device's capabilities.  For VS_2_0 you would need to check D3DCAPS9.MaxVertexShaderConst.  For PS_2_0 it is 32.I don't know of any variables that are automatically made available.  You would need to define one and then use DX interface (like ID3DXEffect for effect files) to set them.You can read the DX SDK if you want and look at the sample programs in the SDK.  Or you can get a good book on DX and HLSL.  The latest book by Frank Luna teaches DX from the ground up and uses HLSL for everything.  But if you already know DX and just want to understand HLSL, there are various books out by Wolfgang Engel that cover it well.