36 void update(
const glm::mat4& viewProj) {
37 glm::mat4 m = glm::transpose(viewProj);
40 planes[0].normal = glm::vec3(m[3] + m[0]);
41 planes[0].distance = m[3].w + m[0].w;
43 planes[1].normal = glm::vec3(m[3] - m[0]);
44 planes[1].distance = m[3].w - m[0].w;
46 planes[2].normal = glm::vec3(m[3] + m[1]);
47 planes[2].distance = m[3].w + m[1].w;
49 planes[3].normal = glm::vec3(m[3] - m[1]);
50 planes[3].distance = m[3].w - m[1].w;
52 planes[4].normal = glm::vec3(m[3] + m[2]);
53 planes[4].distance = m[3].w + m[2].w;
55 planes[5].normal = glm::vec3(m[3] - m[2]);
56 planes[5].distance = m[3].w - m[2].w;
58 for (
auto& plane : planes) plane.normalize();