[گابریل گامبتا] چند چیز در مورد ردیابهای پرتو میداند، زیرا نویسنده Tiny Raytracer است، یک ردیاب پرتو که تنها در ۹۱۲ بایت جاوا اسکریپت نوشته شده است. به عنوان یک مدت طولانی همکار مبتلا به ZX Spectrum طراحی شده در انگلستان، آیا می توان این دو رابطه عاشقانه را با هم ادغام کرد؟ آیا Tiny Raytracer می تواند روی ZX Spectrum قرار بگیرد؟ در بیسیک؟ پاسخ این است مثبت، البته با محدودیت های فراوان گونه محبوب ما.
داستان با [جبرئیل] شروع می شود الگوریتمهای raytracer گرافیک کامپیوتری از ابتدا (CGFS). و یک پایه کد موجود که با استفاده از VSCode برای ویرایش به گویش بسیار محدود BASIC ZX Spectrum منتقل شده است. BAS2TAP برای تولید یک فایل تصویر نواری (در اصل یک آهنگ صوتی) و اجرا با FUSE. با مرتبسازی زنجیره ابزار، [گابریل] کد کافی برای مقابله با معادلات تقاطع پرتوهای یک کره را اضافه میکند و یک صحنه سه کره را به یک تصویر رنگی 32×22 پیکسل تبدیل میکند که تنها 15 دقیقه زمان اجرا میگیرد. هموطنان مبتلا به یاد خواهند داشت که طیف دارای یک آرایه مشخصه بلوک 32×22 (یا آرایه رنگی) با دو مقدار رنگ برای پیکسل های پیش زمینه و پس زمینه بود. هر بلوک مشخصه حاوی 8×8 پیکسل است که هر کدام میتوانند پیشزمینه (روشن) یا پسزمینه (خاموش) باشند. مرحله بعدی گسترش کد برای کنترل پیکسلها و همچنین بلوکها بود، به سادگی با گسترش raytracing به 256 کامل. وضوح 176 ×، و برای هر بلوک به سادگی دو رنگ رایج را تعیین کنید و با رنگهای کل بلوک اجرا کنید. این یک جورهایی کار میکند، به شکلی کاملاً طیفی که «برخورد ویژگیها» است.
اما اکنون زمان اجرا 17 ساعت است! در مرحله بعد، یک نقطه تغییر عملکرد، با استفاده از چند هک BASIC طیفی، و برخی تقریبهای گرافیکی مانند ریختن پرتوها برای هر پیکسل گوشه بلوک، و اگر یکسان هستند، همه 60 پیکسل باقیمانده را یکسان رنگکرده کنید و ادامه دهید. . این تلاش زمان اجرا را به دو ساعت کاهش داد.
سپس [گابریل] شجاعانه مدل نورپردازی مسطح را کنار میگذارد، یک منبع نور را مدل میکند و تنها ترفند باقیمانده در دنیای طیف تک رنگ، یعنی تغییر مقادیر شدت برای هر بلوک، را با استفاده از یک روش ساده بیرون میکشد. الگوی دیدر 8×8، این خیلی بد به نظر نمی رسد، همه چیز در نظر گرفته شود. توقفی سریع در راه تکمیل، به سایه ها را اضافه کنید و زمان اجرا به 17 ساعت برگشته است، اما ارزشش را دارد. واضح است که این برای یک نوع صحنه بهینه شده است، صحنهای که در آن کرهها عمدتاً مشخص میشوند، اما اصول وجود دارد، و مکعبها فقط چند خط کد بیشتر با شما فاصله دارند. هر گیرنده ای؟
Raytracing یکی از آن کارهای سرگرم کننده اما پیچیده است که مردم دوست دارند آن را در سخت افزار نامناسب قرار دهند. مانند این ماشین حساب نموداری TI-84Plus CEو اگر دسترسی به آن کمی سخت است، اینجا چیزی به همان اندازه دیوانه کننده است در حال اجرا در اکسل قدیمی.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://hackaday.com/2024/01/26/a-zx-spectrum-raytracer-in-basic/
- :است
- :جایی که
- 1
- ٪۱۰۰
- 17
- 400
- 60
- a
- درباره ما
- دسترسی
- می افزاید:
- امور
- معرفی
- an
- و
- پاسخ
- هر
- هستند
- صف
- AS
- سمعی
- نویسنده
- دور
- به عقب
- زمینه
- بد
- پایه
- اساسی
- BE
- بودن
- محبوب
- بیت
- مسدود کردن
- بلاک ها
- اما
- by
- ریخته گری
- به وضوح
- رمز
- پایه کد
- مشترک
- اتمام
- پیچیده
- در نظر گرفته
- شامل
- گوشه
- میتوانست
- مقدار
- مشخص کردن
- خندق
- نمی کند
- هر
- ویرایش
- تلاش
- کافی
- به همان اندازه
- معادلات
- اساسا
- اتر (ETH)
- اجرا شده
- موجود
- گسترش
- گسترش
- روش
- ویژگی
- همکار
- کمی از
- پرونده
- مناسب
- صاف
- برای
- از جانب
- کامل
- سرگرمی
- تولید می کنند
- گرافیک
- هک
- بود
- دسته
- سخت
- سخت افزار
- ساعت ها
- HTML
- HTTPS
- یکسان
- if
- تصویر
- in
- تقاطع
- به
- IT
- جاوا اسکریپت
- تنها
- نوع
- می داند
- سبک
- روشنایی
- محدود شده
- خطوط
- نگاه کنيد
- عشق
- بسیاری
- حداکثر عرض
- تولید گزارشات تاریخی
- دقیقه
- مدل
- مدل
- تک رنگ
- بیش
- اکثر
- متحرک
- خالص
- بعد
- اکنون
- of
- خاموش
- قدیمی
- on
- ONE
- فقط
- بهینه شده
- or
- ما
- خارج
- مردم
- کارایی
- پیکسل
- ساده
- افلاطون
- هوش داده افلاطون
- PlatoData
- غالباً
- اصلی
- از اصول
- کشد
- سریع
- کاملا
- اشعه
- ردیابی اشعه
- کاهش
- باقی مانده
- به یاد داشته باشید
- ارائه
- وضوح
- دویدن
- همان
- صحنه
- خراش
- ساده
- به سادگی
- تنها
- برخی از
- چیزی
- منبع
- طیف
- کره
- Spot
- صحنه
- شروع می شود
- توقف
- داستان
- چنین
- گیرندگان
- مصرف
- نوار
- وظایف
- که
- La
- بلوک
- سپس
- آنجا.
- اینها
- اشیاء
- این
- کسانی که
- زمان
- به
- هم
- ردیابی
- مسیر
- پیچاندن
- دو
- نوع
- با استفاده از
- ارزشها
- بسیار
- بود
- مسیر..
- خوب
- که
- تمام
- ویکیپدیا
- اراده
- با
- با این نسخهها کار
- جهان
- با ارزش
- کتبی
- زفیرنت