Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> اصول اولیه در طراحی بازیهای کامپیوتری -> آشنایی با موتور های گرافیک ( کلی و مفید برای همه )
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه 1, 2  بعدي

آشنایی با موتور های گرافیک ( کلی و
نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


شنبه 30 شهريور 1387 - 20:32
پاسخ بصورت نقل قول
سلام

این اواخر بد وضعی پیش اومده / از یه طرف بروبچ سایت میزنیم تو سرو کله همدیگه از یه طرف هم سایت های دیگه دارن میرن جلو و داریم عقب میمونیم /


کمی می خوام وارد جزئیات موتور گرافیک بشم و مسئله رو علمی ! بشکافم که بچه ها بیشتر متوجه حساسیت های ما بشن ...

- موتور گرافیک : مطمئنن به صورت کلی آشنا هستید / کمی جزئیات :
میشه گفت موتور گرافیک 3 قسمت مهم داره :
ResourceManager ( مدیر منابع ) : هر آنچه که شما میبینید ( احیانا بعضیاش هم نمیبینید ! ) در اختیار این مدیر هستش - در حین ترسیمها و روند برنامه اتفاقاتی میوفته که گاهی نیاز هست این مدیر عزیز! فرزندانش رو از حافظه ( Ram یا حافظه گرافیک ) پاک کنه - یکی از این مواقع رو بهش میگن Device Lost که فقط برای DirectX اتفاق میوفته و OpenGL این مشکل رو نداره ( Direct3D 10 هم دیگه Device Lost نداره ) - Device Lost وقتی اتفاق میوفته که پنجره بازی اندازش تغییر کنه یا توی حالت fullscreen خود شما alt-tab بزنید و یا پنل laptop رو ببندید ...
====================
SceneManager ( مدیر صحنه ) : هر انچه که شما میبینید در اختیار این مدیر هست / نحوه رندر / ترتیب رندر به عهده این مدیر هستش / این مدیر نقش خیلی مهمی توی سرعت موتور داره / بحثی که جناب سید ( اخگر ) توی همایش ارائه دادن ( Rendering performance ) میشه گفت 90 درصد به این مدیر بستگی داره ...
الگوریتم هایی که برای ساختن این مدیر هستن خیلی زیادن : Octree / Quadtree / Kidtree / BSP **(( نیاز به تکمیل هست ))** / اکثر این الگوریتم ها به نحوی سعی میکنن اشیایی که در دید دوربین نیستن رو از حلقه رندر حذف کنن تا به این ترتیب از رندر های اضافی جلوگیری بشه

====================
RenderSystem ( ترسیمگر ) : مجموعه عملیاتهای ترسیمی ، اجرای shader ها و عملیاتهای گرافیکی توسط ترسیمگر انجام میشه ، این قسمت همون جایی از موتور هست که مستقیما از API های DirectX یا OpenGL استفاده میکنه :
موتورهایی مثل OGRE یا Irrlitch یا کوچول (KGE) که CrossAPI هستن ( یعنی به انتخاب کاربر میتونن از DirectX یا OpenGL استفاده کنن ) به خاطر اجباری که در طراحی کلاس هاشون دارن کندتر از حالت معمولی عمل میکنن / البته این جزء جدایی ناپذیز از OpenSource هست و تولید ویرایش های مختلف برای موتور هزینه زیادی در بر خواهد شد / بنابراین موتورهای تجاری مثل unreal مستقیما از هر دو API یا چند سیستم عامل پشتیبانی نمیکنن ( البته به نسبت خودش محدودیت هایی از جهاتی دیگه دارن )

====================

تا اینجا بحث یکم خشک بود / میخوام چند تا از effect ها و امکاناتی که موتور ها در اختیار ما قرار میدن رو معرفی کنم :

HDR ( High Dynamic Rang ) Lighting : از اون افکتهایی که خلایق باهاش حال میکنن !
بر خلاف علاقه ای که میدونم همه به این نورپردازی دارن ، اکثرا هم نمیدونن چیه / یکم مقدمه :
تا معرفی D3D9 تمامی تکسچرها به صورت Integer پر میشدن ، یعنی اعداد مربوط به رنگ هر پیکسل با عدد طبیعی ( و حداکثر تا 255 ) پر میشد ( Integer Point Textures ) ، بعد از D3D9 نوعی فرمت جدید برای تکسچرها معرفی شد که به جای عدد طبیعی این قابلیت رو داشتن که عدد های اعشاری رو داشته باشن ( Floating Point Textures ) ، به این ترتیب به محدودیت ها برداشته شد و افکتهای جدید هم متولد شدن /
نور پردازی که تا زمان قبل از Floating Point بود ، محدود به 0 تا 255 بود و بعد از اون امکان نورپردازی به شکل های جدید فراهم شد /

====
تا اینجا مقدمه کلی بود /
HDR : حتما براتون اتفاق افتاده که وقتی از یه اتاق تاریک ناگهان به یه اتاق روشن میرید ، چشماتون همه چیزو سفید می بینه ( به سرع مردمک چشم شما تنگ میشه تا نور کمتری وارد چشم بشه ) و بلعکس وقتی از اتاق روشن به یه جای تاریک میرید چند دقیقه طول میکشه تا بتونید ببینید و اوایل همه جا تاریکه تا کم کم میتونید ببینید ،
HDR Lighting همین موضوع رو توی بازی ها شبیه سازی میکنه /
نکات :
- این effect به زمان بستگی داره ، عملا نشون دادن اون با یک عکس اشتباه هست و از طریق عکس نمیشه تشخیصش داد
- باز و بسته شدن مردمک چشم به صورت طبیعی مدت زیادی می بره ، توی بازی ها این مدت رو کوتاه می کنن
- سختی تولید این effect : تولید افکت کار سختیه ! حد اقل برای اولین بار واقعا کار مشکلیه و نکات زیادی داره ، اما وقتی به یه موتور اضافه بشه ، عملا کار خودش رو کنار بقیه انجام میده و دیگه نیازی به تغییر نداره
- هزینه برای موتور : تقریبا سنگین ، این effect نیاز به تعدادی PostProcess داره که به بعضی از کارت گرافیک های قدیمی فشار میاره ...
- افکت کلی هست و به صحنه اضافه میشه ، ربطی به پیچیدگی object های صحنه نداره


=====
Bloom :
درخشش در قسمت های نورانی صحنه هست ، این effect معمولا با HDR اشتباه گرفته میشه / امید وارم دیگه فرقشون مشخص بشه

نکات :
- این افکت معمولا همراه با HDR به موتور اضافه میشه و ( 3 یا بیشتر ) Pass به اون اضافه میکنه
- تولید افکت کار سختی نیست ...
- افکت کلی هست و به صحنه اضافه میشه ، ربطی به پیچیدگی object های صحنه نداره


(( توضیح تکمیلی : هر بار که مجبور باشیم توی تولید یک افکت ، صحنه یا آبجکتی رو به صورت خاصی رندر کنیم ، به این عمل رندر میگن Pass که تماما هم با shader ها انجام میشه ))


=====
Depth of field ( فوکوس ) :
انگشتتون رو نزدیک به چشمتون بگیرید ، سعی کنید یه بار به انگشتتون نگاه کنید و یک بار هم به منظره پشت جلو چشمتون ، وقتی شما به یک نقطه نزدیک به چشموتون نگاه کنید ، اشیا دور از شما تار میشن ، و بلعکس ، شبیه سازی این effect توی موتور رو DOF ) Depth Of Field ) میگن
برای انجام این افکت ، یک بار کل صحنه رندر میشه و موقعیت اجسام نگه داشته میشه ، بعد یک بار دیگه رندر انجام میشه و این بار هر جسم بر اساس فاصلش از نقطه focus شده ( focal point ) ، تار میشه
نکات :
- این افکت میتونه با بعضی افکتهای دیگه ترکیب بشه ( مثل shadowmap )
- تولید افکت خیلی سخت نیست ، در عمل مشکلاتی برای کل صحنه ایجاد میشه که
- object ها میتونن توی این effect تاثیر داشته باشن و یه جورایی کل effect ، به object ها مربوطه


بازم خشک شد! به مرور عکس هم اضافه میکنم تا جذاب تر بشه ...

تا همین جا باشه / کم کم به کمک بقیه بچه ها موضوع رو کامل میکنیم /
خوشحال میشیم که سوال داشته باشیم ، نشون میده بچه ها هم دوست دارن سطح سایت بیاد بالا ....

ادیت 1 ) کنجکاو عزیز محبت کردن و چند تا اشکال رو بهم گفتن تا تصحیح کنم

ادیت 2 ) رنگ بندی اضافه شد !

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now


0 بار اين نامه ويرايش شده است كه آخرين بار توسط 1 شنبه 31 شهريور 1387 - 09:40 در 3 بوده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
mehdico
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 2 شنبه 19 بهمن 1383
تعداد ارسالها: 1524
محل سكونت: اهواز


شنبه 30 شهريور 1387 - 22:40
پاسخ بصورت نقل قول
------=

دستت درد نکنه آقا پیمان. چون ماه رمضونه ثوابش دو برابر حساب میشه. Cool

من هم سعی می کنم در حد خودم وارد بحث بشم (انشا ا.. که متخصصین عزیز جسارت بنده رو می بخشند.)

HDR

نقل قول:

HDR : حتما براتون اتفاق افتاده که وقتی از یه اتاق تاریک ناگهان به یه اتاق روشن میرید ، چشماتون همه چیزو سفید می بینه ( به سرع مردمک چشم شما تنگ میشه تا نور کمتری وارد چشم بشه ) و بلعکس وقتی از اتاق روشن به یه جای تاریک میرید چند دقیقه طول میکشه تا بتونید ببینید و اوایل همه جا تاریکه تا کم کم میتونید ببینید ،
HDR Lighting همین موضوع رو توی بازی ها شبیه سازی میکنه /


من فکر می کنم باید بگیم این توضیح حالتشه نه کاربردش.





------=
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
mehdico
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 2 شنبه 19 بهمن 1383
تعداد ارسالها: 1524
محل سكونت: اهواز


شنبه 30 شهريور 1387 - 22:53
پاسخ بصورت نقل قول
-------=

Bloom

نقل قول:

درخشش در قسمت های نورانی صحنه هست ، این effect معمولا با HDR اشتباه گرفته میشه / امید وارم دیگه فرقشون مشخص بشه


البته بنده خداها حق دارن اشتباه بگیرن. تا جایی که من میدونم HDR و Bloom با هم استفاده میشن.




اون نقاط آبی گوشه ی پنجره از تاثیرات بلومه.

-------=
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


شنبه 30 شهريور 1387 - 23:17
پاسخ بصورت نقل قول
با تشکر از آقا مهدی برای عکسها

برای HDR یه سر به این تاپیک هم بزنید :
http://www.persian-designers.com/forum/viewtopic.php?t=4430

دموی آقای رحیمی خیلی خوب HDR رو مشخص میکنه /
دقیقه 1 از دمو که دوربین دور جسم وسط از پشت سطون ها می چرخه ، کاملا مشخصه که نور صحنه وقتی یه سطون کاملا روبه روی دوربین قرار میگیره بیشتر میشه ، همون طور که گفتم توی شبیه سازی های کامپیوتری تغییر اندازه مردمک رو سریع میکنن و توی دموی آقای رحیمی فکر میکنم این عمل آنی انجام بشه / دموهای خود D3D از Light Adaptation با یه فرمول خطی عامل زمان رو بهتر دخالت میدن .

البته بازم تاکید میکنم که HDR از طریق عکس قابل تشخیص نیست و برای همین هم اکثرا با bloom اشتباه میشه ...
نقل قول:

تا جایی که من میدونم HDR و Bloom با هم استفاده میشن

در اکثر موارد همین طوریه / اما الزامی در کار نیست / هر کدوم به تنهایی هم قابل پیاده سازی هستن /
همراه با HDR ، معمولا افکتهای دیگه هم اضافه میشن مثلLight Scattering / Light Shaft / Star / Bloom / Blueshift ، به هر کدوم رو سر موقش اشاره خواهد شد ( برای همشون اجباری برای ترکیب نیست و همگی هم میتونن جدا گانه اضافه بشن ولی زیبایی صحنه وقتی همشون هستن خیلی بیشتر میشه ) ...

ادیت ) blueshift اشتباها blueray نوشته شده بود Embarassed

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now


اين نامه توسط lord_akinak در 1 شنبه 31 شهريور 1387 - 09:44 ويرايش شده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
arashdj71
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 5 شنبه 30 شهريور 1385
تعداد ارسالها: 1347
محل سكونت: ايران-->سرزمين سركوب!


شنبه 30 شهريور 1387 - 23:53
پاسخ بصورت نقل قول
سلام!
استاد پيمان ممنون من خيلي استفاده بردم.
ايكاش اين توضيحاته مفيدتون رو توي جيمگ و يا پادكست هم استفاده ميكرديم.
با تشكر از شما. Rolling Eyes

_________________
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
كنجكاو
مدیر پروژه
مدیر پروژه


تاريخ عضويت: 1 شنبه 29 شهريور 1383
تعداد ارسالها: 180
محل سكونت: نپتون-زمين


1 شنبه 31 شهريور 1387 - 09:53
پاسخ بصورت نقل قول
@lord_akinak:
سلام به روی ماهت... Laughing

نقل قول:
این اواخر بد وضعی پیش اومده / از یه طرف بروبچ سایت میزنیم تو سرو کله همدیگه از یه طرف هم سایت های دیگه دارن میرن جلو و داریم عقب میمونیم /

به رئیس شماره 2 (eta) قول دادم کمتر اسپم بنویسم! اما اینو دیگه باید بگم که شخصا واقعا از شما و آقا مجتبی (iran_adventure) متشکرم، هم بخاطر پشتیبانی شما از حرفی که زدم (در مورد مقالات و بالا بردن سطح سایت) و هم از تمام زحماتی که برای سایت و همین طور اون همایش (شاید دفعه بعد اومدم Wink ) و کلا تمام وقتی که برای سایت و ارتقاء سطح سایت، خودتون و بچه ها میزارید... Surprised

مطالب خوبی بود... در توانایی شما که شکی نداشته و ندارم... اما از نظر اراده و سرعت انجام، غافلگیر شدم... (ضربتی عمل کردید... کلی حال کردم... Very Happy Laughing )

@mehdico:
آقا مهدی از شما هم بخاطر اینکه توی بحث ها شرکت (و همینطور کمک) میکنید واقعا تشکر می کنم... Arrow
نقل قول:
دستت درد نکنه آقا پیمان. چون ماه رمضونه ثوابش دو برابر حساب میشه. Cool

و همچنین در مورد خود شما... Very Happy

نقل قول:
من فکر می کنم باید بگیم این توضیح حالتشه نه کاربردش.

شاید درست متوجه نشده باشم، اما همیشه اول تئوری (توضیح حالت!) درک میشه و بعدی اجرایی میشه (کاربردش)

نقل قول:
نقل قول:
درخشش در قسمت های نورانی صحنه هست ، این effect معمولا با HDR اشتباه گرفته میشه / امید وارم دیگه فرقشون مشخص بشه


البته بنده خداها حق دارن اشتباه بگیرن. تا جایی که من میدونم HDR و Bloom با هم استفاده میشن.

شما یه سطح بالاتر رو دیدید اما باید بگم که باز هم با اصل مطلب فاصله نسبتا زیادی دارید... Embarassed

HDR به تنهایی یک افکت ساده نیست و نمیشه گفت که مثلا HDR با Bloom استفاده میشه... HDR یک مفهوم انتزاعیه و در واقع بالاسر افکتی مثل Bloom قرار میگیره...

چیزی که lord میخوان بفرماین بسختی در قالب لغات میگنجه و من دقیقا میدونم که کاری که ایشون شروع کردن تا چه حد میتونه سخت (و در عین حال شدنی و لذت بخش) باشه... Surprised ...

فرض کنید Dynamic Range ی که دربارش صحبت می کنیم نورهای طبیعی باشه (بعنی دسته ی نورهای مرئی-مثل رنگ ماشین!- و نامرئی-مثل گرمای بدن-) حالا مثلا این High Dynamic Range ی که میگیم رو دسته نورهای مرئی قرار میدیم (high در اینجا یعنی شامل شدن بخش زیادی از یک چیز!... چیز دیگه... چیز!)... این دسته (نورهای مرئی) شد HDR ما! چشم ما انسان ها بیشتر از اونی که به تغییر رنگ ها حساس باشه به تغییر میزان/شدت نور حساسه و اینه که مسئله افکتی مثل HDR رو به چالش میکشه!... (نقطه تلاقی علم فیزیک با گرافیک و برنامه نویسی!)

حالا...! در مقابل HDR مفهومه دیگه ای داریم به نام (LDR (Low Dynamic Range... همه ما میدونیم که چشم انسان در دیدن اجسام بسیار نورانی ناتوانه... حالا اون شیء نورانی میخواد یه لامپ صد باشه (که شما رشته درونش رو وقتی روشنه نمیبینید) یا می خواد خورشید باشه (که دیگه هیچ... توصیه میکنم اصلا بهش نگاه نکنید... Very Happy ) پس تا اینجا شد:

محدوده نور مرئی > محدوده نوری که چشم انسان توان دیدن و تمیز دادن آنرا دارد... Cool

حالا هر چی که محدوده و قدرت نمایش کمتری نسبت به چشم انسان داشته باشه میره جزء دسته LDR ها(با این فرض که چشم انسان مبداء مقایسه است)، مثل مانیتورهای LCD و CRT که الان به وفور در دسترس هستن... چرا بهشون میگیم LDR؟ چون عکس یا تصویر خورشید حالا هرچقدر هم نورانی! در آخره آخره سفیده نه نورانی!... خیره کننده نیست... از خودش گرما متصاعد نمیکنه و حداقل 10 تا دلیله دیگه که تفصیل خفن داره!... مثلا اگه یه شیء رو در مقابل تصویر خورشید که در یک مانیتور به نمایش در اومده قرار بدید افکت Bloom رو نمی بینید! بلکه شیء کامل و سالم خواهد بود! (اصطلاحا هیچ Bleeding ی اتفاق نمیفته Confused ) (به معنای تراوش و نشت نور!!!) (مثل همون تصویر پنجره که خودتون زحمتشو کشیدین Mad )


خوب حالا بعد از این توضیحات بریم سر Shader های خودمون...
گفتم HDR در برنامه نویسی گرافیکی و ساخت بازی، یه مفهوم انتزاعیه... اگه Bloom بکار ببری میتونی بگی که از نور پردازیه HDR بهره بردی... اگه در کنارش ToneMapping هم استفاده کنی بازهم از نورپردازیه HDR استفاده کردی... اگه از LenEffect هایی که آقا پیمان بهشون اشاره کرد هم استفاده کنی باز هم از نور پردازیه HDR استفاده کردی... HDR از چندین و چند افکت تشکیل شده و کاربردهای خاصی هم داره...

نقل قول:
Bloom :
درخشش در قسمت های نورانی صحنه هست ، این effect معمولا با HDR اشتباه گرفته میشه / امید وارم دیگه فرقشون مشخص بشه

من هم همینطور... Surprised

نقل قول:
اون نقاط آبی گوشه ی پنجره از تاثیرات بلومه.

که بهشون میگن Light Bleeds و در کل Light Bleeding (گرامر زبانو دارید Cool Very Happy )


نکته مهمه دیگه ای که میخوام بهش اشاره ای کنم، یه فرق دیگه بین Integer Point Texture های و Floating Point Texture هاست:
بطور عادی Texture ها در هر کانال مقادیری بین 0 تا 255 میگیرن (همونطور که آقا پیمان بطور کامل توضیح دادن) ... دوستانی که با Shader ها کار کردن/میکنن میدونن که در شیدرها هر کانال به طور عادی مقداری (مقدار اعشاری) بین 0.0 تا 1.0 میگیره... هر مقداری که کمتر از صفر بشه (توی محاسبات) به صفر تبدیل میشه و مقداری هم که بیشتر از 1 بشه به خود عدد یعنی 1 تقلیل پیدا میکنه (clip میشه)

اما در Floating Point Texture ها اینطور نیست و مقادیر میتونن بیشتر از 1 باشن... این مورد مخصوصا در Dynamic Cube Map ها (Dynamic Environment Mapping) نمود بسیار زیادی داره... چرا؟ فرض کنید دارید از یه Dynamic Interger Point CubeMap رندر می کنید... صحنه رو از هر شش جهت یک مکعب رندر کردید و حالا اونو به شیئی اختصاص دادید که تنها 30 درصد Reflective ه... و تنها 30 درصد از نور رو منعکس میکنه... حالا اگه در صحنه منبع نوری مثل خورشید داشته باشید، این انعکاس در بیشترین حالتش برابر 30 درصد از بیشترین مقدار روشنایی (یعنی رنگ سفید) خواهد بود و در نتیجه، انعکاس این خورشید شبیه انعکاس ماست میشه!!!... چرا؟ چون حداکثر مقدار قابل قبول در یک Texture معمولی (عدد صحیح) برابر عدد یکه و 30 درصد عدد یک میشه 0.3 روشنایی، که برای نمایش روشنایی شیء نورانی مثل خورشید، اصلا قابل قبول نیست!... البته این مشکل براحتی با استفاده از Texture های اعشاری حل میشه... چرا؟ چون این Texture ها براحتی مقادیر بیشتر از 1 رو در خودشون ذخیره میکنن و مثلا اگه میزان درخشش خورشید عدد 10 باشه!!! بعد از نمایش30 درصد از اون مقدار، درخشش شما در اون قسمت برابر عدد 3 خواهد بود (چون 70 درصد از درخشندگی گرفته/کسر شده) و در نهایت این عدد (3) به هنگام رندر به 1 (روشنترین میزان قابل نمایش توسط مانیتور که همان رنگ سفید می باشد) کاهش یافته و رندر خواهد شد... به این ترتیب یک شیء با مقدار انعکاس 30 درصد براحتی درخشندگی خورشید یا منبع نوری ما را نمایش خواهد داد... (پیمان جان تصویر بیا، عزیز دل... Laughing ) (اگه دمو باشه که دیگه چه بهتر... Wink )
(نمونه اش هم همون تصویر وسطی که آقا مهدی زحمتشو کشیدن...)
طبق ویکی پدیا (که آقا مهدی عکسشو زحمت کشیدن)
تصویر اول مربوط به بازی FarCry بود (افکتی که طبق ویکی ذکر شده Light Bloom هست که احتمالا از ToneMapping هم استفاده شده باشه... بخاطر تفاوت کنتراست تصویر راست و چپ و همینطور تصویر واضح زیر آب!)
تصویر وسط مربوط به Half-Life2: Lost Coast ه که Bloom, ToneMapping و احتمالا FP Texture رو استفاده کرده...!
و تصویر آخر که مربوط به همون بازیه... افکت God Ray رو نشون داده که جزء ساده ترین حالات ترسیم شعاع های نوره... ساده تر از اون افکتیه که در تصویر اول استفاده شده و چیزی نیست بجز یک Plane ساده که Camera Align هست و یه افکت Blending ساده بحساب میاد (اما به هر حال کار خودشو میکنه) و همینطور افکت Faked Light Shafts که در بازیه Devil May Cry 4 استفاده شده و کاری نمیکنه بجز اینکه یک تصویر DownSample شده رو در جهت نور Stark میکنه و با تصویر نهایی Blend میکنه ... افکت های پیشرفته تر برای ترسیم شعاع های نور مثل Light Shaft هایی که در دموی Nalu ی NVIDIA به نمایش در اومد و Volume Fog Shadow Shading که در سری GP Gems (اگه اشتباه نکنم شماره 6) نمایش داده شده... Razz

در هر صورت... در حال حاضر! قویترین مانیتوری که تو بازار هست کنتراستی برابر 20000:1 داره... با SM 3.0 میشه براحتی کنتراستی برابره 65535:1 رو ایجاد/پشتیبانی کرد (یعنی تکسچرهای 32 بیتی) (البته SM 3.0 در تئوری 64bit هم هست!) با SM 4.0 که دیگه هیچی... تکسچر بزن تنگش 128 بیتی، حالشو ببر... Very Happy (البته ترجیح میدم بجای استفاده از OGL یا DX10 کمی صبر کنم تا DX11 رسما بیاد... Laughing )

پس در آخر شد:
محدوده نور مرئی > محدوده نوری که چشم انسان توان دیدن و تمیز دادن آنرا دارد > محدوده/قدرت نمایش مانیتورهای فعلی!

- موفق باشید.

_________________
!Sometimes it is difficult to recognize the difference between worthless glass and priceless diamonds, specially about human beings
None of you humans seem to understand! I'm not logged in here with you! YOU'RE LOGGED IN HERE WITH ME
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


2 شنبه 1 مهر 1387 - 21:32
پاسخ بصورت نقل قول
خوب جمع اساتید هم که جمعه!
اساتید پیش نرید دیگه! چرا که در اون صورت هیشکی هیچی حالیش نمیشه. بذارید ملت(حداقل من!) خوب سوال کنن(کنم).

شروع:

اول یه تعریف از کلمه تکسچر ارائه کنید.

بعدش من از این قضیه Floating point و integer point تنها حدسی که تونستم بزنم این بود که رزولوشن اعداد صحیح کم بوده و اجازه تفکیک در سطح بالا رو نمی داده.

شما بعد از این که تعریف دقیق تکسچر رو گفتید. بگید که این عدد صحیح و اعشاری رزلوشنش چقدره(به بیت) و هر یه عدد برای چه واحدی به کار میره. یعنی این عدد اعشاری به پیکسل اطلاق/الحاق میشه یا به چیز دیگه.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
jonathan
مدیر انجمن
مدیر انجمن


تاريخ عضويت: جمعه 8 ارديبهشت 1385
تعداد ارسالها: 1166
محل سكونت: شيراز


3 شنبه 2 مهر 1387 - 16:49
پاسخ بصورت نقل قول
بچه ها ممنون از بحث خوبي كه شروع كرديد . راستش هنوز فرصت نشده اين page رو كلا بخونم Very Happy ولي تونستم يك چيزاييش رو بخونم ...عالي ه.... به هر حال ادامه بديد

ممنون .

_________________
Then you came right in
tearing out my soul
tearing out my soul
tearing out my soul
tearing out my soul
tearing out my soul
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 5 مهر 1387 - 20:06
پاسخ بصورت نقل قول
پس کجا رفتین؟

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


شنبه 6 مهر 1387 - 11:05
پاسخ بصورت نقل قول
بحث نهایی در مورد HDR ( مراحل بدست آوردن effect ) :
1 - رندر کردن صحنه در یک تکسچر Floating Point : بنابه نور پردازی که دلتوی بخواد ( Phong , Diffuse , Ambient occlude و یا هر چیزی ) صحنه رو در یک تکسچر Floating Point رندر می کنید.
2 - محاسبه Luminance ( درخشش ) صحنه : یک عملیات بازگشتی به شکل Post process ، کل صحنه توی یک تکسچر downscale میشه تا به یه تکسچر 1x1 برسیم ،( با ترکیب رنگ پیکسل های تکسچر های بزرگتر به کوچکتر )
3 - tonemapping : تغییر مقادیر HDR تکسچر Floating point به مقادیر LDR برای استفاده در Backbuffer که Integer Point هستش

در این بین میشه اگر Bloom و LenEffect هم خواسته باشیم میتونیم انجامشون بدیم ...
این عکس از DX SDK هست :


نقل قول:
اول یه تعریف از کلمه تکسچر ارائه کنید.

مطمئنن خودت میدونی چیه ولی هدفت از پرسیدنش فکر میکنم اینه که کسی که تازه کاره متوجه بشه ... باید بگم قصد تاپیک این نیست که در اون حد پایین بره ، عملا کسی که با اصطلاحاتی مثل این مشکل داره باید از سطح پایین تری شروع کنه ...

نقل قول:

بعدش من از این قضیه Floating point و integer point تنها حدسی که تونستم بزنم این بود که رزولوشن اعداد صحیح کم بوده و اجازه تفکیک در سطح بالا رو نمی داده.

در مورد اینها بهترین توضیح رو کنجکاو عزیز ارائه دادن / به نشون دادن همین 2 عکس از DX SDK اکتفا می کنم ( تصویری از Dynamic Environment Mapping در دو حالت Floating Point و Integer Point ) برای توضیح کامل به پست قبلی کنجکاو عزیز مراجعه کنید ...


ادیت ) لینک عکس ها اضافه شد Very Happy Smile

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now


اين نامه توسط lord_akinak در شنبه 6 مهر 1387 - 23:22 ويرايش شده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 1 از 2 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه 1, 2  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |