Skip to content

🎨 LOD Tekstur Mob Berbasis Jarak (Minecraft 26.1.2) ​

Merender tekstur beresolusi penuh 1024x1024 pada mob yang jauh dan hanya menempati 4x4 piksel di layar pemain menghabiskan bandwidth VRAM GPU dan jalur cache sampler tekstur yang signifikan.

Camera Culling menyertakan Mesin Pembiasan LOD Tekstur OpenGL 3 tingkat terpisah yang secara dinamis menyesuaikan pengambilan sampel mipmap tekstur berdasarkan jarak entitas.


📋 Informasi Singkat LOD Tekstur Jarak ​

PropertiNilai
Hook PipelineLivingEntityRenderer.submit(...) @At("HEAD") & @At("RETURN")
Parameter OpenGLGL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL14.GL_TEXTURE_LOD_BIAS, bias)
Ambang Batas Dekat$< 16.0$ blok $\implies 0.0\text{f}$ Bias (Resolusi Penuh Asli)
Ambang Batas Sedang$16.0 - 32.0$ blok $\implies 1.0\text{f}$ Bias (Setengah Resolusi)
Ambang Batas Jauh$> 32.0$ blok $\implies 2.5\text{f}$ Bias (Seperempat Resolusi / Mipmap)
PengecualianEntitas bersinar, pemain lokal, Bos & Mini-Bos, mob dalam daftar hitam

🔬 Pembiasan LOD Tekstur Berjarak Matematis ​

text
Kamera
  │
  ├── [ 0m hingga 16m ] ──► Bias 0.0f  (Tekstur Asli 100% Resolusi Penuh)
  │
  ├── [ 16m hingga 32m ] ─► Bias 1.0f  (Pengambilan Sampel Mipmap Resolusi 50%)
  │
  └── [ > 32m ] ──────────► Bias 2.5f  (Pengambilan Sampel Mipmap Rendah 25%)

Bias LOD $B$ dihitung murni dari kuadrat jarak: $$B(d) = \begin{cases} 0.0\text{f} & \text{jika } d^2 < \text{startDist}^2 \ (16.0^2) \ 1.0\text{f} & \text{jika } \text{startDist}^2 \le d^2 < \text{farDist}^2 \ (32.0^2) \ 2.5\text{f} & \text{jika } d^2 \ge \text{farDist}^2 \end{cases}$$

Isolasi Status OpenGL ​

Saat merender entitas hidup, LivingEntityRendererMixin menginjeksi pada submit:HEAD untuk menerapkan bias yang dihitung, dan segera meresetnya kembali ke 0.0f pada submit:RETURN. Ini menjamin bahwa model blok, item, dan elemen antarmuka (UI) tidak pernah terpengaruh.


🔗 Halaman Terkait ​

Official documentation & web portal for Dasik Igaijinn mods.