Advertisement
Guest User

Untitled

a guest
Sep 17th, 2021
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public:
  2.     __declspec(dllexport) static bool RenderFrame(vector<GameObject*> allObjects, Camera camera) {
  3.         for (size_t i = 0; i < ScreenClass::SizeY; i++)
  4.         {
  5.             for (size_t k = 0; k < ScreenClass::SizeX; k++)
  6.             {
  7.                 for (size_t z = 0; z < allObjects.size(); z++)
  8.                 {
  9.                     vector<COORD> triangles = allObjects[z]->mesh.Triangles;
  10.  
  11.                     COORD currentPos;
  12.                     currentPos.X = k;
  13.                     currentPos.Y = i;
  14.  
  15.                     for (size_t t = 0; t < triangles.size(); t+=3)
  16.                     {
  17.                         float x1 = ((triangles[t].X + allObjects[z]->Pos.X) - currentPos.X) * ((triangles[t + 1].Y + allObjects[z]->Pos.Y) - (triangles[t].Y + allObjects[z]->Pos.Y)) - ((triangles[t + 1].X + allObjects[z]->Pos.X) - (triangles[t].X + allObjects[z]->Pos.X)) * ((triangles[t].Y + allObjects[z]->Pos.Y) - currentPos.Y);
  18.                         float x2 = ((triangles[t + 1].X + allObjects[z]->Pos.X) - currentPos.X) * ((triangles[t + 2].Y + allObjects[z]->Pos.Y) - (triangles[t + 1].Y + allObjects[z]->Pos.Y)) - ((triangles[t + 2].X + allObjects[z]->Pos.X) - (triangles[t + 1].X + allObjects[z]->Pos.X)) * ((triangles[t + 1].Y + allObjects[z]->Pos.Y) - currentPos.Y);
  19.                         float x3 = ((triangles[t + 2].X + allObjects[z]->Pos.X) - currentPos.X) * ((triangles[t].Y + allObjects[z]->Pos.Y) - (triangles[t + 2].Y + allObjects[z]->Pos.Y)) - ((triangles[t].X + allObjects[z]->Pos.X) - (triangles[t + 2].X + allObjects[z]->Pos.X)) * ((triangles[t + 2].Y + allObjects[z]->Pos.Y) - currentPos.Y);
  20.  
  21.                         if (x1 >= 0 && x2 >= 0 && x3 >= 0)
  22.                         {
  23.                             ConsoleInfo::SetCursorPosition(currentPos);
  24.                             printf("#");
  25.                         }
  26.                         else if(x1 <= 0 && x2 <= 0 && x3 <= 0)
  27.                         {
  28.                             ConsoleInfo::SetCursorPosition(currentPos);
  29.                             printf("#");
  30.                         }
  31.                     }
  32.                 }
  33.             }
  34.         }
  35.         return true;
  36.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement