3D sohasida ishlaydigan mutaxasislar guruhidagi savolga javob.Savol:
Bir savol bor edi, bironta model render qilinsa kompyuter oʻsha setkalarni uchburchak(triangle) qilib hisoblaydimi?Javob: Siz ishlatadigan
high-level dasturlarda (
3DS Max, Blender, SketchUp, ...) bemalol to'rtburchak chiza olasiz. Ammo o'sha dasturlarning barchasi faqat
OS level'dagi
Graphics API dan foydalanadi. Ya'ni
Windows da
DirectX 3D, Vulkan yoki
OpenGL.
MacOS da
Metal yoki boshqasi, vahokazo. Ularning barchasida faqatgina
Point (
nuqta),
Line (
chiziq),
Triangle (
uchburchak) chizish mumkin.
Savolingizdagi "render qilsa" jumlasi "Computer Science" da "Rasterization" deyiladi. Ya'ni chizilgan narsani tasvirga aylantirish. Undan avval esa "Buffer stage" jarayoni amalga oshiriladi. Oddiy qilib aytganda geometriyani chizishdan (render qilishdan) avvalgi hisoblash bosqichi. Ana shu bosqichda sizning "uchburchak qilib hisoblaydimi?" degan savolingizga javob topiladi.
Oddiy 2D To'rtburchak - 2 ta uchburchakdan hosil bo'lsada, uchburchakda 3 ta nuqta bo'lgani bois, bizga umumiy 6 ta nuqta kerak deb o'ylaymiz. Aslida esa unday emas. 4 ta (1-nuqta, 2-nuqta, 3-nuqta, 4-nuqta) alohida uchburchak-lashtiriladi Bu fanda "Triangulation" deyiladi:
Birinchi uchburchak = 0-nuqta, 1-nuqta, 2-nuqta
Ikkinchi uchburchak = 2-nuqta, 3-nuqta, 0-nuqta
(
Kompyuter 0 dan sanaydi)
30 / 3 = 10 (
Bu yerda 3 soni - uchburchakni bildiradi). Javob
10. Ammo faqat 10 ta uchburchak qila olamiz degani emas.
triangulyatsiya oqibatida 30 ta nuqtadan ham 100+ uchburchakni hisoblash mumkin.
Kompyuter keyingi bosqichda "Rasterization stage" ga aytadi: Mana bu 1-uchburchak va 2-uchburchak, ...
Aslida esa o'sha uchburchaklarning asli mavjud bo'lmaydi. Ya'ni siz ishlatadigan dasturlar
unique (unikal) nuqtalarning
reference'larini loyiha ichiga yozib qo'yadi. Shuning uchun siz modelni
export qilayotganingizda "Triangulate" degan
option'ga ko'zingiz tushishi mumkin. Agar u yoqilgan bo'lsa, to'rtburchak uchun 4 ta nuqta va
index buffer ma'lumotlarini
export qiladi. Agar yoqilmagan bo'lsa, to'rtburchak uchun 6 ta nuqtani o'zini
export qiladi.
O'yin sahnalari, yoki har qanday
graphics visualization'da avvaldan (dasturda)
triangulyatsiya qilingan modellar tavsiya qilinadi. Chunki u murakkab modellardagi uchburchaklar sonini tejaydi. Hajm jihatidan katta yoki kichik bo'lishi bahsli masala, ammo hisoblash jihatidan (
Ayniqsa real-time paytida) shu usul samaraliroq.
Maqola davomida vizual tushunish uchun rasm qoldiraman.