fixed shapes for 1.17 rendringo
This commit is contained in:
1 parent
0b93101248
commit
7d135187b1
4 files changed
+56
-121
No files matched your search
+2
-2
@@ -4,8 +4,8 @@ org.gradle.jvmargs=-Xmx1G
|
|||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://fabricmc.net/use
|
# check these on https://fabricmc.net/use
|
||||||
# or better: https://modmuss50.me/fabric.html
|
# or better: https://modmuss50.me/fabric.html
|
||||||
minecraft_version=21w10a
|
minecraft_version=21w11a
|
||||||
yarn_mappings=21w10a+build.23
|
yarn_mappings=21w11a+build.2
|
||||||
loader_version=0.11.3
|
loader_version=0.11.3
|
||||||
fabric_version=0.32.2+1.17
|
fabric_version=0.32.2+1.17
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@ package carpet.mixins;
|
|||||||
|
|
||||||
import carpet.network.CarpetClient;
|
import carpet.network.CarpetClient;
|
||||||
import carpet.script.utils.ShapesRenderer;
|
import carpet.script.utils.ShapesRenderer;
|
||||||
import carpet.utils.FabricAPIHooks;
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gl.ShaderEffect;
|
|
||||||
import net.minecraft.client.render.BufferBuilderStorage;
|
import net.minecraft.client.render.BufferBuilderStorage;
|
||||||
import net.minecraft.client.render.Camera;
|
import net.minecraft.client.render.Camera;
|
||||||
import net.minecraft.client.render.GameRenderer;
|
import net.minecraft.client.render.GameRenderer;
|
||||||
@@ -14,7 +11,6 @@ import net.minecraft.client.render.WorldRenderer;
|
|||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.util.math.Matrix4f;
|
import net.minecraft.util.math.Matrix4f;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
@@ -30,7 +26,9 @@ public class WorldRenderer_scarpetRenderMixin
|
|||||||
|
|
||||||
@Inject(method = "render", at = @At(
|
@Inject(method = "render", at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/client/render/BufferBuilderStorage;getEffectVertexConsumers()Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;", shift = At.Shift.BEFORE
|
target = "Lnet/minecraft/client/render/TexturedRenderLayers;getEntityTranslucentCull()Lnet/minecraft/client/render/RenderLayer;", shift = At.Shift.BEFORE
|
||||||
|
//target = "Lnet/minecraft/client/render/RenderLayer;getWaterMask()Lnet/minecraft/client/render/RenderLayer;", shift = At.Shift.AFTER
|
||||||
|
//target = "Lnet/minecraft/client/render/BufferBuilderStorage;getEffectVertexConsumers()Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;", shift = At.Shift.BEFORE
|
||||||
//target = "Lnet/minecraft/client/render/WorldRenderer;renderChunkDebugInfo(Lnet/minecraft/client/render/Camera;)V", shift = At.Shift.AFTER
|
//target = "Lnet/minecraft/client/render/WorldRenderer;renderChunkDebugInfo(Lnet/minecraft/client/render/Camera;)V", shift = At.Shift.AFTER
|
||||||
//target = "Lnet/minecraft/client/render/BackgroundRenderer;method_23792()V", shift = At.Shift.AFTER
|
//target = "Lnet/minecraft/client/render/BackgroundRenderer;method_23792()V", shift = At.Shift.AFTER
|
||||||
//target = "Lnet/minecraft/client/render/BufferBuilderStorage;getEntityVertexConsumers()Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;", shift = At.Shift.AFTER
|
//target = "Lnet/minecraft/client/render/BufferBuilderStorage;getEntityVertexConsumers()Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;", shift = At.Shift.AFTER
|
||||||
@@ -40,13 +38,10 @@ public class WorldRenderer_scarpetRenderMixin
|
|||||||
{
|
{
|
||||||
// in normal circumstances we want to render shapes at the very end so it appears correctly behind stuff.
|
// in normal circumstances we want to render shapes at the very end so it appears correctly behind stuff.
|
||||||
// we might actually not need to play with render hooks here.
|
// we might actually not need to play with render hooks here.
|
||||||
if (!FabricAPIHooks.WORLD_RENDER_EVENTS && CarpetClient.shapes != null )
|
//if (!FabricAPIHooks.WORLD_RENDER_EVENTS && CarpetClient.shapes != null )
|
||||||
|
if (CarpetClient.shapes != null)
|
||||||
{
|
{
|
||||||
matrices.push();
|
|
||||||
CarpetClient.shapes.render(matrices, camera, tickDelta);
|
CarpetClient.shapes.render(matrices, camera, tickDelta);
|
||||||
matrices.pop();
|
|
||||||
RenderSystem.applyModelViewMatrix();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,19 +7,17 @@ import net.minecraft.client.MinecraftClient;
|
|||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.render.BufferBuilder;
|
import net.minecraft.client.render.BufferBuilder;
|
||||||
import net.minecraft.client.render.Camera;
|
import net.minecraft.client.render.Camera;
|
||||||
|
import net.minecraft.client.render.GameRenderer;
|
||||||
import net.minecraft.client.render.Tessellator;
|
import net.minecraft.client.render.Tessellator;
|
||||||
import net.minecraft.client.render.VertexConsumerProvider;
|
import net.minecraft.client.render.VertexConsumerProvider;
|
||||||
import net.minecraft.client.render.VertexFormat;
|
import net.minecraft.client.render.VertexFormat;
|
||||||
import net.minecraft.client.render.debug.DebugRenderer;
|
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.client.render.VertexFormats;
|
import net.minecraft.client.render.VertexFormats;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.nbt.ListTag;
|
import net.minecraft.nbt.ListTag;
|
||||||
import net.minecraft.util.math.Box;
|
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.util.math.Matrix4f;
|
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.util.math.Vec3f;
|
import net.minecraft.util.math.Vec3f;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
@@ -62,25 +60,19 @@ public class ShapesRenderer
|
|||||||
long currentTime = client.world.getTime();
|
long currentTime = client.world.getTime();
|
||||||
RenderSystem.disableTexture();
|
RenderSystem.disableTexture();
|
||||||
RenderSystem.enableDepthTest();
|
RenderSystem.enableDepthTest();
|
||||||
|
RenderSystem.setShader(GameRenderer::method_34540);
|
||||||
RenderSystem.depthFunc(515);
|
RenderSystem.depthFunc(515);
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.defaultBlendFunc();
|
RenderSystem.defaultBlendFunc();
|
||||||
|
// too bright
|
||||||
//RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ZERO);
|
//RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ZERO);
|
||||||
//RenderSystem.shadeModel(7425);
|
// meh
|
||||||
//////////RenderSystem.shadeModel(GL11.GL_FLAT);
|
//RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA);
|
||||||
//////////RenderSystem.enableAlphaTest();
|
|
||||||
//GL11.glEnable(GL11.GL_ALPHA_TEST);
|
|
||||||
//////////RenderSystem.alphaFunc(GL11.GL_GREATER, 0.003f);
|
|
||||||
//GL11.glAlphaFunc(GL11.GL_GREATER, 0.003f);
|
|
||||||
RenderSystem.disableCull();
|
RenderSystem.disableCull();
|
||||||
//////////RenderSystem.disableLighting();
|
|
||||||
RenderSystem.depthMask(false);
|
RenderSystem.depthMask(false);
|
||||||
// causes water to vanish
|
|
||||||
//RenderSystem.depthMask(true);
|
|
||||||
//RenderSystem.polygonOffset(-3f, -3f);
|
//RenderSystem.polygonOffset(-3f, -3f);
|
||||||
//RenderSystem.enablePolygonOffset();
|
//RenderSystem.enablePolygonOffset();
|
||||||
//Entity entity = this.client.gameRenderer.getCamera().getFocusedEntity();
|
|
||||||
|
|
||||||
Tessellator tessellator = Tessellator.getInstance();
|
Tessellator tessellator = Tessellator.getInstance();
|
||||||
BufferBuilder bufferBuilder = tessellator.getBuffer();
|
BufferBuilder bufferBuilder = tessellator.getBuffer();
|
||||||
@@ -94,52 +86,40 @@ public class ShapesRenderer
|
|||||||
shapes.get(dimensionType).long2ObjectEntrySet().removeIf(
|
shapes.get(dimensionType).long2ObjectEntrySet().removeIf(
|
||||||
entry -> entry.getValue().isExpired(currentTime)
|
entry -> entry.getValue().isExpired(currentTime)
|
||||||
);
|
);
|
||||||
|
MatrixStack matrixStack = RenderSystem.getModelViewStack();
|
||||||
matrices.push();
|
matrixStack.push();
|
||||||
matrices.method_34425(matrices.peek().getModel());
|
matrixStack.method_34425(matrices.peek().getModel());
|
||||||
RenderSystem.applyModelViewMatrix();
|
RenderSystem.applyModelViewMatrix();
|
||||||
|
|
||||||
shapes.get(dimensionType).values().forEach(
|
|
||||||
s ->
|
|
||||||
{
|
|
||||||
if (s.shouldRender(dimensionType))
|
|
||||||
s.renderFaces(tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
// lines
|
// lines
|
||||||
shapes.get(dimensionType).values().forEach(
|
RenderSystem.lineWidth(0.5F);
|
||||||
|
shapes.get(dimensionType).values().forEach( s -> {
|
||||||
s -> {
|
if (s.shouldRender(dimensionType)) s.renderLines(matrices, tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
||||||
if (s.shouldRender(dimensionType))
|
});
|
||||||
s.renderLines(matrices, tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
// faces
|
||||||
}
|
RenderSystem.lineWidth(0.1F);
|
||||||
);
|
shapes.get(dimensionType).values().forEach(s -> {
|
||||||
matrices.pop();
|
if (s.shouldRender(dimensionType)) s.renderFaces(tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
||||||
|
});
|
||||||
|
RenderSystem.lineWidth(1.0F);
|
||||||
|
matrixStack.pop();
|
||||||
RenderSystem.applyModelViewMatrix();
|
RenderSystem.applyModelViewMatrix();
|
||||||
|
|
||||||
}}
|
}}
|
||||||
if (labels.size() != 0) { synchronized (labels)
|
if (labels.size() != 0) { synchronized (labels)
|
||||||
{
|
{
|
||||||
labels.get(dimensionType).long2ObjectEntrySet().removeIf(
|
labels.get(dimensionType).long2ObjectEntrySet().removeIf(
|
||||||
entry -> entry.getValue().isExpired(currentTime)
|
entry -> entry.getValue().isExpired(currentTime)
|
||||||
);
|
);
|
||||||
//texts
|
labels.get(dimensionType).values().forEach(s -> {
|
||||||
// maybe we can move it laster to lines and makes sure we don't overpass and don't have blinky transparency problems
|
if (s.shouldRender(dimensionType)) s.renderLines(matrices, tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
||||||
labels.get(dimensionType).values().forEach(
|
});
|
||||||
s ->
|
|
||||||
{
|
|
||||||
if (s.shouldRender(dimensionType))
|
|
||||||
s.renderLines(matrices, tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
}}
|
}}
|
||||||
RenderSystem.enableCull();
|
RenderSystem.enableCull();
|
||||||
RenderSystem.depthMask(true);
|
RenderSystem.depthMask(true);
|
||||||
RenderSystem.lineWidth(1.0F);
|
|
||||||
RenderSystem.enableBlend();
|
RenderSystem.enableBlend();
|
||||||
RenderSystem.defaultBlendFunc();
|
RenderSystem.defaultBlendFunc();
|
||||||
RenderSystem.enableTexture();
|
RenderSystem.enableTexture();
|
||||||
//////////////RenderSystem.shadeModel(7424);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addShapes(ListTag tag)
|
public void addShapes(ListTag tag)
|
||||||
@@ -197,15 +177,11 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
synchronized (shapes)
|
synchronized (shapes)
|
||||||
{
|
{
|
||||||
shapes.values().forEach(el -> el.values().forEach(shape -> {
|
shapes.values().forEach(el -> el.values().forEach(shape -> shape.expiryTick++));
|
||||||
shape.expiryTick++;
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
synchronized (labels)
|
synchronized (labels)
|
||||||
{
|
{
|
||||||
labels.values().forEach(el -> el.values().forEach(shape -> {
|
labels.values().forEach(el -> el.values().forEach(shape -> shape.expiryTick++));
|
||||||
shape.expiryTick++;
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -238,8 +214,7 @@ public class ShapesRenderer
|
|||||||
if (shape.followEntity <=0 ) return true;
|
if (shape.followEntity <=0 ) return true;
|
||||||
if (client.world == null) return false;
|
if (client.world == null) return false;
|
||||||
if (client.world.getRegistryKey() != dim) return false;
|
if (client.world.getRegistryKey() != dim) return false;
|
||||||
if (client.world.getEntityById(shape.followEntity) == null) return false;
|
return client.world.getEntityById(shape.followEntity) != null;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
public boolean stageDeux()
|
public boolean stageDeux()
|
||||||
{
|
{
|
||||||
@@ -267,25 +242,16 @@ public class ShapesRenderer
|
|||||||
Vec3d v1 = shape.relativiseRender(client.world, shape.pos, partialTick);
|
Vec3d v1 = shape.relativiseRender(client.world, shape.pos, partialTick);
|
||||||
Camera camera1 = client.gameRenderer.getCamera();
|
Camera camera1 = client.gameRenderer.getCamera();
|
||||||
TextRenderer textRenderer = client.textRenderer;
|
TextRenderer textRenderer = client.textRenderer;
|
||||||
double d = camera1.getPos().x;
|
|
||||||
double e = camera1.getPos().y;
|
|
||||||
double f = camera1.getPos().z;
|
|
||||||
if (shape.doublesided)
|
if (shape.doublesided)
|
||||||
RenderSystem.disableCull();
|
RenderSystem.disableCull();
|
||||||
else
|
else
|
||||||
RenderSystem.enableCull();
|
RenderSystem.enableCull();
|
||||||
//RenderSystem.pushMatrix();
|
|
||||||
matrices.push();
|
matrices.push();
|
||||||
//RenderSystem.translatef((float)(v1.x - d), (float)(v1.y - e), (float)(v1.z - f));
|
matrices.translate(v1.x - cx,v1.y - cy,v1.z - cz);
|
||||||
matrices.translate(v1.x - d,v1.y - e,v1.z - f);
|
|
||||||
//RenderSystem.normal3f(0.0F, 1.0F, 0.0F);
|
|
||||||
// not needed
|
|
||||||
|
|
||||||
if (shape.facing == null)
|
if (shape.facing == null)
|
||||||
{
|
{
|
||||||
matrices.method_34425(new Matrix4f(camera1.getRotation()));
|
//matrices.method_34425(new Matrix4f(camera1.getRotation()));
|
||||||
// or better matrices.multiply(camera1.getRotation());
|
matrices.multiply(camera1.getRotation());
|
||||||
//RenderSystem.multMatrix(new Matrix4f(camera1.getRotation()));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -295,23 +261,18 @@ public class ShapesRenderer
|
|||||||
break;
|
break;
|
||||||
case SOUTH:
|
case SOUTH:
|
||||||
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(180));
|
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(180));
|
||||||
//RenderSystem.rotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
|
||||||
break;
|
break;
|
||||||
case EAST:
|
case EAST:
|
||||||
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(270));
|
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(270));
|
||||||
//RenderSystem.rotatef(270.0f, 0.0f, 1.0f, 0.0f);
|
|
||||||
break;
|
break;
|
||||||
case WEST:
|
case WEST:
|
||||||
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(90));
|
matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(90));
|
||||||
//RenderSystem.rotatef(90.0f, 0.0f, 1.0f, 0.0f);
|
|
||||||
break;
|
break;
|
||||||
case UP:
|
case UP:
|
||||||
matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(90));
|
matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(90));
|
||||||
//RenderSystem.rotatef(90.0f, 1.0f, 0.0f, 0.0f);
|
|
||||||
break;
|
break;
|
||||||
case DOWN:
|
case DOWN:
|
||||||
matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(-90));
|
matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(-90));
|
||||||
//RenderSystem.rotatef(-90.0f, 1.0f, 0.0f, 0.0f);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -320,14 +281,11 @@ public class ShapesRenderer
|
|||||||
if (shape.tilt!=0.0f)
|
if (shape.tilt!=0.0f)
|
||||||
{
|
{
|
||||||
matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(shape.tilt));
|
matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(shape.tilt));
|
||||||
//RenderSystem.rotatef(shape.tilt, 0.0f, 0.0f, 1.0f);
|
|
||||||
}
|
}
|
||||||
matrices.translate(-10*shape.indent, -10*shape.height-9, (-10*renderEpsilon)-10*shape.raise);
|
matrices.translate(-10*shape.indent, -10*shape.height-9, (-10*renderEpsilon)-10*shape.raise);
|
||||||
//RenderSystem.translatef(-10*shape.indent, -10*shape.height-9, (float) (-10*renderEpsilon)-10*shape.raise);
|
|
||||||
//if (visibleThroughWalls) RenderSystem.disableDepthTest();
|
//if (visibleThroughWalls) RenderSystem.disableDepthTest();
|
||||||
//RenderSystem.scalef(-1.0F, 1.0F, 1.0F);
|
|
||||||
matrices.scale(-1, 1, 1);
|
matrices.scale(-1, 1, 1);
|
||||||
//RenderSystem.applyModelViewMatrix(); // passed matrix directly to textRenderer.draw
|
//RenderSystem.applyModelViewMatrix(); // passed matrix directly to textRenderer.draw, not AffineTransformation.identity().getMatrix(),
|
||||||
|
|
||||||
float text_x = 0;
|
float text_x = 0;
|
||||||
if (shape.align == 0)
|
if (shape.align == 0)
|
||||||
@@ -338,20 +296,11 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
text_x = (float)(-textRenderer.getWidth(shape.value.getString()));
|
text_x = (float)(-textRenderer.getWidth(shape.value.getString()));
|
||||||
}
|
}
|
||||||
VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer());
|
VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(builder);
|
||||||
textRenderer.draw(shape.value, text_x, 0.0F, shape.textcolor, false, matrices.peek().getModel(), /*AffineTransformation.identity().getMatrix(),*/ immediate, false, shape.textbck, 15728880);
|
textRenderer.draw(shape.value, text_x, 0.0F, shape.textcolor, false, matrices.peek().getModel(), immediate, false, shape.textbck, 15728880);
|
||||||
//textRenderer.draw(shape.value, text_x, 0.0F, shape.textcolor, false, AffineTransformation.identity().getMatrix(), immediate, false, shape.textbck, 15728880);
|
|
||||||
immediate.draw();
|
immediate.draw();
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
RenderSystem.applyModelViewMatrix();
|
|
||||||
//RenderSystem.popMatrix();
|
|
||||||
RenderSystem.enableCull();
|
RenderSystem.enableCull();
|
||||||
//RenderSystem.enableDepthTest();
|
|
||||||
//RenderSystem.depthFunc(515);
|
|
||||||
//RenderSystem.enableAlphaTest();
|
|
||||||
//RenderSystem.alphaFunc(GL11.GL_GREATER, 0.003f);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -389,8 +338,6 @@ public class ShapesRenderer
|
|||||||
if (shape.a == 0.0) return;
|
if (shape.a == 0.0) return;
|
||||||
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
||||||
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
||||||
RenderSystem.lineWidth(shape.lineWidth);
|
|
||||||
//DebugRenderer.drawBox(new Box(v1.x, v1.y, v1.z, v2.x, v2.y, v2.z), 0.5f, 0.5f, 0.5f, 0.5f);//shape.r, shape.g, shape.b, shape.a);
|
|
||||||
drawBoxWireGLLines(tessellator, bufferBuilder,
|
drawBoxWireGLLines(tessellator, bufferBuilder,
|
||||||
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
||||||
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
||||||
@@ -404,7 +351,8 @@ public class ShapesRenderer
|
|||||||
if (shape.fa == 0.0) return;
|
if (shape.fa == 0.0) return;
|
||||||
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
||||||
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
||||||
RenderSystem.lineWidth(1.0F);
|
// consider using built-ins
|
||||||
|
//DebugRenderer.drawBox(new Box(v1.x, v1.y, v1.z, v2.x, v2.y, v2.z), 0.5f, 0.5f, 0.5f, 0.5f);//shape.r, shape.g, shape.b, shape.a);
|
||||||
drawBoxFaces(tessellator, bufferBuilder,
|
drawBoxFaces(tessellator, bufferBuilder,
|
||||||
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
||||||
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
||||||
@@ -426,7 +374,6 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
Vec3d v1 = shape.relativiseRender(client.world, shape.from, partialTick);
|
||||||
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
Vec3d v2 = shape.relativiseRender(client.world, shape.to, partialTick);
|
||||||
RenderSystem.lineWidth(shape.lineWidth);
|
|
||||||
drawLine(tessellator, bufferBuilder,
|
drawLine(tessellator, bufferBuilder,
|
||||||
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
(float)(v1.x-cx-renderEpsilon), (float)(v1.y-cy-renderEpsilon), (float)(v1.z-cz-renderEpsilon),
|
||||||
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
(float)(v2.x-cx+renderEpsilon), (float)(v2.y-cy+renderEpsilon), (float)(v2.z-cz+renderEpsilon),
|
||||||
@@ -446,7 +393,6 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
if (shape.a == 0.0) return;
|
if (shape.a == 0.0) return;
|
||||||
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
||||||
RenderSystem.lineWidth(shape.lineWidth);
|
|
||||||
drawSphereWireframe(tessellator, bufferBuilder,
|
drawSphereWireframe(tessellator, bufferBuilder,
|
||||||
(float)(vc.x-cx), (float)(vc.y-cy), (float)(vc.z-cz),
|
(float)(vc.x-cx), (float)(vc.y-cy), (float)(vc.z-cz),
|
||||||
(float)(shape.radius+renderEpsilon), shape.subdivisions,
|
(float)(shape.radius+renderEpsilon), shape.subdivisions,
|
||||||
@@ -457,7 +403,6 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
if (shape.fa == 0.0) return;
|
if (shape.fa == 0.0) return;
|
||||||
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
||||||
RenderSystem.lineWidth(1.0f);
|
|
||||||
drawSphereFaces(tessellator, bufferBuilder,
|
drawSphereFaces(tessellator, bufferBuilder,
|
||||||
(float)(vc.x-cx), (float)(vc.y-cy), (float)(vc.z-cz),
|
(float)(vc.x-cx), (float)(vc.y-cy), (float)(vc.z-cz),
|
||||||
(float)(shape.radius+renderEpsilon), shape.subdivisions,
|
(float)(shape.radius+renderEpsilon), shape.subdivisions,
|
||||||
@@ -476,7 +421,6 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
if (shape.a == 0.0) return;
|
if (shape.a == 0.0) return;
|
||||||
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
||||||
RenderSystem.lineWidth(shape.lineWidth);
|
|
||||||
double dir = MathHelper.sign(shape.height);
|
double dir = MathHelper.sign(shape.height);
|
||||||
drawCylinderWireframe(tessellator, bufferBuilder,
|
drawCylinderWireframe(tessellator, bufferBuilder,
|
||||||
(float) (vc.x - cx - dir * renderEpsilon), (float) (vc.y - cy - dir * renderEpsilon), (float) (vc.z - cz - dir * renderEpsilon),
|
(float) (vc.x - cx - dir * renderEpsilon), (float) (vc.y - cy - dir * renderEpsilon), (float) (vc.z - cz - dir * renderEpsilon),
|
||||||
@@ -490,7 +434,6 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
if (shape.fa == 0.0) return;
|
if (shape.fa == 0.0) return;
|
||||||
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
Vec3d vc = shape.relativiseRender(client.world, shape.center, partialTick);
|
||||||
RenderSystem.lineWidth(1.0f);
|
|
||||||
double dir = MathHelper.sign(shape.height);
|
double dir = MathHelper.sign(shape.height);
|
||||||
drawCylinderFaces(tessellator, bufferBuilder,
|
drawCylinderFaces(tessellator, bufferBuilder,
|
||||||
(float) (vc.x - cx - dir * renderEpsilon), (float) (vc.y - cy - dir * renderEpsilon), (float) (vc.z - cz - dir * renderEpsilon),
|
(float) (vc.x - cx - dir * renderEpsilon), (float) (vc.y - cy - dir * renderEpsilon), (float) (vc.z - cz - dir * renderEpsilon),
|
||||||
@@ -503,7 +446,7 @@ public class ShapesRenderer
|
|||||||
// some raw shit
|
// some raw shit
|
||||||
|
|
||||||
public static void drawLine(Tessellator tessellator, BufferBuilder builder, float x1, float y1, float z1, float x2, float y2, float z2, float red1, float grn1, float blu1, float alpha) {
|
public static void drawLine(Tessellator tessellator, BufferBuilder builder, float x1, float y1, float z1, float x2, float y2, float z2, float red1, float grn1, float blu1, float alpha) {
|
||||||
builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
|
||||||
builder.vertex(x1, y1, z1).color(red1, grn1, blu1, alpha).next();
|
builder.vertex(x1, y1, z1).color(red1, grn1, blu1, alpha).next();
|
||||||
builder.vertex(x2, y2, z2).color(red1, grn1, blu1, alpha).next();
|
builder.vertex(x2, y2, z2).color(red1, grn1, blu1, alpha).next();
|
||||||
tessellator.draw();
|
tessellator.draw();
|
||||||
@@ -516,7 +459,7 @@ public class ShapesRenderer
|
|||||||
boolean xthick, boolean ythick, boolean zthick,
|
boolean xthick, boolean ythick, boolean zthick,
|
||||||
float red1, float grn1, float blu1, float alpha, float red2, float grn2, float blu2)
|
float red1, float grn1, float blu1, float alpha, float red2, float grn2, float blu2)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
|
||||||
if (xthick)
|
if (xthick)
|
||||||
{
|
{
|
||||||
builder.vertex(x1, y1, z1).color(red1, grn2, blu2, alpha).next();
|
builder.vertex(x1, y1, z1).color(red1, grn2, blu2, alpha).next();
|
||||||
@@ -644,7 +587,7 @@ public class ShapesRenderer
|
|||||||
for (int dh = 0; dh < hsteps; dh++)
|
for (int dh = 0; dh < hsteps; dh++)
|
||||||
{
|
{
|
||||||
float hh = dh*hstep;
|
float hh = dh*hstep;
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
for (int i = 0; i <= num_steps360+1; i++)
|
for (int i = 0; i <= num_steps360+1; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -660,7 +603,7 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
float x = r * MathHelper.cos(theta);
|
float x = r * MathHelper.cos(theta);
|
||||||
|
|
||||||
@@ -676,7 +619,7 @@ public class ShapesRenderer
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -694,7 +637,7 @@ public class ShapesRenderer
|
|||||||
for (int dh = 0; dh < hsteps; dh++)
|
for (int dh = 0; dh < hsteps; dh++)
|
||||||
{
|
{
|
||||||
float hh = dh * hstep;
|
float hh = dh * hstep;
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
for (int i = 0; i <= num_steps360; i++)
|
for (int i = 0; i <= num_steps360; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -710,7 +653,7 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
float y = r * MathHelper.cos(theta);
|
float y = r * MathHelper.cos(theta);
|
||||||
|
|
||||||
@@ -725,7 +668,7 @@ public class ShapesRenderer
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -742,7 +685,7 @@ public class ShapesRenderer
|
|||||||
for (int dh = 0; dh < hsteps; dh++)
|
for (int dh = 0; dh < hsteps; dh++)
|
||||||
{
|
{
|
||||||
float hh = dh * hstep;
|
float hh = dh * hstep;
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
for (int i = 0; i <= num_steps360; i++)
|
for (int i = 0; i <= num_steps360; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -757,7 +700,7 @@ public class ShapesRenderer
|
|||||||
{
|
{
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
float x = r * MathHelper.cos(theta);
|
float x = r * MathHelper.cos(theta);
|
||||||
|
|
||||||
@@ -772,7 +715,7 @@ public class ShapesRenderer
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINES, VertexFormats.POSITION_COLOR);
|
||||||
for (int i = 0; i <= num_steps180; i++)
|
for (int i = 0; i <= num_steps180; i++)
|
||||||
{
|
{
|
||||||
float theta = step * i;
|
float theta = step * i;
|
||||||
@@ -939,7 +882,7 @@ public class ShapesRenderer
|
|||||||
int num_steps360 = (int)(2*Math.PI / step)+1;
|
int num_steps360 = (int)(2*Math.PI / step)+1;
|
||||||
for (int i = 0; i <= num_steps360; i++)
|
for (int i = 0; i <= num_steps360; i++)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR);
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
|
||||||
float theta = step * i ;
|
float theta = step * i ;
|
||||||
for (int j = 0; j <= num_steps180; j++)
|
for (int j = 0; j <= num_steps180; j++)
|
||||||
{
|
{
|
||||||
@@ -953,7 +896,7 @@ public class ShapesRenderer
|
|||||||
}
|
}
|
||||||
for (int j = 0; j <= num_steps180; j++)
|
for (int j = 0; j <= num_steps180; j++)
|
||||||
{
|
{
|
||||||
builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip
|
||||||
float phi = step * j ;
|
float phi = step * j ;
|
||||||
|
|
||||||
for (int i = 0; i <= num_steps360; i++)
|
for (int i = 0; i <= num_steps360; i++)
|
||||||
|
|||||||
@@ -18,11 +18,8 @@ public class FabricAPIHooks {
|
|||||||
public static void initialize() {
|
public static void initialize() {
|
||||||
if (WORLD_RENDER_EVENTS) {
|
if (WORLD_RENDER_EVENTS) {
|
||||||
WorldRenderEvents.BEFORE_DEBUG_RENDER.register(context -> {
|
WorldRenderEvents.BEFORE_DEBUG_RENDER.register(context -> {
|
||||||
if (CarpetClient.shapes != null) {
|
if (false) {//(CarpetClient.shapes != null) { // likely won't need it.
|
||||||
context.matrixStack().push();
|
|
||||||
CarpetClient.shapes.render(context.matrixStack(), context.camera(), context.tickDelta());
|
CarpetClient.shapes.render(context.matrixStack(), context.camera(), context.tickDelta());
|
||||||
context.matrixStack().pop();
|
|
||||||
RenderSystem.applyModelViewMatrix();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user