Skip to content

🎨 Abstands-Textur-LOD (Minecraft 26.1.2) ​

Das Rendern vollständiger 1024x1024- oder hochauflösender Texturen auf entfernten Mobs, die auf dem Bildschirm des Spielers nur 4x4 Pixel einnehmen, verschwendet erhebliche GPU-VRAM-Bandbreite und Textur-Sampler-Cachezeilen.

Camera Culling enthält eine entkoppelte, 3-stufige OpenGL-Textur-LOD-Biasing-Engine, die das Mipmap-Sampling der Texturen dynamisch an die Entfernung der Entität anpasst.


📋 Abstands-Textur-LOD-Kurzübersicht ​

EigenschaftWert
Ziel-PipelineLivingEntityRenderer.submit(LivingEntityRenderState, ...)
MechanismusOpenGL Textur-Sampler Mipmap Bias (GL_TEXTURE_LOD_BIAS)
Nah-Schwellenwert$< 16.0$ Blöcke $\implies 0.0\text{f}$ Bias (Volle Auflösung)
Mittel-Schwellenwert$16.0 - 32.0$ Blöcke $\implies 1.0\text{f}$ Bias (Halbe Auflösung)
Fern-Schwellenwert$> 32.0$ Blöcke $\implies 2.5\text{f}$ Bias (Viertel-Auflösung / Mipmap)
AusnahmenLeuchtende Entitäten, lokaler Spieler, Bosse & Mini-Bosse, Entitäten auf der Sperrliste

🔬 Mathematisches Distanz-LOD-Biasing ​

text
Kamera
  │
  ├── [ 0m bis 16m ] ──► Bias 0.0f  (100% native Textur in voller Auflösung)
  │
  ├── [ 16m bis 32m ] ─► Bias 1.0f  (50% Mipmap-Sampling mit halber Auflösung)
  │
  └── [ > 32m ] ───────► Bias 2.5f  (25% Mipmap-Sampling mit reduzierter Auflösung)

Der LOD-Bias $B$ wird rein aus dem Distanzquadrat berechnet: $$B(d) = \begin{cases} 0.0\text{f} & \text{wenn } d^2 < \text{startDist}^2 \ (16.0^2) \ 1.0\text{f} & \text{wenn } \text{startDist}^2 \le d^2 < \text{farDist}^2 \ (32.0^2) \ 2.5\text{f} & \text{wenn } d^2 \ge \text{farDist}^2 \end{cases}$$

OpenGL-Statusisolation ​

Beim Rendern einer lebenden Entität injiziert LivingEntityRendererMixin bei submit:HEAD, um den berechneten Bias anzuwenden, und setzt ihn bei submit:RETURN sofort wieder auf 0.0f zurück. Dies garantiert, dass Blockmodelle, Gegenstände und GUI-Elemente niemals beeinträchtigt werden.


🔗 Verwandte Seiten ​

Official documentation & web portal for Dasik Igaijinn mods.