سفر مبتدی به برنامه نویسی گرافیک

یک شب سرنوشت ساز، داشتم در فید یوتیوب خود می چرخیدم که با ویدیوی جالب کانال کیشیمیسو مواجه شدم که مرا با دنیای وحشی برنامه نویسی گرافیک آشنا می کرد. در ویدیو، تصویری زیبا دیدم که چیزی جز مفاهیم ریاضی خلق شده بود و گیر کردم. اینجا بودم که از هماهنگی وحشتناک چشم و دستم ناله میکردم و فکر میکردم در حالی که میتوانم از تمام آن سالها یادگیری جبر خطی و حساب دیفرانسیل و انتگرال به خوبی استفاده کنم، محکوم به هنر هستم. اینجا بهانه ای بود برای استفاده از ریاضیات برای سرگرمی که بتوانم از پسش بر بیایم. بنابراین، تصمیم گرفتم ببینم در این دنیای عجیب و غریب نقاشی روی صفحه چه اتفاقی میافتد.
برای شروع کاوش، فکر کردم اگر بتوانم تصویری را که در ویدیوی کیشیمیسو دیدم بازتولید کنم، عالی خواهد بود. در ویدیویی که من تماشا کردم، او تصویری را در این وبسایت شگفتانگیز به نام Shadertoy ساخت که در آن تعدادی از افراد فوقالعاده باهوش تجسمسازی میکنند و کد نحوه ساخت آنها را به اشتراک میگذارند. برای مرجع، اینها برخی از تصاویر موجود در سایت هستند که من را غافلگیر کردند.
حالا، فکر میکنید از آنجایی که میخواستم تصویری را بازتولید کنم، یک حساب Shadertoy ایجاد کنم و شروع به کدنویسی کنم درست است؟ خب، این برنامه من در ابتدا بود. همانطور که در حال خیره شدن به آن تصاویر بودم، متوجه شدم که چگونه وب سایت شادرتوی کار می کند. به این ترتیب، متوجه شدم که وارد آب های بسیار عمیق تری شده ام.
از تحقیقاتم به جادوی سایه بان ها پی بردم. حالا شیدرها چیست؟ تا آنجا که من متوجه شدم، شیدرها فقط برنامه هایی هستند که روی کارت گرافیک شما اجرا می شوند که یکی از ابزارهای کلیدی است که به شما امکان می دهد تمام بازی های شگفت انگیز جدید این روزها را انجام دهید. مانند هر زبان برنامه نویسی، شیدرها را می توان به زبان های مختلفی مانند OpenGL، DirectX، Vulkan یا Metal نوشت. با این حال، به طرز عجیبی، وقتی صحبت از وب سایت ها می شود، به نظر می رسد تنها یک زبان در هسته آن وجود دارد که WebGL نام دارد که فقط یک پورت OpenGL است.
در یک پیچ و تاب وحشیانه از سرنوشت، زمانی که در مورد WebGL یاد میگرفتم، متوجه شدم که API گرافیکی جدیدی در سال گذشته به نام WebGPU منتشر شد که با توجه به اینکه ابتدا در اوایل دهه 2010 منتشر شد، قرار بود جایگزین WebGL شود. این به نظر شگفت انگیز بود زیرا به این معنی است که ما احتمالاً در اوج یک انقلاب گرافیکی برای وب هستیم. این بدان معنی است که من می توانم فرصتی برای تجربه یک فناوری بالقوه جدید جهانی تکان دهنده در رابطه با تصاویر رایانه ای در وب در زمان واقعی و تجربه تکامل فناوری با من داشته باشم.
بنابراین، من فوراً چرخیدم و شروع کردم به دیدن اینکه آیا میتوانم تصویر اولیه را نه در WebGL در Shadertoy بلکه در WebGPU با استفاده از کد هکی خود بازتولید کنم. در زیر برخی از تصاویری که با استفاده از WebGPU ساخته ام آورده شده است.
https://www.youtube.com/watch?v=F-1kVqEKe74
https://www.youtube.com/watch?v=TD7LubmvQSE
https://www.youtube.com/watch?v=OdHmCuwKgVY
https://www.youtube.com/watch?v=qhxbtAdrD1U
پس از بازی با API جدید، باید بگویم که بسیار تحت تأثیر قرار گرفتم، بنابراین، تصمیم گرفتم این مجموعه ای را بسازم که در آن در مورد آموخته هایم در برنامه نویسی گرافیک صحبت کنم و امیدوارم بتوانم هر روز بیشتر و بیشتر تصاویر شگفت انگیز و همچنین توضیحاتی را به شما نشان دهم. آموخته های من همانطور که ادامه می دهم