Volume Shader Interaktiv Qo'llanma
Bu sahifa nima?
Bu WebGL volume shader maydonchasi. Siz Mandelbulb kabi 3D fraktallarni real vaqtda render qilishingiz, parametrlarni sozlashingiz va darhol javob olishingiz mumkin. Bu sizga volume rendering asoslari va shader sozlashni tushunishga yordam beradi—to'g'ridan-to'g'ri brauzeringizda.
Asosiy Xususiyatlar
- Interaktiv 3D ko'rinish: aylantirish, kattalashtirish va fraktallarni o'rganish
- Konfiguratsiya paneli: shader parametrlarini jonli sozlash
- Har bir o'zgarish uchun darhol rendering javob
Qanday Ishlatish
- Kod panelini ochish uchun CONFIG tugmasini bosing.
MAX_ITERATIONS,DENSITY,SCATTERINGva boshqa parametrlarni tahrirlang.- O'zgarishlaringizni darhol ko'rish uchun APPLY tugmasini bosing.
- Aylantirish (chap tortish), kattalashtirish (scroll) va ko'chirish (o'ng tortish, ilg'or rejim) uchun sichqonchangizdan foydalaning.
Parametr Misollari
#define MAX_ITERATIONS 32
#define DENSITY 0.15
#define SCATTERING 0.8
#define LIGHT_INTENSITY 5.0
#define STEP_SIZE 0.01- Yanada qattiq ko'rinish uchun
DENSITYni oshiring - Yaxshiroq ishlash uchun
MAX_ITERATIONSni kamaytiring - Tabiiy effektlar uchun
#define USE_NOISE 1ni sinab ko'ring - Turli yoritish burchaklari uchun
LIGHT_DIRni sozlang
Shader Misoli va Tushuntirish
float kernal(vec3 ver){
float x,y,z;
x = cos(1.0 / (ver.x*ver.x + 0.06));
y = cos(1.0 / (ver.y*ver.y + 0.06));
z = cos(1.0 / (ver.z*ver.z + 0.06));
return -x-y-z-1.2;
}- ver: Shader tomonidan baholanayotgan fazodagi 3D pozitsiya.
- x, y, z: Har biri ver.x, ver.y, ver.z koordinatalarining o'zgartirilgan qiymatini ifodalaydi, kvadrat koordinataning teskari qiymatining kosinus funksiyasidan foydalanadi (nolga bo'lishdan saqlanish uchun kichik konstant qo'shiladi). Bu 3D fazoda juda no-chiziqli, davriy maydon yaratadi.
- return qiymati bu uchta komponentni -1.2 offset bilan birlashtiradi va shu nuqtadagi sirt yoki zichlikni belgilaydi. Natija murakkab, to'lqinsimon fraktal struktura.
Bu kernal funksiya ray marching algoritmida masofa maydoni sifatida ishlatiladi. Formulani yoki konstantlarni (masalan 0.06 yoki -1.2) sozlash orqali yaratilgan fraktalning shakli, chastotasi va zichligini boshqarishingiz mumkin. Turli vizual effektlar uchun CONFIG panelida bu qiymatlar bilan tajriba qiling.
Ishlash Maslahatlari
- Yuqori FPS uchun
MAX_ITERATIONSni kamaytiring yokiSTEP_SIZEni oshiring - Kam GPU yuki uchun anti-aliasing-ni o'chiring
- Kuchli sochilish uchun presetlarni sinab ko'ring: SCATTERING=0.9, LIGHT_INTENSITY=8.0
Boshqaruvlar
| Harakat | Tavsif |
|---|---|
| Chap Tortish | 3D ko'rinishni aylantirish |
| Scroll | Kattalashtirish/Kichiklashtirish |
| O'ng Tortish | Ko'chirish (ilg'or rejim) |
| R tugmasi | Ko'rinishni qayta tiklash |