- Vector4 columns[4];
- columns[0] = Vector4(right, 0.0f);
- columns[1] = Vector4(normalize(cross(back, right)), 0.0f);
- columns[2] = Vector4(back, 0.0f);
- columns[3] = Vector4(target, 1.0f);
- light_matrix = Matrix::from_columns(columns);
- view_matrix = invert(light_matrix);
-
- MatrixStack::Push push_mv(MatrixStack::modelview());
- MatrixStack::Push push_proj(MatrixStack::projection());
-
- MatrixStack::projection() = Matrix::ortho(-radius, radius, -radius, radius, -radius, radius);
- MatrixStack::modelview() = view_matrix;
-
- shadow_matrix = light_matrix;