Tessellation چیست و چرا اهمیت دارد؟
در صحبت های پیرامون Direct X به احتمال زیاد در مورد یکی از بزرگ ترین ویژگی هایش یعنی tessellation شنیده اید؛ مفهومی به معنای تقسیم یک چند ضلعی به قسمت های کوچک تر. اما چرا این مفهوم آن قدر اهمیت دارد؟ و چگونه روی بازی ها اثر می گذارد؟ در این مقاله به تغییرات بزرگ ناشی از tessellation بر روی گرافیک سه بعدی در کامپیوترها و عملکرد GPU های سری 400 Geforce خواهیم پرداخت.
در مفهوم پایه، tessellation به تقسیم یک چند ضلعی به تکه های ریز تر گفته می شود. برای مثال، اگر مربعی داشته باشید و آن را به صورت قطری ببرید شما آن را به دو مثلث tessellated کرده اید. Tessellation به خودی خود تاثیر اندکی در رئالیسم دارد. برای مثال در یک بازی تفاوتی ندارد شما یک مربع را به دو مثلث تقسیم کنید یا به دو هزار مثلث_ آن چه تفاوت ایجاد می کند آن است که مثلث ها طوری به کار برده شوند که حاوی اطلاعات جدیدی باشند.
راحت ترین و مشهورترین روش کاربرد مثلث های جدید، نگاشت جایگذاری (Displacement Mapping) نامیده می شود؛ بافتی که اطلاعات ارتفاع را ذخیره می کند و زمانی که در یک سطح اعمال می شود رئوس را قادر می سازد تا بسته به اطلاعات ارتفاع بالا و پایین شوند. برای مثال، گرافیست می تواند یک تکه سنگ مرمر را برداشته و رئوس را طوری تغییر دهد که روی آن حکاکی هایی ایجاد شود. تکنیک شناخته شده ی دیگر نگاشت جایگذاری روی عوارض جغرافیایی برای ایجاد فرورفتگی ها، دره ها و قله هاست.
نگاشت جایگذاری نیز همچون tessellation مدت هاست که به کار برده می شود اما تا همین اواخر توجه زیادی به آن نشده بود؛ دلیل آن نیز شاید این باشد که برای موثر بودن نگاشت جایگذاری، تعداد رئوس بسیار زیادی باید سطح را تشکیل داده باشند. مثال تکه سنگ مرمر را بار دیگر در ذهن بیاورید: اگر تکه سنگ مرمر از هشت راس تشکیل شده باشد، هیچ تعداد از نگاشت نمی تواند برجستگی های یک اژدها را ایجاد کند. یک برجستگی با جزییات دقیق را تنها زمانی می توان ایجاد کرد که رئوس کافی در پایه ی شبکه داشته باشیم تا بیانگر شکل جدید باشند. در کل می توان گفت نگاشت جایگذاری به tessellation نیاز دارد و برعکس.
با پیوند DirectX، tessellation و نگاشت جایگذاری، دست توسعه دهندگان برای طراحی بسیار باز شده است. بازی های مشهوری مانند بیگانه و شکارچی، و مترو 2033 برای ایجاد مدل هایی با سطوحی که هموار و نرم به نظر بیایند از tessellation بهره برده اند و توسعه دهندگان Valve و ID متعهد اعمال این تکنیک ها برای طراحی شخصیت های بازی هایشان شده اند.
از آن جا که tessellation در Direct X قابل برنامه ریزی است می توان آن را برای حل بسیاری از مشکلات گرافیکی به کار برد. بگذارید 4 مثال را بررسی کنیم:
نظر شما چیست؟