CLASS net/minecraft/class_291 net/minecraft/client/gl/VertexBuffer COMMENT Stores vertex data on GPU. COMMENT COMMENT

If you don't need to change the geometry, you can upload data once COMMENT and reuse it every frame. For example, {@linkplain COMMENT net.minecraft.client.render.WorldRenderer#renderStars star rendering} COMMENT uses this technique to save bandwidth. COMMENT COMMENT @implNote This is mostly a wrapper around vertex buffer object (VBO), COMMENT element buffer object (EBO), and vertex array object (VAO). FIELD field_1593 indexCount I FIELD field_1594 vertexBufferId I FIELD field_27366 indexBufferId I FIELD field_27367 indexType Lnet/minecraft/class_293$class_5595; FIELD field_27368 drawMode Lnet/minecraft/class_293$class_5596; FIELD field_29338 vertexArrayId I FIELD field_29339 vertexFormat Lnet/minecraft/class_293; FIELD field_38983 sharedSequentialIndexBuffer Lcom/mojang/blaze3d/systems/RenderSystem$class_5590; FIELD field_44792 usage Lnet/minecraft/class_291$class_8555; METHOD (Lnet/minecraft/class_291$class_8555;)V ARG 1 usage METHOD method_1352 upload (Lnet/minecraft/class_287$class_7433;)V COMMENT Uploads the contents of {@code buffer} to GPU, discarding previously COMMENT uploaded data. COMMENT COMMENT

The caller of this method must {@linkplain #bind bind} this vertex COMMENT buffer before calling this method. ARG 1 buffer METHOD method_1353 bind ()V COMMENT Sets this vertex buffer as the current one. COMMENT COMMENT

This method must be called before uploading or drawing data. METHOD method_1354 unbind ()V METHOD method_34427 draw (Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lnet/minecraft/class_5944;)V COMMENT Draws the contents in this vertex buffer with {@code program}. COMMENT COMMENT

The caller of this method must {@linkplain #bind bind} this vertex COMMENT buffer before calling this method. ARG 1 viewMatrix ARG 2 projectionMatrix ARG 3 program METHOD method_34431 drawInternal (Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lnet/minecraft/class_5944;)V ARG 1 viewMatrix ARG 2 projectionMatrix METHOD method_34435 getVertexFormat ()Lnet/minecraft/class_293; METHOD method_35665 draw ()V COMMENT Draws the contents in this vertex buffer. COMMENT COMMENT

The caller of this method must {@linkplain #bind bind} this vertex COMMENT buffer before calling this method. COMMENT COMMENT

Unlike {@link #draw(Matrix4f, Matrix4f, ShaderProgram)}, the caller COMMENT of this method must manually bind a shader program before calling this COMMENT method. METHOD method_43442 uploadVertexBuffer (Lnet/minecraft/class_287$class_4574;Ljava/nio/ByteBuffer;)Lnet/minecraft/class_293; ARG 1 parameters ARG 2 vertexBuffer METHOD method_43443 uploadIndexBuffer (Lnet/minecraft/class_287$class_4574;Ljava/nio/ByteBuffer;)Lcom/mojang/blaze3d/systems/RenderSystem$class_5590; ARG 1 parameters ARG 2 indexBuffer METHOD method_43444 isClosed ()Z METHOD method_43445 getIndexType ()Lnet/minecraft/class_293$class_5595; CLASS class_8555 Usage FIELD field_44795 id I METHOD (Ljava/lang/String;II)V ARG 3 id