سه سال و نیم پیش بود، در تابستان 2015، که Kronos Group، که چندین سال است OpenGL را مینتین میکند، رابط نرم افزاری جدید خود را که امید آن میرود در سالهای آینده جایگزین اوپن جی ال گردد، یعنی Vulkan را رونمایی کرد.
فرق OpenGL با Direct3D، رابط نرم افزاری ویندوز و اکس باکس وان (نام اکس باکس از DirectX گرفته شده است) اینست که کرونوس، تنها فایلهای سَری (header filesـه که در زبان C و ++C کاربرد دارند) را declare میکند، و وظیفه ی سازندگان درایو، و سیستم عامل است که آنها را define کنند. هر شرکتی دفینیشن خود را از اوپن جی ال و وولکان دارد. و همچنین درایورهای nVidia و AMD نیز که تعریف خود را از وولکان و اوپن جی ال دارند. یک ماه بعد بود که nVidia و AMD وولکان را تعریف کردند و فایلهای کتابخانه ی آن عرضه شد. و DOOM اولین بازی ای بود که از وولکان پشتیبانی میکرد. یک سال بعد کنسول Switch عرضه شد، که اولین کنسولی بود که از وولکان استفاده میکرد. با اینکه نیتندو در سال 2006 با عدم پشتیبانی Wii از سایه زنهای گرافیکی که 5 سال از عرضه ی آنها تحت DirectX و OpenGL گذشته بود، گند بزرگی زده بود، این بار اشتباه نکرد و با پشتیبانی ازین نژاد فضایی (وولکان، نژاد اسپاک در پیشتازان فضا میباشد) باعث گردید که برنامه نویسان ترسشان بشود. اما چرا برنامه نویسان، از وولکان هراسانند؟
دلیل آن اینست که وولکان مانند دایرکت اکس 12، بسیار verbose است. به عبارتی، برای نوشتن یک پایه برای وولکان، که در اوپن جی ال 120 خط کد میبرد، در وولکان بین 900 تا 950 خط کد میبرد! دلیل دیگر ترس برنامه نویسان از وولکان، عدم پشتیبانی درایورهای کارت گرافیک از وولکان، به صورت کامل و بدون نقص است. هر ماه با عرضه ی درایورهای جدید، یک عیب رفع شده، و 10 عیب پیدا میشوند!
اما آیا وولکان از دایرکت اکس 12 قویتر است؟ من نمیدانم، چون با دایرکت اکس 12 آشنایی ندارم، اما شک ندارم که وولکان با پشتیبانی از شیء گرایی، و اینکه میگذارد قسمتهایی از پایپ لاین را دستکاری کنیم که در دایرکت اکس و اوپن جی ال ممکن نیست، و اینکه متن باز است، مسلما بهتر است. و پشتیبانی نینتندو از وولکان این امر را نشان میدهد.
یکی از اضافات وولکان به پایپ لاین گرافیکی، Tesselation Shader میباشد. مسلما با اضافه شدن یک سایه زن جدید به پایپ لاین، دست برنامه نویس بازتر خواهد شد.
اما پایپ لاین چیست؟ در زیر پایپ لاین OpenGL را مشاهده میکنید:
پایپ لاین وولکان فرق زیادی با پایپ لاین اوپن جی ال ندارد، فقط همانطور که گفتیم، یک شیدر اضافه دارد.
پس چه نتیجه میگیریم؟ آیا وولکان، جایگزین اوپن جی ال و دایرکت اکس خواهد شد؟ دایرکت اکس که مسلما نه، اما اوپن جی ال، بله. به عبارتی، حدس میرود که پلی استیشن بعدی نیز از وولکان استفاده کند.
پیش به سوی آینده ی وولکانی Live Long and Prosper.
نویسنده: خودم
فرق OpenGL با Direct3D، رابط نرم افزاری ویندوز و اکس باکس وان (نام اکس باکس از DirectX گرفته شده است) اینست که کرونوس، تنها فایلهای سَری (header filesـه که در زبان C و ++C کاربرد دارند) را declare میکند، و وظیفه ی سازندگان درایو، و سیستم عامل است که آنها را define کنند. هر شرکتی دفینیشن خود را از اوپن جی ال و وولکان دارد. و همچنین درایورهای nVidia و AMD نیز که تعریف خود را از وولکان و اوپن جی ال دارند. یک ماه بعد بود که nVidia و AMD وولکان را تعریف کردند و فایلهای کتابخانه ی آن عرضه شد. و DOOM اولین بازی ای بود که از وولکان پشتیبانی میکرد. یک سال بعد کنسول Switch عرضه شد، که اولین کنسولی بود که از وولکان استفاده میکرد. با اینکه نیتندو در سال 2006 با عدم پشتیبانی Wii از سایه زنهای گرافیکی که 5 سال از عرضه ی آنها تحت DirectX و OpenGL گذشته بود، گند بزرگی زده بود، این بار اشتباه نکرد و با پشتیبانی ازین نژاد فضایی (وولکان، نژاد اسپاک در پیشتازان فضا میباشد) باعث گردید که برنامه نویسان ترسشان بشود. اما چرا برنامه نویسان، از وولکان هراسانند؟
دلیل آن اینست که وولکان مانند دایرکت اکس 12، بسیار verbose است. به عبارتی، برای نوشتن یک پایه برای وولکان، که در اوپن جی ال 120 خط کد میبرد، در وولکان بین 900 تا 950 خط کد میبرد! دلیل دیگر ترس برنامه نویسان از وولکان، عدم پشتیبانی درایورهای کارت گرافیک از وولکان، به صورت کامل و بدون نقص است. هر ماه با عرضه ی درایورهای جدید، یک عیب رفع شده، و 10 عیب پیدا میشوند!
اما آیا وولکان از دایرکت اکس 12 قویتر است؟ من نمیدانم، چون با دایرکت اکس 12 آشنایی ندارم، اما شک ندارم که وولکان با پشتیبانی از شیء گرایی، و اینکه میگذارد قسمتهایی از پایپ لاین را دستکاری کنیم که در دایرکت اکس و اوپن جی ال ممکن نیست، و اینکه متن باز است، مسلما بهتر است. و پشتیبانی نینتندو از وولکان این امر را نشان میدهد.
یکی از اضافات وولکان به پایپ لاین گرافیکی، Tesselation Shader میباشد. مسلما با اضافه شدن یک سایه زن جدید به پایپ لاین، دست برنامه نویس بازتر خواهد شد.
اما پایپ لاین چیست؟ در زیر پایپ لاین OpenGL را مشاهده میکنید:
پایپ لاین وولکان فرق زیادی با پایپ لاین اوپن جی ال ندارد، فقط همانطور که گفتیم، یک شیدر اضافه دارد.
پس چه نتیجه میگیریم؟ آیا وولکان، جایگزین اوپن جی ال و دایرکت اکس خواهد شد؟ دایرکت اکس که مسلما نه، اما اوپن جی ال، بله. به عبارتی، حدس میرود که پلی استیشن بعدی نیز از وولکان استفاده کند.
پیش به سوی آینده ی وولکانی Live Long and Prosper.
نویسنده: خودم
