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) |
相关条目