   How to fixed a mesh's appearance size?
  I mean when the camera moves, rotates, zooms, the mesh will never change its size in the view (Not the actual size but the "appearance"). The mesh can rotate, move, but I want it retain the size.I think maybe I can change the viewMatrix to achieve it, but the result seems weird.Is there any other methods?Thx   
  I don't really know what you mean here other than the fact that when you move the camera away from the object that it will be scaled to appear smaller or larger than it really is. This is accomplish by using the view transformation matrix as your camera. Your camera mainly has 3 components. A position, a lookAt vector which will tell it where to look at. Then it has an up vector telling it which way is up. You could build a flexible camera class around this and generally just use the D3DXMATRIXLookAtLH() or the Matrix.LookAtLH() method to build your view matrix.I hope this helps and is what you were looking for.Take care.   ;  I guess the OP doesn't want his mesh to scale according to the distance from the camera. This can be accomplished in Managed DirectX by constructing your Projection matrix with Matrix.OrthoLH (instead of the typical Matrix.PerspectiveFovLH), which will retain the size of the mesh no matter how far it is from the camera. I'm sure the C++ API has a equivalent method somewhere.Hope this helps (and actually is what you meant :)   ;  Yes, that's what I want!I think changing the vEyePos can be helpful, but it isn't.My method is calculating the distance between vEyePos and vLookAt to determine how much need to be changed with vEyePos. And keep the vLookAt and vUp unchanged.Is this right?;Quote:My method is calculating the distance between vEyePos and vLookAt to determine how much need to be changed with vEyePos. And keep the vLookAt and vUp unchanged.I haven't tried that myself, but I think this would still change the distance between you mesh and the camera, which in turn would cause some perspective slacing to be applied. By simply using the OrthoLH matrix instead of the perspective one, this behaviour should stop.Hth :)   ;  I don't think OrthoLH is what I want, because I need the perspective effect, and I also need the mesh to rotate by it's axis, or move.I need the mesh seems to be the same size after its moving or rotating..;  Ok, I succeed!To remigius: the OrthoLH can get the same effect with my vEye vector moving method, but if I move the vLookAt, the mesh using OrthoLH will look different from other mesh using Perspective.  Also thanks for your help!I use a more complex method to achieve my goal. I project the vector where I want to put the mesh from the object space to screen space using the Perspective, and then I project the vector back to object space only change to use OrthoLH. Finally, I render the mesh using OrthoLH. I get what I want!My purpose is to display axes with some meshes. The meshes can be changed by the transform of camera, but the axes should keep their size.Is there any other good method to solve the problem?