move vertex format
This commit is contained in:
+17
-37
@@ -32,8 +32,8 @@ import com.mojang.blaze3d.systems.GpuDevice;
|
||||
import com.mojang.blaze3d.systems.RenderPass;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
@@ -120,6 +120,7 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
private GpuBuffer uniformBuffer;
|
||||
|
||||
|
||||
|
||||
//=============//
|
||||
// constructor //
|
||||
//=============//
|
||||
@@ -145,10 +146,6 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
}
|
||||
private void createPipelines()
|
||||
{
|
||||
GpuDevice gpuDevice = RenderSystem.getDevice();
|
||||
CommandEncoder commandEncoder = gpuDevice.createCommandEncoder();
|
||||
|
||||
|
||||
RenderPipeline.Builder pipelineBuilder = RenderPipeline.builder();
|
||||
{
|
||||
pipelineBuilder.withCull(false);
|
||||
@@ -157,7 +154,7 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
pipelineBuilder.withColorWrite(true);
|
||||
pipelineBuilder.withoutBlend();
|
||||
pipelineBuilder.withPolygonMode(PolygonMode.WIREFRAME);
|
||||
pipelineBuilder.withLocation(Identifier.parse("distanthorizons:debug_renderer"));
|
||||
pipelineBuilder.withLocation(Identifier.parse("distanthorizons:debug_wireframe_renderer"));
|
||||
|
||||
pipelineBuilder.withVertexShader(Identifier.fromNamespaceAndPath("distanthorizons", "debug/blaze/vert"));
|
||||
pipelineBuilder.withFragmentShader(Identifier.fromNamespaceAndPath("distanthorizons", "debug/blaze/frag"));
|
||||
@@ -177,29 +174,23 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
boxVerticesBuffer.rewind();
|
||||
MemoryUtil.memFree(boxVerticesBuffer);
|
||||
|
||||
|
||||
GpuDevice gpuDevice = RenderSystem.getDevice();
|
||||
CommandEncoder commandEncoder = gpuDevice.createCommandEncoder();
|
||||
|
||||
// upload vertex data
|
||||
{
|
||||
Supplier<String> labelSupplier = () -> "distantHorizons:McDebugRenderer";
|
||||
int usage = 8 | 32; // is this just using OpenGL VBO flags?, if so I can't find it, supposedly GlDevice on Mojang's side
|
||||
int usage = GpuBuffer.USAGE_COPY_DST
|
||||
| GpuBuffer.USAGE_VERTEX;
|
||||
int size = BOX_VERTICES.length * Float.BYTES;
|
||||
this.boxVertexBuffer = gpuDevice.createBuffer(labelSupplier, usage, size);
|
||||
this.boxVertexBuffer = GPU_DEVICE.createBuffer(() -> "distantHorizons:McDebugWireframeBox", usage, size);
|
||||
|
||||
{
|
||||
int offset = 0;
|
||||
int length = BOX_VERTICES.length * Float.BYTES;
|
||||
GpuBufferSlice bufferSlice = new GpuBufferSlice(this.boxVertexBuffer, offset, length);
|
||||
GpuBufferSlice bufferSlice = new GpuBufferSlice(this.boxVertexBuffer, /*offset*/ 0, length);
|
||||
|
||||
ByteBuffer byteBuffer = ByteBuffer.allocateDirect(BOX_VERTICES.length * Float.BYTES);
|
||||
// Fill buffer with vertices.
|
||||
byteBuffer.order(ByteOrder.nativeOrder());
|
||||
byteBuffer.asFloatBuffer().put(BOX_VERTICES);
|
||||
byteBuffer.rewind();
|
||||
|
||||
commandEncoder.writeToBuffer(bufferSlice, byteBuffer);
|
||||
COMMAND_ENCODER.writeToBuffer(bufferSlice, byteBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,15 +202,15 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
buffer.rewind();
|
||||
|
||||
|
||||
// TODO
|
||||
// GpuBuffer.USAGE_UNIFORM = 128
|
||||
// GpuBuffer.USAGE_INDEX = 64
|
||||
int usage = 8 | 32 | 64 | 128; // is this just using OpenGL VBO flags?, if so I can't find it, supposedly GlDevice on Mojang's side
|
||||
this.boxIndexBuffer = gpuDevice.createBuffer(() -> "DH Debug Index Buffer", usage, buffer.capacity());
|
||||
int usage = GpuBuffer.USAGE_COPY_DST
|
||||
| GpuBuffer.USAGE_VERTEX
|
||||
| GpuBuffer.USAGE_INDEX
|
||||
| GpuBuffer.USAGE_UNIFORM;
|
||||
this.boxIndexBuffer = GPU_DEVICE.createBuffer(() -> "DH Debug Index Buffer", usage, buffer.capacity());
|
||||
|
||||
int offset = 0;
|
||||
GpuBufferSlice bufferSlice = new GpuBufferSlice(this.boxIndexBuffer, offset, buffer.capacity());
|
||||
commandEncoder.writeToBuffer(bufferSlice, buffer);
|
||||
COMMAND_ENCODER.writeToBuffer(bufferSlice, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,15 +257,6 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
|
||||
|
||||
|
||||
|
||||
//===========//
|
||||
// rendering //
|
||||
//===========//
|
||||
//#region
|
||||
|
||||
// validation //
|
||||
|
||||
|
||||
// uniforms
|
||||
{
|
||||
int uniformBufferSize = new Std140SizeCalculator()
|
||||
@@ -329,13 +311,13 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
this::getName,
|
||||
McLodRenderer.INSTANCE.dhColorTextureWrapper.textureView,
|
||||
/*optionalClearColorAsInt*/ OptionalInt.empty(),
|
||||
McLodRenderer.INSTANCE.dhDepthTextureWrapper.textureView, /*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
|
||||
McLodRenderer.INSTANCE.dhDepthTextureWrapper.textureView,
|
||||
/*optionalDepthValueAsDouble*/ OptionalDouble.empty()))
|
||||
{
|
||||
// Bind instance data //
|
||||
renderPass.setUniform("uniformBlock", this.uniformBuffer);
|
||||
|
||||
// set pipeline
|
||||
renderPass.setPipeline(this.pipeline); // TODO
|
||||
renderPass.setPipeline(this.pipeline);
|
||||
renderPass.setIndexBuffer(this.boxIndexBuffer, VertexFormat.IndexType.INT);
|
||||
|
||||
renderPass.setVertexBuffer(0, this.boxVertexBuffer);
|
||||
@@ -346,8 +328,6 @@ public class BlazeDebugWireframeRenderer implements IMcDebugRenderer
|
||||
/*indexCount*/BOX_OUTLINE_INDICES.length,
|
||||
/*instanceCount*/1);
|
||||
}
|
||||
//#endregion
|
||||
|
||||
}
|
||||
private String getName() { return "distantHorizons:McDebugRenderer"; }
|
||||
|
||||
|
||||
+1
-1
@@ -42,8 +42,8 @@ import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiBeforeG
|
||||
import com.seibel.distanthorizons.api.objects.math.DhApiVec3d;
|
||||
import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBox;
|
||||
import com.seibel.distanthorizons.api.objects.render.DhApiRenderableBoxGroupShading;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.BlazeGenericObjectVertexContainer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler;
|
||||
import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper;
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.mojang.blaze3d.textures.*;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.apply.DhApplyRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.*;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.VertexBufferWrapper;
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ import com.mojang.blaze3d.systems.RenderPass;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.textures.*;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
|
||||
+1
-5
@@ -29,7 +29,7 @@ import com.mojang.blaze3d.systems.RenderPass;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.textures.*;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
@@ -79,10 +79,6 @@ public class McCopyRenderer
|
||||
|
||||
|
||||
|
||||
GpuDevice gpuDevice = RenderSystem.getDevice();
|
||||
CommandEncoder commandEncoder = gpuDevice.createCommandEncoder();
|
||||
|
||||
|
||||
this.vertexFormat = VertexFormat.builder()
|
||||
.add("vPosition", DhBlazeVertexFormat.SCREEN_POS)
|
||||
.build();
|
||||
|
||||
+1
@@ -36,6 +36,7 @@ import com.seibel.distanthorizons.common.render.blaze.McLodRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.apply.McCopyRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.*;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode;
|
||||
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
|
||||
import com.seibel.distanthorizons.common.render.blaze.McLodRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.apply.DhApplyRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler;
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
|
||||
import com.seibel.distanthorizons.common.render.blaze.McLodRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.apply.DhApplyRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.UniformHandler;
|
||||
|
||||
+1
@@ -36,6 +36,7 @@ import com.seibel.distanthorizons.common.render.blaze.McLodRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.apply.McCopyRenderer;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.*;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.BlazePostProcessUtil;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureViewWrapper;
|
||||
import com.seibel.distanthorizons.common.render.blaze.wrappers.BlazeTextureWrapper;
|
||||
import com.seibel.distanthorizons.core.config.Config;
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ import com.mojang.blaze3d.systems.RenderPass;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.textures.*;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.helpers.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.common.render.blaze.util.DhBlazeVertexFormat;
|
||||
import com.seibel.distanthorizons.core.logging.DhLogger;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.render.IMcTestRenderer;
|
||||
|
||||
+2
-3
@@ -1,4 +1,4 @@
|
||||
package com.seibel.distanthorizons.common.render.blaze.helpers;
|
||||
package com.seibel.distanthorizons.common.render.blaze.util;
|
||||
|
||||
import com.mojang.blaze3d.vertex.VertexFormatElement;
|
||||
import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.LodQuadBuilder;
|
||||
@@ -20,8 +20,7 @@ public class DhBlazeVertexFormat
|
||||
public static final VertexFormatElement IRIS_NORMAL = VertexFormatElement.register(/*id*/14, /*index*/0, VertexFormatElement.Type.BYTE, VertexFormatElement.Usage.GENERIC, /*count*/ 1);
|
||||
|
||||
public static final VertexFormatElement FLOAT_XYZ_POS = VertexFormatElement.register(/*id*/15, /*index*/0, VertexFormatElement.Type.FLOAT, VertexFormatElement.Usage.POSITION, /*count*/ 3);
|
||||
public static final VertexFormatElement VEC3 = VertexFormatElement.register(/*id*/16, /*index*/0, VertexFormatElement.Type.FLOAT, VertexFormatElement.Usage.GENERIC, /*count*/ 3);
|
||||
public static final VertexFormatElement IVEC3 = VertexFormatElement.register(/*id*/17, /*index*/0, VertexFormatElement.Type.INT, VertexFormatElement.Usage.GENERIC, /*count*/ 3);
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user