mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-11-10 12:34:11 +01:00
A smaller stage
- Cull down RenderStage. - Simplifies the choice users of flywheel have to make. - Allows more time for the impl to run things off-thread while the rest of the level renders.
This commit is contained in:
parent
3f8876b073
commit
6f9cd8c099
@ -1,15 +1,8 @@
|
||||
package com.jozufozu.flywheel.api.event;
|
||||
|
||||
public enum RenderStage {
|
||||
BEFORE_SKY,
|
||||
AFTER_SKY,
|
||||
BEFORE_TERRAIN,
|
||||
AFTER_SOLID_TERRAIN,
|
||||
BEFORE_ENTITIES,
|
||||
AFTER_ENTITIES,
|
||||
AFTER_BLOCK_ENTITIES,
|
||||
BEFORE_CRUMBLING,
|
||||
AFTER_FINAL_END_BATCH,
|
||||
AFTER_TRANSLUCENT_TERRAIN,
|
||||
AFTER_PARTICLES,
|
||||
AFTER_WEATHER;
|
||||
|
@ -88,31 +88,6 @@ abstract class LevelRendererMixin {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=sky"))
|
||||
private void flywheel$onStage$beforeSky(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.BEFORE_SKY);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=fog"))
|
||||
private void flywheel$onStage$afterSky(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_SKY);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=terrain"))
|
||||
private void flywheel$onStage$beforeTerrain(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.BEFORE_TERRAIN);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=entities"))
|
||||
private void flywheel$onStage$afterSolidTerrain(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_SOLID_TERRAIN);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/RenderBuffers;bufferSource()Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;", ordinal = 0))
|
||||
private void flywheel$onStage$beforeEntities(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.BEFORE_ENTITIES);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiling/ProfilerFiller;popPush(Ljava/lang/String;)V", args = "ldc=blockentities"))
|
||||
private void flywheel$onStage$beforeBlockEntities(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_ENTITIES);
|
||||
@ -123,26 +98,11 @@ abstract class LevelRendererMixin {
|
||||
flywheel$dispatch(RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;endBatch()V", ordinal = 0))
|
||||
private void flywheel$onStage$beforeCrumbling(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.BEFORE_CRUMBLING);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/LevelRenderer;translucentTarget:Lcom/mojang/blaze3d/pipeline/RenderTarget;", opcode = Opcodes.GETFIELD, ordinal = 0))
|
||||
private void flywheel$onStage$afterFinalEndBatch$fabulous(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_FINAL_END_BATCH);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/LevelRenderer;particlesTarget:Lcom/mojang/blaze3d/pipeline/RenderTarget;", opcode = Opcodes.GETFIELD, ordinal = 0))
|
||||
private void flywheel$onStage$afterTranslucentTerrain$fabulous(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_TRANSLUCENT_TERRAIN);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/MultiBufferSource$BufferSource;endBatch()V", ordinal = 2, shift = Shift.AFTER))
|
||||
private void flywheel$onStage$afterFinalEndBatch(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_FINAL_END_BATCH);
|
||||
}
|
||||
|
||||
@Inject(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/LevelRenderer;renderChunkLayer(Lnet/minecraft/client/renderer/RenderType;Lcom/mojang/blaze3d/vertex/PoseStack;DDDLorg/joml/Matrix4f;)V", ordinal = 6, shift = Shift.AFTER))
|
||||
private void flywheel$onStage$afterTranslucentTerrain(CallbackInfo ci) {
|
||||
flywheel$dispatch(RenderStage.AFTER_TRANSLUCENT_TERRAIN);
|
||||
|
Loading…
Reference in New Issue
Block a user