Fixed stained glass and glass pane not rendering the water and held item transparency for stained glass and pane (#748)

* fixed stained glass and glass pane not rendering the water

* Fixed held item transparency for stained glass and pane
This commit is contained in:
Marvelco
2026-03-06 23:35:30 +02:00
committed by GitHub
parent d265ce29a2
commit a4214805d1
4 changed files with 14 additions and 2 deletions

View File

@@ -745,7 +745,12 @@ void GameRenderer::renderItemInHand(float a, int eye)
{
turnOnLightLayer(a);
PIXBeginNamedEvent(0,"Item in hand render");
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDepthMask(false);
itemInHandRenderer->render(a);
glDepthMask(true);
glDisable(GL_BLEND);
PIXEndNamedEvent();
turnOffLightLayer(a);
}

View File

@@ -767,6 +767,9 @@ int LevelRenderer::renderChunks(int from, int to, int layer, double alpha)
glPushMatrix();
glTranslatef((float)-xOff, (float)-yOff, (float)-zOff);
if (layer == 1)
glDepthMask(false);
#ifdef __PSVITA__
// AP - also set the camera position so we can work out if a chunk is fogged or not
RenderManager.SetCameraPosition((float)-xOff, (float)-yOff, (float)-zOff);
@@ -844,6 +847,10 @@ int LevelRenderer::renderChunks(int from, int to, int layer, double alpha)
#endif // __PS3__
glPopMatrix();
if (layer == 1)
glDepthMask(true);
mc->gameRenderer->turnOffLightLayer(alpha); // 4J - brought forward from 1.8.2
#else

View File

@@ -5,7 +5,7 @@
Icon *StainedGlassBlock::ICONS[StainedGlassBlock::ICONS_LENGTH];
StainedGlassBlock::StainedGlassBlock(int id, Material *material) : HalfTransparentTile(id, L"glass", material, false)
StainedGlassBlock::StainedGlassBlock(int id, Material *material) : HalfTransparentTile(id, L"glass", material, true)
{
}

View File

@@ -6,7 +6,7 @@
Icon *StainedGlassPaneBlock::ICONS[StainedGlassPaneBlock::ICONS_COUNT];
Icon *StainedGlassPaneBlock::EDGE_ICONS[StainedGlassPaneBlock::ICONS_COUNT];
StainedGlassPaneBlock::StainedGlassPaneBlock(int id) : ThinFenceTile(id, L"glass", L"glass_pane_top", Material::glass, false)
StainedGlassPaneBlock::StainedGlassPaneBlock(int id) : ThinFenceTile(id, L"glass", L"glass_pane_top", Material::glass, true)
{
}