۲۵ سال پیش در چنین روزی، مایکروسافت DirectX 8 را منتشر کرد و گرافیک کامپیوتر را برای همیشه تغییر داد
تصور اینکه بازیها امروز بدون تغییر آرام اما تحولآفرینی که مایکروسافت در سال ۲۰۰۰ ایجاد کرد، چگونه به نظر میرسیدند، دشوار است. بیست و پنج سال پیش، در چنین روزی، این شرکت DirectX 8 را معرفی کرد. این انتشار با هیاهوی کمی همراه بود، بدون هیچ دمو فناوری تعیینکننده نسلی، اما یک پیشرفت بزرگ را با خود به همراه داشت — شیدرهای قابل برنامهریزی — که برای همیشه نحوه رندر کردن گرافیک توسط GPUها را متحول کرد.
قبل از DirectX 8، کارتهای گرافیک بر روی یک خط لوله با عملکرد ثابت کار میکردند، به این معنی که تقریباً همه چیز از پیش تعریف شده و در خود سیلیکون تعبیه شده بود. معادلات نورپردازی، ترکیب بافت، تبدیلها؛ همه اینها به پشتیبانی GPU بستگی داشت. به عنوان مثال، به جای بازتابهای بلادرنگ، نقشههای محیطی داشتید زیرا خود GPU قادر به محاسبه پویا آنها نبود. شما محدود به منطق سختافزار بودید که انعطافپذیری زیادی نداشت.
آن را مانند تنظیم دکمهها روی یک کنسول تصور کنید. میتوانید پارامترها را کمی تغییر دهید، اما اگر میخواستید خود دکمهها را تغییر دهید چه؟ وارد شوید، DirectX 8.
شیدرهای قابل برنامهریزی DirectX 8
مایکروسافت Shader Model 1.0 را به DirectX اضافه کرد که با Vertex Shader 1.0 همراه بود و به توسعهدهندگان اجازه میداد هر راس را دستکاری کنند، و Pixel Shader 1.0 که به توسعهدهندگان اجازه میداد رنگ نهایی هر پیکسل را کنترل کنند. قبلاً، هیچ یک از اینها واقعاً قابل دسترسی نبود، اما DirectX 8 کنترل را به سازندگان بازی داد و آنها را قادر ساخت تا کدی برای برنامهریزی GPU بنویسند تا به روشی خاص رندر کند.
توسعهدهندگان میتوانستند برای اولین بار، ریاضیات پشت نورپردازی را تعریف کنند، به عنوان مثال، یا رفتار مواد، هایلایتهای اسپکولار، تسلاسیون (پایه) و غیره را کنترل کنند. دیگر فقط پذیرش آنچه GPU به طور پیشفرض ارائه میداد مطرح نبود، بلکه آنچه GPU میتوانست انجام دهد، نقطه پایان بود. این کار سیلیکون را از یک ماشین قفل شده به یک پردازنده واقعی و قابل برنامهریزی، مطابق با نامش، تبدیل کرد.
با بهرهگیری از امکانات DirectX 8، بازیهایی مانند Half-Life 2 با گرافیکهای پیشگامانه برای آن دوران عرضه شدند. آنها بر اساس ایدههای نویسندگی ساخته شده بودند و به توسعهدهندگان استقلال (هرچند در آن زمان جزئی) میدادند تا سایههای بلادرنگ، شیدرهای شکست نور و آب، جلوههای پسپردازش و موارد دیگر را بسازند. همه اینها به این دلیل بود که آنها اکنون میتوانستند کد سفارشی بنویسند و به GPU بگویند چگونه چیزی را محاسبه کند.
این به خلاقان بستگی داشت که نحوه تعامل نور با هر شیء را شکل دهند، چیزی که شاید با استانداردهای امروزی ابتدایی به نظر برسد. حتی در سال ۲۰۲۵، برخی چیزها برای کارایی از پیش رندر شدهاند، مانند نورپردازی سراسری، در حالی که برخی دیگر به صورت بلادرنگ عمل میکنند. و این شیدرها هستند که تصمیم میگیرند چگونه هر دو با یکدیگر تعامل داشته باشند و آنها را به طور یکپارچه ادغام میکنند تا به شما “گرافیک بهتر” بدهند.
انتشار DirectX 8 همزمان با عرضه Nvidia GeForce 3 بود که بلوکهای سختافزاری مانند واحدهای اجرای شیدر را برای اجرای Shader Model DX8 اضافه کرد. در پوشش اصلی ما از GPUها بیش از دو دهه پیش، ما گنجاندن Pixel Shader و Vertex Shader را به عنوان دو بزرگترین پیشرفت ذکر کردیم که امکانات بیپایانی را به همراه داشت — که در گذشتهنگری، واقعیتر از همیشه بود.
یک سال بعد، ATI (AMD) با سختافزار قدرتمندتر کلاس DX9، بر اساس میراث DX8، به رقابت پیوست. حتی ایکسباکس اصلی نیز در آن زمان با یک GPU DirectX 8 عرضه شد و هیجان زیادی در جامعه توسعهدهندگان پیرامون نورپردازی واقعی هر پیکسل وجود داشت. بازیهایی مانند Morrowind و Splinter Cell از اولین پذیرندگان این فناوری بودند که بعدها توسط Unreal Engine 2 رایج شد.
در مجموع، DirectX 8 یک بهروزرسانی انفجاری نبود، اما نحوه عملکرد رندرینگ مدرن را به طور کامل تغییر داد. هر دستگاهی که اکنون استفاده میکنیم، از گوشیها گرفته تا کنسولها و کامپیوترها، بدون استفاده از اصل اساسی کنترل DX8، به شکلی که امروز کار میکنند، عمل نمیکردند. اجازه دادن به افرادی که نرمافزار را میسازند تا سختافزار را هر طور که میخواهند برنامهریزی کنند، همان چیزی است که منجر به پیشرفتهای گرافیکی بعدی شد که امروز آنها را عادی میدانیم.
برای دریافت آخرین اخبار، تحلیلها و بررسیهای ما در فیدهای خود، در Google News دنبال کنید، یا ما را به عنوان منبع ترجیحی خود اضافه کنید.
- کولبات
- آبان 18, 1404
- 35 بازدید






