<snip>

Quote:

> D3DDev.Transform.View = Matrix.LookAtLH(Position, LookAt, vUpVec)

<snip>

> for moving in 3 axes, now im tryng to move point of view (hold camera

> position but moving observation point),

Change the LookAt vector in the view matrix to the new coordinates the

camera must look at. If you also want to simulate camera rotation,

change the vUpVec vector to specify the direction that's "up" with

respect to the camera.

Keep this common to the entire scene (change only once per frame), or

you can get strange (but sometimes pretty) results.

The world matrix can remain the same as it was, per object, without

any changes for the camera position.

Treat it as if you're looking at a real scene: you can walk through a

room (= camera movement) without moving any objects in it (= world

matrixes per object).

The projection matrix gives a reference for the room itself, like how

large it is (what scale or units you're using for the entire scene).

Quote:

> i tihink is good to use:

> tMatrix = Matrix.Add(tMatrix, Matrix.RotationX(Rotation.X \ 10))

> D3DDev.Transform.World = tMatrix

Multiply matrixes instead of adding them if you want to combine them,

for example:

Device.Transform.World = Matrix.Multiply( _

Matrix.RotationX(Angle), _

Matrix.Translation(X,Y,Z))

The result is as if the operations are applied one after the other

(left to right in the multiplication): in this example the object will

seem to rotate around its own axis at position (X,Y,Z), but if you

reverse the arguments to .Multiply it will seem to orbit around the

origin at a distance determined by (X,Y,Z).

Combining the rotation of the earth around its axis with the orbit it

describes around the sun would require three matrixes: rotation around

its axis (period = one day), multiplied by a translation for the

distance from the sun, multiplied by a second rotation for the orbit

(period = one year).

A misconception that's easy to make is that a world matrix describes

the world an object is placed in: it's the other way around, it

specifies how an object is placed with respect to the world.

The world itself (the common reference system used by the camera and

world matrixes) is determined by the projection matrix.

So if you render multiple objects, you start out with exactly one

world matrix, exactly one view (camera) matrix, and [one world matrix

per object] - parentheses around the last for extra clarity.

You could say that the view matrix is the camera's analog for a world

matrix.

This was not a book, but I hope it will help you get started ;-)