r/pascal • u/AcanthaceaeNew774 • 22h ago
VertexArt - Tetris ( cube.ply 3D ) - sense of space improved
Enable HLS to view with audio, or disable this notification
Vizuális megjelenítés
1. PLY alapú kockák
A generált kockák helyett cube.ply fájlt használ:
pascal
procedure LoadBaseCubeMesh;
begin
PlyMesh := LoadPLY('cube.ply');
BaseCubeMesh.VertexCount := Length(PlyMesh.Vertices);
SetLength(BaseCubeMesh.Vertices, BaseCubeMesh.VertexCount);
Move(PlyMesh.Vertices[0], BaseCubeMesh.Vertices[0], ...);
NormalizeMeshCustom(BaseCubeMesh); // Egységnyire méretez
end;
Normalizáló eljárás:
- Megkeresi a mesh határait (
MinX,MaxX, stb.) - Kiszámolja a középpontot
- Áthelyezi az origóba
- Egységnyire méretezi (a legnagyobb méret = 1)
2. Színek
Minden darabtípus egyedi színt kap:
| Darab | Szín | RGB |
|---|---|---|
| I | Cián | (0, 255, 255) |
| O | Sárga | (255, 255, 0) |
| T | Lila | (128, 0, 128) |
| S | Zöld | (0, 255, 0) |
| Z | Piros | (255, 0, 0) |
| J | Kék | (0, 0, 255) |
| L | Narancs | (255, 165, 0) |