Interface IRenderableModel
- All Known Implementing Classes:
BedrockGeometryModel,IndexedModel,LevelOfDetail,MultiLODModel,ObjModel
public interface IRenderableModel
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidcleanup()Cleans up the model's VertexBuffercom.mojang.blaze3d.vertex.MeshDatacreateMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexFormat vertexFormat, com.mojang.blaze3d.vertex.VertexFormat.Mode mode) Creates a MeshData object for the model typically used in instanced rendering.default com.mojang.blaze3d.vertex.MeshDatacreateMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType) default voidcreateModelBuffer(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType) Creates and uploads the model's VertexBuffer if it doesn't already exist.com.mojang.blaze3d.vertex.VertexBufferGets the model's VertexBuffernet.minecraft.resources.ResourceLocationGets the model's ResourceLocationvoidLoads the model data from its sourcevoidrender(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, net.minecraft.client.renderer.RenderType renderType) Renders the model using the provided PoseStack and VertexConsumerdefault voidrender(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource) Renders the model using the provided PoseStack and RenderTypedefault voidrenderInstanced(com.mojang.blaze3d.vertex.PoseStack poseStack, org.joml.Matrix4f frustrumMatrix, org.joml.Matrix4f projectionMatrix, net.minecraft.client.renderer.RenderType renderType, int instances) Renders the model using instanced rendering using a generated VertexBuffer.voidsetModelBuffer(com.mojang.blaze3d.vertex.VertexBuffer buffer) Sets the model's VertexBuffer
-
Method Details
-
getModelLocation
net.minecraft.resources.ResourceLocation getModelLocation()Gets the model's ResourceLocation- Returns:
- The model's ResourceLocation
-
loadModel
void loadModel()Loads the model data from its source -
render
void render(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexConsumer vertexConsumer, net.minecraft.client.renderer.RenderType renderType) Renders the model using the provided PoseStack and VertexConsumer -
getModelBuffer
com.mojang.blaze3d.vertex.VertexBuffer getModelBuffer()Gets the model's VertexBuffer- Returns:
- The model's VertexBuffer
-
setModelBuffer
void setModelBuffer(com.mojang.blaze3d.vertex.VertexBuffer buffer) Sets the model's VertexBuffer- Parameters:
buffer- The VertexBuffer to set
-
createMesh
com.mojang.blaze3d.vertex.MeshData createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, com.mojang.blaze3d.vertex.VertexFormat vertexFormat, com.mojang.blaze3d.vertex.VertexFormat.Mode mode) Creates a MeshData object for the model typically used in instanced rendering.- Parameters:
poseStack- The PoseStack to usevertexFormat- The VertexFormat to usemode- The VertexFormat.Mode to use- Returns:
- The created MeshData
-
render
default void render(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource) Renders the model using the provided PoseStack and RenderType- Parameters:
poseStack- poseStackrenderType- renderTypebufferSource- bufferSource
-
renderInstanced
default void renderInstanced(com.mojang.blaze3d.vertex.PoseStack poseStack, org.joml.Matrix4f frustrumMatrix, org.joml.Matrix4f projectionMatrix, net.minecraft.client.renderer.RenderType renderType, int instances) Renders the model using instanced rendering using a generated VertexBuffer.- Parameters:
poseStack- The PoseStack to usefrustrumMatrix- The view matrixprojectionMatrix- The projection matrixrenderType- The RenderType to useinstances- Number of instances to render
-
createModelBuffer
@Internal default void createModelBuffer(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType) Creates and uploads the model's VertexBuffer if it doesn't already exist.- Parameters:
poseStack-renderType-
-
createMesh
@Internal default com.mojang.blaze3d.vertex.MeshData createMesh(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.RenderType renderType) -
cleanup
@Internal default void cleanup()Cleans up the model's VertexBuffer
-