1. Minecraft 渲染系统概论

渲染系统可以说这是 Minecraft 最饱受诟病的子系统之一了,甚至 Mojang 为了优化渲染的努力都引来了更大的争议。 其实,即便 Minecraft 不是建基于 Java 和 LWJGL 之上的游戏,它也得解决渲染这些东西的问题,不论是自己从零开始写还是用现成的游戏引擎提供的解决方案:

  • 几百种方块的几百种不同方块状态对应的模型。
    • 可能重复了几万遍,因为你有好多好多方块。
    • 看不到的地方尽量不要渲染,因为你毕竟看不到,渲染了也没用。
  • 所有物品的模型。可能只是薄薄一层像素,也可能是个方块从某个角度看过去的投影。
  • 附魔台上面的书、活塞推出去的方块、旗帜的图案、箱子开关的动画。
    • 等等,这些东西似乎和普通的方块模型不太一样。
  • 玩家的模型,玩家周围友好生物的模型,玩家周围敌对生物的模型。
  • 最后,游戏的操作界面(GUI)。
    • GUI 相关的内容会在第十四章有详细论述。本章只讨论方块、物品、实体和方块实体的模型。
    • HUD 也算作 GUI 的一部分。

总而言之,不论如何,我们都得跟这些奇奇怪怪的东西打交道了。