Skip to content

渲染相关

USS_Shenzhou edited this page Oct 12, 2022 · 1 revision

RawQuad

RawQuad的目的是将BakedQuad变为方便操作的格式,然后再还原为BakedQuad以进行渲染。

目前只支持DefaultVertexFormat.BLOCK格式的BakedQuad

void shrink(float fromUp, float fromDown, float fromLeft, float fromRight)

fromDown为例,对原来的四边形进行如图方式的裁剪。

extinguish.blockentites.ExtinguisherBracketBuiltinEntity.calculateDisguiseModel()查看使用例。

BakedQuad bake()

需要的操作完成后导出BakedQuad。

当你需要渲染导出的BakedQuad时,一般情况下建议使用ModelBlockRenderer.tesselateWithAO(...)。其他方法可能会导致不正确的光照或阴影。

  • 显然,如果需要修改的BakedQuad并不是通常的样式,那么就自然地会产生奇奇怪怪的错乱。已知的例子有基岩、带釉陶瓦。

  • 对半透明面的处理不正确,目前尚未知晓解决方法。

  • 在TeaCon 2022期间,产生的错乱意外而短暂地得到了修复,目前不清楚是哪个mod的什么功能造成了此效果。

Clone this wiki locally