Class BufferBuilder
java.lang.Object
com.mojang.blaze3d.vertex.BufferBuilder
- All Implemented Interfaces:
VertexConsumer, IVertexConsumerExtension
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final ByteBufferBuilderprivate booleanprivate static final intprivate static final String[]private final @Nullable VertexFormatElement[]private intprivate final booleanprivate final VertexFormatprivate final intprivate static final booleanprivate static final intprivate static final intprivate static final intprivate static final longprivate static final intprivate final PrimitiveTopologyprivate static final longprivate static final intprivate static final intprivate static final intprivate longprivate final intprivate int -
Constructor Summary
ConstructorsConstructorDescriptionBufferBuilder(ByteBufferBuilder buffer, PrimitiveTopology primitiveTopology, VertexFormat format) -
Method Summary
Modifier and TypeMethodDescriptionaddVertex(float x, float y, float z) voidaddVertex(float x, float y, float z, int color, float u, float v, int overlayCoords, int lightCoords, float nx, float ny, float nz) private longbeginElement(int semanticID) private longbuild()private voidprivate voidprivate static bytenormalIntValue(float c) private static voidputNormals(long pointer, float nx, float ny, float nz) private static voidputPackedUv(long pointer, int packedUv) private static voidputRgba(long pointer, int argb) private static voidputVec3f(long pointer, float x, float y, float z) setColor(int color) setColor(int r, int g, int b, int a) setLight(int packedLightCoords) setLineWidth(float width) setNormal(float x, float y, float z) setOverlay(int packedOverlayCoords) setUv(float u, float v) setUv1(int u, int v) setUv2(int u, int v) private VertexConsumeruvShort(short u, short v, int semanticID) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IVertexConsumerExtension
applyBakedNormals, misc, putMutableQuadMethods inherited from interface VertexConsumer
addVertex, addVertex, addVertex, addVertex, addVertexWith2DPose, putBakedQuad, putBlockBakedQuad, setColor, setNormal, setNormal
-
Field Details
-
MAX_VERTEX_COUNT
private static final int MAX_VERTEX_COUNT- See Also:
-
NOT_BUILDING
private static final long NOT_BUILDING- See Also:
-
UNKNOWN_ELEMENT
private static final long UNKNOWN_ELEMENT- See Also:
-
IS_LITTLE_ENDIAN
private static final boolean IS_LITTLE_ENDIAN -
buffer
-
vertexPointer
private long vertexPointer -
vertices
private int vertices -
format
-
primitiveTopology
-
blockFormat
private final boolean blockFormat -
entityFormat
private final boolean entityFormat -
vertexSize
private final int vertexSize -
initialElementsToFill
private final int initialElementsToFill -
elementsToFill
private int elementsToFill -
building
private boolean building -
POSITION_SEMANTIC_ID
private static final int POSITION_SEMANTIC_ID- See Also:
-
COLOR_SEMANTIC_ID
private static final int COLOR_SEMANTIC_ID- See Also:
-
UV0_SEMANTIC_ID
private static final int UV0_SEMANTIC_ID- See Also:
-
UV1_SEMANTIC_ID
private static final int UV1_SEMANTIC_ID- See Also:
-
UV2_SEMANTIC_ID
private static final int UV2_SEMANTIC_ID- See Also:
-
NORMAL_SEMANTIC_ID
private static final int NORMAL_SEMANTIC_ID- See Also:
-
LINE_WIDTH_SEMANTIC_ID
private static final int LINE_WIDTH_SEMANTIC_ID- See Also:
-
elementNames
-
elements
-
-
Constructor Details
-
BufferBuilder
public BufferBuilder(ByteBufferBuilder buffer, PrimitiveTopology primitiveTopology, VertexFormat format)
-
-
Method Details
-
build
-
buildOrThrow
-
ensureBuilding
private void ensureBuilding() -
storeMesh
-
beginVertex
private long beginVertex() -
beginElement
private long beginElement(int semanticID) -
endLastVertex
private void endLastVertex() -
putRgba
private static void putRgba(long pointer, int argb) -
putPackedUv
private static void putPackedUv(long pointer, int packedUv) -
addVertex
- Specified by:
addVertexin interfaceVertexConsumer
-
setColor
- Specified by:
setColorin interfaceVertexConsumer
-
setColor
- Specified by:
setColorin interfaceVertexConsumer
-
setUv
- Specified by:
setUvin interfaceVertexConsumer
-
setUv1
- Specified by:
setUv1in interfaceVertexConsumer
-
setOverlay
- Specified by:
setOverlayin interfaceVertexConsumer
-
setUv2
- Specified by:
setUv2in interfaceVertexConsumer
-
setLight
- Specified by:
setLightin interfaceVertexConsumer
-
uvShort
-
setNormal
- Specified by:
setNormalin interfaceVertexConsumer
-
setLineWidth
- Specified by:
setLineWidthin interfaceVertexConsumer
-
normalIntValue
private static byte normalIntValue(float c) -
putVec3f
private static void putVec3f(long pointer, float x, float y, float z) -
putNormals
private static void putNormals(long pointer, float nx, float ny, float nz) -
addVertex
public void addVertex(float x, float y, float z, int color, float u, float v, int overlayCoords, int lightCoords, float nx, float ny, float nz) - Specified by:
addVertexin interfaceVertexConsumer
-