تور لحظه آخری
امروز : پنجشنبه ، 6 اردیبهشت 1403    احادیث و روایات:  امام علی (ع): فضاى هر ظرفى در اثر محتواى خود تنگ‏تر مى‏شود مگر ظرف دانش كه با تحصيل علوم، فضاى آن...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر کاتالیزور

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

تعمیرات مک بوک

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

 






آمار وبسایت

 تعداد کل بازدیدها : 1797841967




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

حل مشکلات پردازشی در استفاده از معادلات واقعی نور -


واضح آرشیو وب فارسی:سایت ریسک: حل مشکلات پردازشی در استفاده از معادلات واقعی نور Mahdi_Rashed 11 خرداد 1389, 12:38هـــــــــــی . دیشب بلاخره بعد از کلی زحمت تونستم بخشی از GI رو که پدیده ی بازتاب نور از سطح هست رو طوری برنامه نویسی کنم که با سیستمهای معمولی قابل پردازش باشه . حالا چرا این پست رو زدم ؟ چون اولین باز که برای ساخت GI real time اقدام کردم به جای استفاده از متدهای رایج موتورهای طراحی بازی اومدم از معادلات واقعی نور استفاده کردم . معادلاتی که توی راهنمای نرم افزار و پلاگین Maxwell و Vray و چند تا راهنمای دیگه استفاده کردم . این معادلات شامل پدیده ی تابش از منبع نوری و برخورد و مداخله و تفکیک نوری بود . معادلات نوری در این حالت دارای ضرب 3 زیگما با توان n و بازه 0 تا بینهایت هستن . یعنی اگه عدد نوری که بسته های انرژی نور با فوتون رو تشکیل میدن بره بالای 1000000000 دیگه مصیبتی پیش میاد که نگو . اول اینطوری برنامه نویسی کردم و دیدم روی سیستم چهار هسته 9000 سرعت fps رسید به 12 تا 16 و حجم پردازش CPU و GPU از حد مجاز برای نور بالاتر رفت و 90 درصد و بعضی وقتا بیشتر رو پر کرد . پس عاقلانه نبود استفاده از این سیستم نوری چون نیازمند یک ابر رایانه بود برای محاسبه هر فریم . اما برای حل این چه کار کنیم ؟؟؟ نمیدونم :-? برای حلش من از راه شاید ابتکاری خودم استفاده کردم . اول اومدم مقیاس واحد و انرژی فوتون جدیدی رو تعریف کردم که مقدار او خیلی کمتر از حالت معمولی بود . همچنین به جای عدد بینهایت در بازه ی معادله 1000 واحد بیشتر از بیشترین انرژی قابل محاسبه موتور طراحی بازی در نظر گرفتم . چرا ؟ چون اول 800 واحد بوبرنامه نویسی د و موتور باگ میداد و احتمالاً به علت پردازش های تصادفی بود . بعد از این واحدی که برای انرژی فوتون تعریف کردم رو با انرژی و واحد اصلی فوتون نوری هماهنگ کردم . میدونید چطوری ؟ ها ها ها نمیگم چون من برای واحد خودم یک ظریب محابسه داشتم یک Unit Convertor متن باز رو یک کم تغییر دادم تا ضریب انرژی خودم و واحد اصلی بهش اضافه بشه بعد کار هماهنگ کردن رو شروع کردم . مثلاً برای هر 10000 فوتون 0.1 فوتون در نظر گرفته بهش ولی انرژی نوری اون و شرت تابش فرقی نکنه ( مثلاً ) . حالا با جایگزینی مقدار جدید به جای مقدار اصلی بازه ها خیلی کم میشه . یک کار دیگه هم که مهمه مقدار نهایی و تعداد اعشار هست . اعداد اعشای بیشتر از 3 واحد لازم نیست تا محاسبه بشن چون وقتی 2 عدد اول اعشار محاسبه بشن شما 89 درصد به جواب و دقت اصی نزدیک میشین . حالا 3 تا هم باشه مشکلی پیش نمیاد ولی 4 تا که بشه 25 درصد به صورت خیلی غیر طبیعی به باز پردازشی اضافه میشه . اما برای تبدیل مقدار و ضریب اصلی به ضریب جدید باید چند خط که نه یه عالمه خط برنامه نویسی بشه . مال من 1700 خط مفید شد . چون باید یک سیستم پایه نور با ضریب جدید برنامه نویسی بشه . این برنامه در قالب C# Advanced حجم زیادی نداره و روی پردازش اثر محسوسی نمیذاره . مدل آماده هم هست که میتونید توی DirectX SDK پیدا کنید یا به طور مستقیم از سایت XNA Game Studio دانلود کنید . حالا برای جایگزینی یک همچین معادلات نوری در بازی قاعدتاً نباید مشکلی داشته باشید . نه مشکل از قبیل باگ شناسایی متد برنامه نویسی نه مشکل از قبیل بار پردازشی . خودتون امتحان کنید و اگه مشکلی داشتید همینجا بگین اینم تست موتور من و دستانم هست که اسمش Main Core Game Engine هست . 70 درصد برنامه نویسی اون با متدهای جدید و شخصی هست و نسخه ی اصلی اون شهریور ماه کامل میشه . این کلیپ 16 ثانیه هست با حجم 4 مگ . البته یک سوتی هم دادیم که خورشید هست . اون عکسه و اصلاً جالب نشده . بنابراین از توجه به خورشید خودداری کنید . سیستم نوری داخل این تست دقیقاً به روشی که گفته شد برنامه نویسی شده ولی هنوز تستیه و خیلی کار داره . دانلود تست موتور طراحی بازی Main Core () لینک مستقیه . میتونید با راست کلیک دانلودش کنید یا این که اگه Quick Time player رو دارید توی مرورگر ببینید . ممنون . موفق باشید همگان :rose: Ultra 3D 11 خرداد 1389, 14:45ایول بابا قدم بزرگی ورداشتی ... امیدوارم موفق باشی با چه زبان برنامه نویسی کار کردی؟ با ++c ...؟ Mahdi_Rashed 11 خرداد 1389, 14:57کل موتور با زبان C# Advanced xنوشته شده ali_tavanaie 14 خرداد 1389, 20:05سلام شما از مدل فوتونی استفاده می کنید یا موجی؟ Mahdi_Rashed 14 خرداد 1389, 20:17Photon و caustic که البته caustic در این تست دیده نمیشه و برنامه نویسی و معادلاتش هم فرق داره MAXBAZ 14 خرداد 1389, 20:36آقا مهدی دست ما رو هم بگیر !!! ما که برنامه نویسی بلد نیستیم چطور میتونیم همچین کارایی بکنیم !؟ ali_tavanaie 14 خرداد 1389, 22:52بعد یک سوال دیگه (ببخشید اگر زیاد سوال می کنم) شما برای این تحلیل ها از یک سری فرمول های سه بعدی از پیش تعیین شده استفاده می کنید و یا از پایه همه چیز طراحی شدند؟ Gi شما شامل چه مشخصاتی میشه؟ glossiness , IOR,refracion,difuse reflection,refraction ، کدوم از این ها رو داره؟ ببخشید اگر سوال می کنم ، چون بنده هم کار نور می کنم و می خوام از قابلیت های نرم افزارهایی که بشه باهاشون چنین کارهایی کرد آگاه شم. Mahdi_Rashed 14 خرداد 1389, 23:38کلیه ی معادلات مربوط به نور از منابع معتبر و کتابهای مختلف و بخشهایی از فرمولها که مربوط میشه به کار در موتور بازی از مقاله های موجود در سایتهای ATI , nVIDIA,Crytek و ... استفاده شده . GI در موتور طراحی Main Core فعلاً چون کار موتور تموم نشده تستی هست ولی برای فاز اول همه ی جزییات که گفتین در موتور قرار خواهد گرفت البته این پروسه زمان بری هست و ممکنه در نسخه ی اول GI کاملی در موتور نباشه . این که میگم زمانبر به دلیل نیروی کار ما هست که 4 نفریم . شما 2000 تا سوال بپرس من خیلی هم خوشحال میشم جواب بدم ali_tavanaie 15 خرداد 1389, 12:27ok! حالا که گفتی من هم پر رو بازی در میارم و می پرسم. مثلاً ببین وقتی یک بسته فوتون به یک سطح با glossiness زیر 1 می خوره ، بعد اون بسته رو به چند بسته تقسیم می کنی و بعد به هر بسته متناسب با زاویه خروجیش یک درصدی از انرژی بسته اولیه رو می دی ، یا اینکه برای این قضیه هم فرمول داری؟ زمانی که یک نقطه با نور difuse خاصی داری ، نوری که از اون نقطه ساطع می شه رو با چه قائده ای پخش می کنی؟ Mahdi_Rashed 15 خرداد 1389, 12:50بطور کلی برخورد فوتون با سطحی که ظزیب جذاب و براقی اون زیر یک هست باید نظیر اجسام سیاه عمل کنه . ولی اینجا کمی جذب میشه و بقیه به صورت bouncing light بازتاب میشه . البته توجه داشته باش که ایسن سیستم نوری برای بازی هست و اجرای این حجم از محاسبات از طریق فرمول غیر ممکن میشه و باید اونا رو با شیدر بنویسیم . زمانی که یک نقطه با نور difuse خاصی داری ، نوری که از اون نقطه ساطع می شه رو با چه قائده ای پخش می کنی؟ البته لازم به ذکر هست که موتور Vray ننوشتم . این کار رو اگر انجام بدم دیه ی CPU و GPU من و مردم رو کی میده :) توی کل سیستم GI و Bouncing light اگر سطح دارای تکسچر x-normal باشه بخشهایی شبیه SSAO و شارش نوری انجام پذبره . در این صورت میتونیم Caustic هم برای تعریف کنیم . ولی همین کاستیک خیلی حجم پردازشی رو بالا میبره مخصوصاً اگر رئال تایم باشه . چیزی که شما میگی عین حقیقت پخش نوره . برخورد نور با یک شکاف خیلی کوچک روی یک تیکه چوب براق مثلاً مسیر جدیدی رو برای نور تعریف میکنه . ولی اینا رو نمیشه برای بازی پیاده کرد . چون حجم پردازشی رو خیلی بالا میبره . یک کتابی هست به نام Digital lighting & rendering که خیلی از پدیده های نوری رو توی محیط 3بعدی به طور کامل توضیح داده . البته من همه کتاب رو نخوندم . ali_tavanaie 15 خرداد 1389, 14:41دلیل این که می بینی انقدر حساسم به این خاطره که من هم دوست دارم یک نرم افزار تحلیل نور به صورت فیزیکی و real بسازم و دوست داشتم بدونم شما تا کجا تونستید پیش برید. Mahdi_Rashed 15 خرداد 1389, 15:23نرم افزار تحلیل نور خیلی باید کار سختی باشه و البته چون فقط تحلیل نور هست و شبیه بازی چیزای دیگه نداره ممکن میشه . احتمالاً باید همه ی فرمولها و قوانین نوری رو پیدا کنید و با الگوریتم و مقدار و ضریب و ... به هم ربطشون بدبد . سیستمی که ما نوشتیم برای بازی ساخته شده . با اینکه میتونه به قوانین واقعی نزدیک باشه ولی واقعی واقعی نیست در حدی که بشه نور رو تحلیل کرد . ولی کار شما ممکنه . چون بحث فقط نور در محیط رئالتایم و مثل بازی چیزاهای دیگه از قبیل ai نداره که باعث درگیر شدن و زیاد شدن حجم پروسس بشه . سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 360]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن