22w19a buffer builder (#3160)

This commit is contained in:
enbrain 2022-05-17 18:57:10 +09:00 committed by GitHub
parent b1382b3f04
commit 9087db44ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 0 deletions

View File

@ -8,6 +8,7 @@ CLASS net/minecraft/class_291 net/minecraft/client/gl/VertexBuffer
FIELD field_29339 vertexFormat Lnet/minecraft/class_293;
FIELD field_38983 indexBuffer Lcom/mojang/blaze3d/systems/RenderSystem$class_5590;
METHOD method_1352 upload (Lnet/minecraft/class_287$class_7433;)V
ARG 1 buffer
METHOD method_1353 bind ()V
METHOD method_1354 unbind ()V
METHOD method_34427 draw (Lnet/minecraft/class_1159;Lnet/minecraft/class_1159;Lnet/minecraft/class_5944;)V

View File

@ -16,11 +16,21 @@ CLASS net/minecraft/class_287 net/minecraft/client/render/BufferBuilder
FIELD field_27351 sortingCameraZ F
FIELD field_27352 hasNoVertexBuffer Z
FIELD field_32050 MAX_BUFFER_SIZE I
FIELD field_39061 builtBufferCount I
FIELD field_39062 batchOffset I
METHOD <init> (I)V
ARG 1 initialCapacity
METHOD method_1324 restoreState (Lnet/minecraft/class_287$class_5594;)V
ARG 1 state
METHOD method_1326 end ()Lnet/minecraft/class_287$class_7433;
COMMENT Builds a buffer from the current batch and resets the building state.
COMMENT
COMMENT <p>Unlike {@link #endNullable()}, this always builds a buffer even if
COMMENT there are no vertices in the current batch.
COMMENT
COMMENT @throws IllegalStateException if this builder has not begun building
COMMENT
COMMENT @return the buffer built from the current batch
METHOD method_1328 begin (Lnet/minecraft/class_293$class_5596;Lnet/minecraft/class_293;)V
ARG 1 drawMode
ARG 2 format
@ -43,8 +53,34 @@ CLASS net/minecraft/class_287 net/minecraft/client/render/BufferBuilder
ARG 2 cameraY
ARG 3 cameraZ
METHOD method_31949 createIndexWriter (ILnet/minecraft/class_293$class_5595;)Lit/unimi/dsi/fastutil/ints/IntConsumer;
ARG 1 offset
ARG 2 indexType
METHOD method_31950 writeSortedIndices (Lnet/minecraft/class_293$class_5595;)V
ARG 1 indexType
METHOD method_31951 (Lorg/apache/commons/lang3/mutable/MutableInt;I)V
ARG 2 index
METHOD method_31952 (Lorg/apache/commons/lang3/mutable/MutableInt;I)V
ARG 2 index
METHOD method_31953 (Lorg/apache/commons/lang3/mutable/MutableInt;I)V
ARG 2 index
METHOD method_31954 buildPrimitiveCenters ()[Lnet/minecraft/class_1160;
METHOD method_43574 isBatchEmpty ()Z
METHOD method_43575 endNullable ()Lnet/minecraft/class_287$class_7433;
COMMENT Builds a buffer if there are vertices in the current batch and resets
COMMENT the building state.
COMMENT
COMMENT @throws IllegalStateException if this builder has not begun building
COMMENT
COMMENT @return the built buffer if there are vertices, otherwise {@code null}
COMMENT
COMMENT @see #end()
METHOD method_43576 slice (II)Ljava/nio/ByteBuffer;
ARG 1 start
ARG 2 end
METHOD method_43577 ensureBuilding ()V
METHOD method_43578 build ()Lnet/minecraft/class_287$class_7433;
METHOD method_43579 resetBuilding ()V
METHOD method_43580 releaseBuiltBuffer ()V
CLASS class_4574 DrawArrayParameters
METHOD method_31957 getIndexBufferStart ()I
METHOD method_31958 getIndexBufferEnd ()I
@ -67,3 +103,16 @@ CLASS net/minecraft/class_287 net/minecraft/client/render/BufferBuilder
ARG 4 cameraX
ARG 5 cameraY
ARG 6 cameraZ
CLASS class_7433 BuiltBuffer
COMMENT A pair of a vertex buffer and an index buffer ready to be uploaded.
FIELD field_39064 batchOffset I
FIELD field_39065 parameters Lnet/minecraft/class_287$class_4574;
FIELD field_39066 released Z
METHOD <init> (Lnet/minecraft/class_287;ILnet/minecraft/class_287$class_4574;)V
ARG 2 batchOffset
ARG 3 parameters
METHOD method_43581 getVertexBuffer ()Ljava/nio/ByteBuffer;
METHOD method_43582 getIndexBuffer ()Ljava/nio/ByteBuffer;
METHOD method_43583 getParameters ()Lnet/minecraft/class_287$class_4574;
METHOD method_43584 isEmpty ()Z
METHOD method_43585 release ()V

View File

@ -2,11 +2,15 @@ CLASS net/minecraft/class_286 net/minecraft/client/render/BufferRenderer
FIELD field_38982 currentVertexBuffer Lnet/minecraft/class_291;
METHOD method_34420 unbindAll ()V
METHOD method_43433 drawWithShader (Lnet/minecraft/class_287$class_7433;)V
ARG 0 buffer
METHOD method_43434 bindAndSet (Lnet/minecraft/class_291;)V
ARG 0 vertexBuffer
METHOD method_43435 bindAndSet (Lnet/minecraft/class_293;)Lnet/minecraft/class_291;
ARG 0 vertexFormat
METHOD method_43436 resetCurrentVertexBuffer ()V
METHOD method_43437 drawWithoutShader (Lnet/minecraft/class_287$class_7433;)V
ARG 0 buffer
METHOD method_43438 drawWithShaderInternal (Lnet/minecraft/class_287$class_7433;)V
ARG 0 buffer
METHOD method_43439 getVertexBuffer (Lnet/minecraft/class_287$class_7433;)Lnet/minecraft/class_291;
ARG 0 buffer