HDMap 渲染管线

基本信息

属性 值
包 org.dynmap.hdmap(21 个类)+ 3 个子包
核心图块 HDMap(hdmap/HDMap.java)、HDMapManager(hdmap/HDMapManager.java)
图块 HDMapTile(hdmap/HDMapTile.java)
渲染任务状态 HDShaderState(hdmap/HDShaderState.java)、HDPerspectiveState(hdmap/HDPerspectiveState.java)
着色器抽象 HDShader(hdmap/HDShader.java)
光照抽象 HDLighting(hdmap/HDLighting.java)
透视抽象 HDPerspective(hdmap/HDPerspective.java)

五个可插拔维度

渲染结果由"透视 × 着色器 × 光照"三者组合决定,仓库内均为接口 + 多实现:

维度 接口 实现数(仓库内)
着色器 HDShader(HDShader.java) 6:TexturePackHDShader、TexturePackHDCaveShader、DefaultHDShader、CaveHDShader、InhabitedHDShader、TopoHDShader
光照 HDLighting(HDLighting.java) 2:DefaultHDLighting、ShadowHDLighting
透视 HDPerspective(HDPerspective.java) 3:IsoHDPerspective 及其 2 个子包内实现

实现数由 name() 覆写点统计:TopoHDShader.java:122、CaveHDShader.java:90、DefaultHDLighting.java:19、TexturePackHDShader.java:97、IsoHDPerspective.java:1410、DefaultHDShader.java:81、InhabitedHDShader.java:94。

子包构成

子包 类数 内容
hdmap/renderer/ 81 各 mod 方块的渲染器,见 ModSupport 渲染器
hdmap/renderer/multipart/ 3 MultiPartHelper、MultiPartRenderer、ProjectRedSurfaceWireRenderer
hdmap/textureprocessor/ 9 贴图后处理:AE2CableTextureProcessor、AE2CableTextureProcessor2、AE2MonitorProcessor、BwGlassProcessor、ChiselCTMTextureProcessor、CustomTextureProcessor、ExtraUtilitiesGreenScreenProcessor、FlipProcessor、GrayScaleProcessor
hdmap/colormult/ 3 颜色乘数:TFBandedWoodColorMultiplier、TFMagicLeafColorMultiplier、TFSpecialLeafColorMultiplier

其他基础设施类

类 作用
HDBlockModels(HDBlockModels.java) 方块模型库
TexturePackLoader(hdmap/TexturePackLoader.java) 加载纹理包
CTMTexturePack(hdmap/CTMTexturePack.java) Connect Texture Mod 支持的纹理包子类

数值

数值名 值
hdmap/ 类数 21
hdmap/renderer/ 类数 81
hdmap/renderer/multipart/ 类数 3
hdmap/textureprocessor/ 类数 9
hdmap/colormult/ 类数 3
可插拔维度数 3(着色器 / 光照 / 透视)

全仓 .java 总数 342,hdmap/ 系列(不含 renderer)占 21 个。

交互

触发 行为
/dynmap render 渲染当前位置图块
/dynmap fullrender 渲染整个世界,遍历所有 MapType × 透视 × 着色器 × 光照组合
/dynmap pause all 暂停全图与增量渲染(DynmapCore.java:1664-1683)
区块变化 按 tileupdatedelay 节流后重绘(configuration.txt:251)

相关条目