FeatureRenderDispatcher.java
net.minecraft.client.renderer.feature.FeatureRenderDispatcher
信息
- 全限定名:net.minecraft.client.renderer.feature.FeatureRenderDispatcher
- 类型:public class
- 包:net.minecraft.client.renderer.feature
- 源码路径:src/main/java/net/minecraft/client/renderer/feature/FeatureRenderDispatcher.java
- 起始行号:L15
- 实现:AutoCloseable
- 职责:
TODO
字段/常量
-
submitNodeStorage- 类型:
SubmitNodeStorage - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
modelManager- 类型:
ModelManager - 修饰符:
private final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
bufferSource- 类型:
MultiBufferSource.BufferSource - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
atlasManager- 类型:
AtlasManager - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
outlineBufferSource- 类型:
OutlineBufferSource - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
crumblingBufferSource- 类型:
MultiBufferSource.BufferSource - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
font- 类型:
Font - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
gameRenderState- 类型:
GameRenderState - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
shadowFeatureRenderer- 类型:
ShadowFeatureRenderer - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
flameFeatureRenderer- 类型:
FlameFeatureRenderer - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
modelFeatureRenderer- 类型:
ModelFeatureRenderer - 修饰符:
private final - 源码定位:
L26 - 说明:
TODO
- 类型:
-
modelPartFeatureRenderer- 类型:
ModelPartFeatureRenderer - 修饰符:
private final - 源码定位:
L27 - 说明:
TODO
- 类型:
-
nameTagFeatureRenderer- 类型:
NameTagFeatureRenderer - 修饰符:
private final - 源码定位:
L28 - 说明:
TODO
- 类型:
-
textFeatureRenderer- 类型:
TextFeatureRenderer - 修饰符:
private final - 源码定位:
L29 - 说明:
TODO
- 类型:
-
leashFeatureRenderer- 类型:
LeashFeatureRenderer - 修饰符:
private final - 源码定位:
L30 - 说明:
TODO
- 类型:
-
itemFeatureRenderer- 类型:
ItemFeatureRenderer - 修饰符:
private final - 源码定位:
L31 - 说明:
TODO
- 类型:
-
customFeatureRenderer- 类型:
CustomFeatureRenderer - 修饰符:
private final - 源码定位:
L32 - 说明:
TODO
- 类型:
-
blockFeatureRenderer- 类型:
BlockFeatureRenderer - 修饰符:
private final - 源码定位:
L33 - 说明:
TODO
- 类型:
-
particleFeatureRenderer- 类型:
ParticleFeatureRenderer - 修饰符:
private final - 源码定位:
L34 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public FeatureRenderDispatcher(SubmitNodeStorage submitNodeStorage, ModelManager modelManager, MultiBufferSource.BufferSource bufferSource, AtlasManager atlasManager, OutlineBufferSource outlineBufferSource, MultiBufferSource.BufferSource crumblingBufferSource, Font font, GameRenderState gameRenderState) @ L36
- 构造器名:FeatureRenderDispatcher
- 源码定位:L36
- 修饰符:public
参数:
- submitNodeStorage: SubmitNodeStorage
- modelManager: ModelManager
- bufferSource: MultiBufferSource.BufferSource
- atlasManager: AtlasManager
- outlineBufferSource: OutlineBufferSource
- crumblingBufferSource: MultiBufferSource.BufferSource
- font: Font
- gameRenderState: GameRenderState
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void renderSolidFeatures() @ L56
- 方法名:renderSolidFeatures
- 源码定位:L56
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void renderTranslucentFeatures() @ L72
- 方法名:renderTranslucentFeatures
- 源码定位:L72
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void renderTranslucentParticles() @ L93
- 方法名:renderTranslucentParticles
- 源码定位:L93
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void clearSubmitNodes() @ L99
- 方法名:clearSubmitNodes
- 源码定位:L99
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void renderAllFeatures() @ L103
- 方法名:renderAllFeatures
- 源码定位:L103
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void endFrame() @ L110
- 方法名:endFrame
- 源码定位:L110
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public SubmitNodeStorage getSubmitNodeStorage() @ L114
- 方法名:getSubmitNodeStorage
- 源码定位:L114
- 返回类型:SubmitNodeStorage
- 修饰符:public
参数:
- 无
说明:
TODO
public void close() @ L118
- 方法名:close
- 源码定位:L118
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class FeatureRenderDispatcher implements AutoCloseable {
private final SubmitNodeStorage submitNodeStorage;
private final ModelManager modelManager;
private final MultiBufferSource.BufferSource bufferSource;
private final AtlasManager atlasManager;
private final OutlineBufferSource outlineBufferSource;
private final MultiBufferSource.BufferSource crumblingBufferSource;
private final Font font;
private final GameRenderState gameRenderState;
private final ShadowFeatureRenderer shadowFeatureRenderer = new ShadowFeatureRenderer();
private final FlameFeatureRenderer flameFeatureRenderer = new FlameFeatureRenderer();
private final ModelFeatureRenderer modelFeatureRenderer = new ModelFeatureRenderer();
private final ModelPartFeatureRenderer modelPartFeatureRenderer = new ModelPartFeatureRenderer();
private final NameTagFeatureRenderer nameTagFeatureRenderer = new NameTagFeatureRenderer();
private final TextFeatureRenderer textFeatureRenderer = new TextFeatureRenderer();
private final LeashFeatureRenderer leashFeatureRenderer = new LeashFeatureRenderer();
private final ItemFeatureRenderer itemFeatureRenderer = new ItemFeatureRenderer();
private final CustomFeatureRenderer customFeatureRenderer = new CustomFeatureRenderer();
private final BlockFeatureRenderer blockFeatureRenderer = new BlockFeatureRenderer();
private final ParticleFeatureRenderer particleFeatureRenderer = new ParticleFeatureRenderer();
public FeatureRenderDispatcher(
SubmitNodeStorage submitNodeStorage,
ModelManager modelManager,
MultiBufferSource.BufferSource bufferSource,
AtlasManager atlasManager,
OutlineBufferSource outlineBufferSource,
MultiBufferSource.BufferSource crumblingBufferSource,
Font font,
GameRenderState gameRenderState
) {
this.submitNodeStorage = submitNodeStorage;
this.modelManager = modelManager;
this.bufferSource = bufferSource;
this.atlasManager = atlasManager;
this.outlineBufferSource = outlineBufferSource;
this.crumblingBufferSource = crumblingBufferSource;
this.font = font;
this.gameRenderState = gameRenderState;
}
public void renderSolidFeatures() {
for (SubmitNodeCollection collection : this.submitNodeStorage.getSubmitsPerOrder().values()) {
this.modelFeatureRenderer.renderSolid(collection, this.bufferSource, this.outlineBufferSource, this.crumblingBufferSource);
this.modelPartFeatureRenderer.renderSolid(collection, this.bufferSource, this.outlineBufferSource, this.crumblingBufferSource);
this.flameFeatureRenderer.renderSolid(collection, this.bufferSource, this.atlasManager);
this.leashFeatureRenderer.renderSolid(collection, this.bufferSource);
this.itemFeatureRenderer.renderSolid(collection, this.bufferSource, this.outlineBufferSource);
this.blockFeatureRenderer
.renderSolid(
collection, this.bufferSource, this.modelManager.getBlockStateModelSet(), this.outlineBufferSource, this.gameRenderState.optionsRenderState
);
this.customFeatureRenderer.renderSolid(collection, this.bufferSource);
this.particleFeatureRenderer.renderSolid(collection);
}
}
public void renderTranslucentFeatures() {
for (SubmitNodeCollection collection : this.submitNodeStorage.getSubmitsPerOrder().values()) {
this.shadowFeatureRenderer.renderTranslucent(collection, this.bufferSource);
this.modelFeatureRenderer.renderTranslucent(collection, this.bufferSource, this.outlineBufferSource, this.crumblingBufferSource);
this.modelPartFeatureRenderer.renderTranslucent(collection, this.bufferSource, this.outlineBufferSource, this.crumblingBufferSource);
this.nameTagFeatureRenderer.renderTranslucent(collection, this.bufferSource, this.font);
this.textFeatureRenderer.renderTranslucent(collection, this.bufferSource);
this.itemFeatureRenderer.renderTranslucent(collection, this.bufferSource, this.outlineBufferSource);
this.blockFeatureRenderer
.renderTranslucent(
collection,
this.bufferSource,
this.modelManager.getBlockStateModelSet(),
this.outlineBufferSource,
this.crumblingBufferSource,
this.gameRenderState.optionsRenderState
);
this.customFeatureRenderer.renderTranslucent(collection, this.bufferSource);
}
}
public void renderTranslucentParticles() {
for (SubmitNodeCollection collection : this.submitNodeStorage.getSubmitsPerOrder().values()) {
this.particleFeatureRenderer.renderTranslucent(collection);
}
}
public void clearSubmitNodes() {
this.submitNodeStorage.clear();
}
public void renderAllFeatures() {
this.renderSolidFeatures();
this.renderTranslucentFeatures();
this.renderTranslucentParticles();
this.clearSubmitNodes();
}
public void endFrame() {
this.particleFeatureRenderer.endFrame();
}
public SubmitNodeStorage getSubmitNodeStorage() {
return this.submitNodeStorage;
}
@Override
public void close() {
this.particleFeatureRenderer.close();
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
BlockFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
CustomFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
FlameFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ItemFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
LeashFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ModelFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ModelPartFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
NameTagFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ParticleFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
ShadowFeatureRenderer()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
TextFeatureRenderer()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: