GuiSkinRenderer.java
net.minecraft.client.gui.render.pip.GuiSkinRenderer
信息
- 全限定名:net.minecraft.client.gui.render.pip.GuiSkinRenderer
- 类型:public class
- 包:net.minecraft.client.gui.render.pip
- 源码路径:src/main/java/net/minecraft/client/gui/render/pip/GuiSkinRenderer.java
- 起始行号:L17
- 继承:PictureInPictureRenderer
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public GuiSkinRenderer(MultiBufferSource.BufferSource bufferSource) @ L18
- 构造器名:GuiSkinRenderer
- 源码定位:L18
- 修饰符:public
参数:
- bufferSource: MultiBufferSource.BufferSource
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Class<GuiSkinRenderState> getRenderStateClass() @ L22
- 方法名:getRenderStateClass
- 源码定位:L22
- 返回类型:Class
- 修饰符:public
参数:
- 无
说明:
TODO
protected void renderToTexture(GuiSkinRenderState skinState, PoseStack modelStack) @ L27
- 方法名:renderToTexture
- 源码定位:L27
- 返回类型:void
- 修饰符:protected
参数:
- skinState: GuiSkinRenderState
- modelStack: PoseStack
说明:
TODO
protected String getTextureLabel() @ L42
- 方法名:getTextureLabel
- 源码定位:L42
- 返回类型:String
- 修饰符:protected
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class GuiSkinRenderer extends PictureInPictureRenderer<GuiSkinRenderState> {
public GuiSkinRenderer(MultiBufferSource.BufferSource bufferSource) {
super(bufferSource);
}
@Override
public Class<GuiSkinRenderState> getRenderStateClass() {
return GuiSkinRenderState.class;
}
protected void renderToTexture(GuiSkinRenderState skinState, PoseStack modelStack) {
Minecraft.getInstance().gameRenderer.getLighting().setupFor(Lighting.Entry.PLAYER_SKIN);
int guiScale = Minecraft.getInstance().gameRenderer.getGameRenderState().windowRenderState.guiScale;
Matrix4fStack viewStack = RenderSystem.getModelViewStack();
viewStack.pushMatrix();
float scale = skinState.scale() * guiScale;
viewStack.rotateAround(Axis.XP.rotationDegrees(skinState.rotationX()), 0.0F, scale * -skinState.pivotY(), 0.0F);
modelStack.mulPose(Axis.YP.rotationDegrees(-skinState.rotationY()));
modelStack.translate(0.0F, -1.6010001F, 0.0F);
RenderType skinRenderType = skinState.playerModel().renderType(skinState.texture());
skinState.playerModel().renderToBuffer(modelStack, this.bufferSource.getBuffer(skinRenderType), 15728880, OverlayTexture.NO_OVERLAY);
this.bufferSource.endBatch();
viewStack.popMatrix();
}
@Override
protected String getTextureLabel() {
return "player skin";
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
RenderSystem.getModelViewStack()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Minecraft.getInstance()
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: