Skip to content

🎨 LOD de Textura por Distância (Minecraft 26.1.2) ​

Renderizar texturas completas de 1024x1024 ou de alta resolução em mobs distantes que ocupam apenas 4x4 pixels na tela do jogador desperdiça largura de banda substancial de VRAM da GPU e linhas de cache do amostrador de texturas.

O Camera Culling inclui um Motor de Viés de LOD de Textura OpenGL desacoplado de 3 níveis que ajusta dinamicamente a amostragem de mipmap de texturas com base na distância da entidade.


📋 Informações Rápidas de LOD de Textura ​

PropriedadeValor
Hook do PipelineLivingEntityRenderer.submit(...) @At("HEAD") & @At("RETURN")
Parâmetro OpenGLGL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL14.GL_TEXTURE_LOD_BIAS, bias)
Limiar Próximo$< 16.0$ blocos $\implies 0.0\text{f}$ de Viés (Resolução Total)
Limiar Médio$16.0 - 32.0$ blocos $\implies 1.0\text{f}$ de Viés (Meia Resolução)
Limiar Longe$> 32.0$ blocos $\implies 2.5\text{f}$ de Viés (Quarta Resolução / Mipmap)
IsençõesEntidades brilhantes, jogador local, Chefes e Mini-Chefes, Mobs na Lista Negra

🔬 Viés Matemático de LOD de Distância ​

text
Câmera
  │
  ├── [ 0m a 16m ] ──► Viés 0.0f  (Textura Nativa com Resolução Total 100%)
  │
  ├── [ 16m a 32m ] ──► Viés 1.0f  (Amostragem de Mipmap com Meia Resolução 50%)
  │
  └── [ > 32m ] ──────► Viés 2.5f  (Amostragem de Mipmap com Baixa Resolução 25%)

O viés de LOD $B$ é calculado puramente a partir da distância ao quadrado: $$B(d) = \begin{cases} 0.0\text{f} & \text{se } d^2 < \text{startDist}^2 \ (16.0^2) \ 1.0\text{f} & \text{se } \text{startDist}^2 \le d^2 < \text{farDist}^2 \ (32.0^2) \ 2.5\text{f} & \text{se } d^2 \ge \text{farDist}^2 \end{cases}$$

Isolamento de Estado OpenGL ​

Ao renderizar uma entidade viva, o LivingEntityRendererMixin injeta em submit:HEAD para aplicar o viés calculado, e o redefine imediatamente para 0.0f em submit:RETURN. Isso garante que modelos de blocos, itens e elementos de interface nunca sejam afetados.


🔗 Páginas Relacionadas ​

Official documentation & web portal for Dasik Igaijinn mods.