Skip to content

Commit e8c4509

Browse files
authored
Fix #957: Improve performance of hatch overlay rendering (#982)
1 parent 7c9bc33 commit e8c4509

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/client/java/aztech/modern_industrialization/MIClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import aztech.modern_industrialization.blocks.storage.barrel.DeferredBarrelTextRenderer;
3030
import aztech.modern_industrialization.blocks.storage.barrel.client.BarrelTooltipComponent;
3131
import aztech.modern_industrialization.blocks.storage.tank.TankRenderer;
32+
import aztech.modern_industrialization.client.MIRenderTypes;
3233
import aztech.modern_industrialization.datagen.MIDatagenClient;
3334
import aztech.modern_industrialization.datagen.MIDatagenServer;
3435
import aztech.modern_industrialization.datagen.model.DelegatingModelBuilder;
@@ -96,6 +97,7 @@
9697
import net.neoforged.neoforge.client.event.RegisterGuiLayersEvent;
9798
import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent;
9899
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;
100+
import net.neoforged.neoforge.client.event.RegisterRenderBuffersEvent;
99101
import net.neoforged.neoforge.client.event.RenderFrameEvent;
100102
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
101103
import net.neoforged.neoforge.client.gui.VanillaGuiLayers;
@@ -163,6 +165,10 @@ private static void init(FMLConstructModEvent ignored) {
163165
IConfigScreenFactory.class,
164166
(mc, parentScreen) -> AutoConfig.getConfigScreen(MIConfig.class, parentScreen).get());
165167

168+
modBus.addListener(RegisterRenderBuffersEvent.class, event -> {
169+
event.registerRenderBuffer(MIRenderTypes.solidHighlight());
170+
});
171+
166172
// Warn if neither JEI nor REI is present!
167173
if (!ModList.get().isLoaded("emi") && !ModList.get().isLoaded("jei")
168174
&& !ModList.get().isLoaded("roughlyenoughitems")) {

src/client/java/aztech/modern_industrialization/client/MIRenderTypes.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ private static RenderType makeMachineOverlay() {
6464
}
6565

6666
private static RenderType makeSolidHighlight() {
67-
return create("solid_highlight", DefaultVertexFormat.POSITION_COLOR_NORMAL, VertexFormat.Mode.QUADS, 65536, false, false,
67+
// Use block vertex format to use the fast path in BufferBuilder, even if the shader doesn't use the extra vertex attributes.
68+
return create("solid_highlight", DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS, 65536, false, false,
6869
CompositeState.builder()
6970
.setTransparencyState(NO_TRANSPARENCY)
7071
.setTextureState(NO_TEXTURE)

0 commit comments

Comments
 (0)