OpenGL parallel projection mode shear matrix

I’m trying to replace the glOrtho function as I’m allowing the camera to change it’s offset in parallel projection mode.

I though it would be a simple case of shear then ortho ie.

| 1 0 a 0 |
| 0 1 b 0 |
| 0 0 1 0 |
| 0 0 0 1 |

then ortho with

| A 0 0 tA |
| 0 B 0 tB |
| 0 0 C tC |
| 0 0 0 1 |

Any ideas, as it doesn’t work?