Assume we have a camera at P=[1,1,1] which is looking at [0,0.0]', and we have a light at Q=[-3,20, -1]' which we want compute shadows for. To do that, we render a scene with the camera at Q looking at [0,0,0]', with up defined, as in the class discussion, as the projection of [0,1,0]' onto the plane with normal [-3,20,-1]'/norm([-3,20,-1']), and save the Z buffer, Zl. Now to determine if a point is in the shadow with respect to that light we compare the coordinates of that point in the light generated frame to the corresponding value in the Zl buffer. If the value in the Zl buffer is less than the z coordinate of the point, that point is in the shadow. But, since we are rendering in the camera frame the coodinates of our points are given in the camera frame coordinates. Therefore to use the Zl buffer we need a transform that takes the camera frame into the light frame.
Calculate that transform. Your answer can be a floating point 4x4 matrix or a symbolic 4x4 matrix. However to receive credit for the problem you must show enough intermediate calculations to indicate how the problem is solved.
Hi,
my name is Viktor Jamrich.
I'm a 3D engine designer.
The technique you're talking about is Shadow mapping.
You need to project the shadow map to the scene from the
camera's perspective.
You can check out my portfolio on www.viktorjamrich.com.
There is a 3D Engine made from scratch in DirectX11/C++.
I will send you symbolic matrix calculations.
This is my offer:
I request downpayment of $10.
The rest after I send you the matrix transformation.
Let me know to start, I have time right away.
Have a nice day.