I want to split view frustum for shadows mapping ( CSM/PSSM ). I need to get corners of each frustum split. I already have 8 corners of view frustum and view frustum planes. So I thought that maybe I don't need to create new invViewProj matrix and get corners using clip space method, it is too expensive ( for each split )
To get center of two point/vector we use this: center = ( V1 + V2 ) * 0.5
So, using same information could give us splitted frustum corner by this:
newNearTopLeft = ( nearTopLeft + farTopLeft ) * ( near / planeDistance ) /* this plane is between far and near points */
/* repeat this for each 8 corner */
Does the math correct? If it is correct then this will save my engine from many calculations