Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public:
- __declspec(dllexport) static bool RenderFrame(vector<GameObject*> allObjects, Camera camera) {
- for (size_t i = 0; i < ScreenClass::SizeY; i++)
- {
- for (size_t k = 0; k < ScreenClass::SizeX; k++)
- {
- for (size_t z = 0; z < allObjects.size(); z++)
- {
- vector<COORD> triangles = allObjects[z]->mesh.Triangles;
- COORD currentPos;
- currentPos.X = k;
- currentPos.Y = i;
- for (size_t t = 0; t < triangles.size(); t+=3)
- {
- 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);
- 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);
- 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);
- if (x1 >= 0 && x2 >= 0 && x3 >= 0)
- {
- ConsoleInfo::SetCursorPosition(currentPos);
- printf("#");
- }
- else if(x1 <= 0 && x2 <= 0 && x3 <= 0)
- {
- ConsoleInfo::SetCursorPosition(currentPos);
- printf("#");
- }
- }
- }
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement