Skip to content

[bug] Render multilayer texture items wrong when load with Re-Avaritia #134

Description

@HowXu

Performance and Version see Nova-Committee/Re-Avaritia#352

It happens when com\github\argon4w\acceleratedrendering\features\items\mixins\gui\GuiGraphicsMixin.java render those has multilayer textures, expectedly change the way to original.call will help:

if (		!AcceleratedItemRenderingFeature.isEnabled						()
				||	!AcceleratedItemRenderingFeature.shouldUseAcceleratedPipeline	()
				||	!AcceleratedItemRenderingFeature.shouldAccelerateInGui			()
				||	!CoreFeature					.isLoaded						()
				||	!CoreFeature					.isGuiBatching					()
                                // here we make difference
				||	bakedModel						.isCustomRenderer				()
		) {
			original.call(
					instance,
					itemStack,
					displayContext,
					leftHand,
					poseStack,
					bufferSource,
					combinedLight,
					combinedOverlay,
					bakedModel
			);
			return;
		}

however, there is a bug of renderBlitFast in the same mixin, there might be some queue error,

public void renderBlitFast(
			ResourceLocation atlasLocation,
			int					minX,
			int					maxX,
			int					minY,
			int					maxY,
			int					blitOffset,
			float				minU,
			float				maxU,
			float				minV,
			float				maxV,
			Operation<Void>		original
	){
// must be cut
		if (true) {
			original.call(
					atlasLocation,
					minX,
					maxX,
					minY,
					maxY,
					blitOffset,
					minU,
					maxU,
					minV,
					maxV
			);
			return;
		}

you must change this signed function to original call, the render then perform correctly. meanwhile, if you change the blitColor from -1 to 0 or 1(alpha 0 all can do it I guess), the whole ui will be transparent, and the render of these textures are correct.

due to above, it seems that the multilayer of things like Singularitys are covered by the UI, although the UI and the Layer both have transparent background, it's overlap break something and make the layer a black background.

And take the blitColor from -1 to 0 into consideration, I think it was that UI covers Items, but we eventually need item cover UI.

one more thing, I think for these bakedModels, it's better use original render cause there's always new shaders / models / and other custom changes for them, we can't make enough for such difference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions