diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/ChestModel.cpp | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/ChestModel.cpp')
| -rw-r--r-- | Minecraft.Client/ChestModel.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Minecraft.Client/ChestModel.cpp b/Minecraft.Client/ChestModel.cpp new file mode 100644 index 00000000..63f27c44 --- /dev/null +++ b/Minecraft.Client/ChestModel.cpp @@ -0,0 +1,43 @@ +#include "stdafx.h" +#include "ChestModel.h" +#include "ModelPart.h" + +ChestModel::ChestModel() +{ + lid = ((new ModelPart(this, 0, 0)))->setTexSize(64, 64); + lid->addBox(0.0f, -5.0f, -14.0f, 14, 5, 14, 0.0f); + lid->x = 1; + lid->y = 7; + lid->z = 15; + + lock = ((new ModelPart(this, 0, 0)))->setTexSize(64, 64); + lock->addBox(-1.0f, -2.0f, -15.0f, 2, 4, 1, 0.0f); + lock->x = 8; + lock->y = 7; + lock->z = 15; + + bottom = ((new ModelPart(this, 0, 19)))->setTexSize(64, 64); + bottom->addBox(0.0f, 0.0f, 0.0f, 14, 10, 14, 0.0f); + bottom->x = 1; + bottom->y = 6; + bottom->z = 1; + + + // 4J added - compile now to avoid random performance hit first time cubes are rendered + lid->compile(1.0f/16.0f); + lock->compile(1.0f/16.0f); + bottom->compile(1.0f/16.0f); +} + +void ChestModel::render(bool usecompiled) +{ + lock->xRot = lid->xRot; + + lock->render(1 / 16.0f, usecompiled); + bottom->render(1 / 16.0f, usecompiled); + + // 4J - moved lid to last and added z-bias to avoid glitching caused by z-fighting between the area of overlap between the lid & bottom of the chest + glPolygonOffset(-0.3f, -0.3f); + lid->render(1 / 16.0f, usecompiled); + glPolygonOffset(0.0f, 0.0f); +}
\ No newline at end of file |
