I'm developing a small application using Directx intended to plot frequency spectra data in a waterfall plot. It should look like this: 
So far, I managed to created most of the chart components(axes, title and the data can be plotted as lines or slices as the picture above). The problem now is that I could not managed to create a projection similar to that in the image. I know the projection shown in the image is an "Oblique projection" and I've tried several ways to get it:
Here, the author proposes the projection matrix as
P = M_orth * H(θ,φ)
where M_orth is an orthogonal projection matrix and H(θ,φ) is a shear matrix defined as
H(θ,φ) =
| 1 0 -cot(θ) 0 |
| 0 1 -cot(φ) 0 |
| 0 0 1 0 |
| 0 0 0 1 |
- Practical C# - Chart and Graphics, Chapter 5, Pg 247
Here, the projection matrix is defined as
P(α,θ) =
| 1 0 cos(θ) / tan(α) 0 |
| 0 1 sin(θ) / tan(α) 0 |
| 0 0 0 0 |
| 0 0 0 1 |
and the author gives two special cases:
- Cavalier projection: alpha = 45°, 30 <= theta <= 45
- Cabinet projection: alpha = 63.4°, 30 <= theta <= 45
But none of them have gave me good results:
And I don't understand why I'm getting this strange results? Any of you guys knows how to set the oblique projection properly?
Thanks in advance


v*MvsM*vconvention right, as well as not mixing up storage layouts. \$\endgroup\$