If you have my shadow system and you'd like a speed boost of up to 10%, send me an email and I'll send you version 1.24.
In case you're wondering how I got this speed boost:
I realised that if you have a frustum and a vertex is on the outside side of the left plane of the frustum, then it MUST be on the inside side of the right plane, and so on for the top, bottom, front, and back, because my volumes are cylindrical in shape, not conic like a camera view frustum.
This allowed me to reduce the number of IF statements I have to do for each vertex when building my hash tables for my sutherland-hodgeman clipping by about half. But not exactly half, because I have no far plane in my shadow volumes, they extend to infinity.
In case you're wondering how I got this speed boost:
I realised that if you have a frustum and a vertex is on the outside side of the left plane of the frustum, then it MUST be on the inside side of the right plane, and so on for the top, bottom, front, and back, because my volumes are cylindrical in shape, not conic like a camera view frustum.
This allowed me to reduce the number of IF statements I have to do for each vertex when building my hash tables for my sutherland-hodgeman clipping by about half. But not exactly half, because I have no far plane in my shadow volumes, they extend to infinity.