SHOW:
|
|
- or go back to the newest paste.
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 | } |