|
|
|
@@ -1,15 +1,15 @@
|
|
|
|
package org.walruslab.kepler.render;
|
|
|
|
package org.walruslab.kepler.render;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.mojang.blaze3d.opengl.GlStateManager;
|
|
|
|
import com.mojang.blaze3d.systems.RenderSystem;
|
|
|
|
import com.mojang.blaze3d.systems.RenderSystem;
|
|
|
|
|
|
|
|
import com.mojang.blaze3d.vertex.VertexFormat;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
|
|
|
|
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
|
|
|
|
import net.jpountz.util.Utils;
|
|
|
|
import net.jpountz.util.Utils;
|
|
|
|
import net.minecraft.client.MinecraftClient;
|
|
|
|
import net.minecraft.client.MinecraftClient;
|
|
|
|
import net.minecraft.client.gl.ShaderProgramKeys;
|
|
|
|
import net.minecraft.client.render.RenderLayer;
|
|
|
|
import net.minecraft.client.render.BufferRenderer;
|
|
|
|
|
|
|
|
import net.minecraft.client.render.Tessellator;
|
|
|
|
import net.minecraft.client.render.Tessellator;
|
|
|
|
import net.minecraft.client.render.VertexFormat;
|
|
|
|
|
|
|
|
import net.minecraft.client.render.VertexFormats;
|
|
|
|
import net.minecraft.client.render.VertexFormats;
|
|
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
|
|
import net.minecraft.entity.projectile.ArrowEntity;
|
|
|
|
import net.minecraft.entity.projectile.ArrowEntity;
|
|
|
|
@@ -145,12 +145,9 @@ public class TrajectoryRenderer {
|
|
|
|
|
|
|
|
|
|
|
|
private static void renderLine(WorldRenderContext drawContext, List<Vector3f> points, float r, float g, float b) {
|
|
|
|
private static void renderLine(WorldRenderContext drawContext, List<Vector3f> points, float r, float g, float b) {
|
|
|
|
// enable z-buffer
|
|
|
|
// enable z-buffer
|
|
|
|
RenderSystem.enableDepthTest();
|
|
|
|
GlStateManager._enableDepthTest();
|
|
|
|
RenderSystem.depthFunc(GL11.GL_LEQUAL);
|
|
|
|
GlStateManager._depthFunc(GL11.GL_LEQUAL);
|
|
|
|
RenderSystem.enableBlend();
|
|
|
|
GlStateManager._enableBlend();
|
|
|
|
RenderSystem.defaultBlendFunc();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RenderSystem.setShaderColor(r, g, b, 1.0f);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var tesselator = Tessellator.getInstance();
|
|
|
|
var tesselator = Tessellator.getInstance();
|
|
|
|
var buf = tesselator.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
|
|
|
|
var buf = tesselator.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
|
|
|
|
@@ -164,13 +161,9 @@ public class TrajectoryRenderer {
|
|
|
|
float dz = (float) (point.z - playerPos.z);
|
|
|
|
float dz = (float) (point.z - playerPos.z);
|
|
|
|
|
|
|
|
|
|
|
|
buf.vertex(mat, dx, dy, dz);
|
|
|
|
buf.vertex(mat, dx, dy, dz);
|
|
|
|
|
|
|
|
|
|
|
|
buf.color(r, g, b, 1.0f);
|
|
|
|
buf.color(r, g, b, 1.0f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR);
|
|
|
|
RenderLayer.getDebugLineStrip(1).draw(buf.end());
|
|
|
|
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BufferRenderer.drawWithGlobalProgram(buf.end());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|