View difference between Paste ID: eFnb2jHr and uXHidSPU
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
    }