Advertisement
Guest User

Untitled

a guest
Dec 5th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. void Culling::generatePlanes(Matrix viewProjMatrix)
  2. {
  3.     this->viewProjectionMatrix = viewProjMatrix.Transpose();
  4.  
  5.     this->planes[0].x = this->viewProjectionMatrix.m[0][3] + this->viewProjectionMatrix.m[0][0];
  6.     this->planes[0].y = this->viewProjectionMatrix.m[1][3] + this->viewProjectionMatrix.m[1][0];
  7.     this->planes[0].z = this->viewProjectionMatrix.m[2][3] + this->viewProjectionMatrix.m[2][0];
  8.     this->planes[0].w = this->viewProjectionMatrix.m[3][3] + this->viewProjectionMatrix.m[3][0];
  9.  
  10.     this->planes[1].x = this->viewProjectionMatrix.m[0][3] - this->viewProjectionMatrix.m[0][0];
  11.     this->planes[1].y = this->viewProjectionMatrix.m[1][3] - this->viewProjectionMatrix.m[1][0];
  12.     this->planes[1].z = this->viewProjectionMatrix.m[2][3] - this->viewProjectionMatrix.m[2][0];
  13.     this->planes[1].w = this->viewProjectionMatrix.m[3][3] - this->viewProjectionMatrix.m[3][0];
  14.  
  15.     this->planes[2].x = this->viewProjectionMatrix.m[0][3] + this->viewProjectionMatrix.m[0][1];
  16.     this->planes[2].y = this->viewProjectionMatrix.m[1][3] + this->viewProjectionMatrix.m[1][1];
  17.     this->planes[2].z = this->viewProjectionMatrix.m[2][3] + this->viewProjectionMatrix.m[2][1];
  18.     this->planes[2].w = this->viewProjectionMatrix.m[3][3] + this->viewProjectionMatrix.m[3][1];
  19.  
  20.     this->planes[3].x = this->viewProjectionMatrix.m[0][3] - this->viewProjectionMatrix.m[0][1];
  21.     this->planes[3].y = this->viewProjectionMatrix.m[1][3] - this->viewProjectionMatrix.m[1][1];
  22.     this->planes[3].z = this->viewProjectionMatrix.m[2][3] - this->viewProjectionMatrix.m[2][1];
  23.     this->planes[3].w = this->viewProjectionMatrix.m[3][3] - this->viewProjectionMatrix.m[3][1];
  24.  
  25.     this->planes[4].x = this->viewProjectionMatrix.m[0][2];
  26.     this->planes[4].y = this->viewProjectionMatrix.m[1][2];
  27.     this->planes[4].z = this->viewProjectionMatrix.m[2][2];
  28.     this->planes[4].w = this->viewProjectionMatrix.m[3][2];
  29.  
  30.     this->planes[5].x = this->viewProjectionMatrix.m[0][3] - this->viewProjectionMatrix.m[0][2];
  31.     this->planes[5].y = this->viewProjectionMatrix.m[1][3] - this->viewProjectionMatrix.m[1][2];
  32.     this->planes[5].z = this->viewProjectionMatrix.m[2][3] - this->viewProjectionMatrix.m[2][2];
  33.     this->planes[5].w = this->viewProjectionMatrix.m[3][3] - this->viewProjectionMatrix.m[3][2];
  34.  
  35.     for (int i = 0; i < 6; i++)
  36.     {
  37.         this->planes[i].Normalize();
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement