PDA

View Full Version : Attenuation



روانشناس
دوشنبه 01 فروردین 1384, 20:29 عصر
لطفا یکی در مورد Attenuation یا میرایی نور در DirectX یه توضیحی بده. ممنون

سپول
سه شنبه 13 اردیبهشت 1384, 12:57 عصر
attenuation کم شدن شدت نور هست بر اثر زیاد شدن فاصله.
توی direct3D سه نوع attenuation می تونی تعریف که هیچ چیز یک سری فاکتور برای فرمول زیر نیست:
Atten = 1/( att0 + att1 * d + att2 * d2)

مقدار att0, att1, att2 در D3DLIGHT9 تعیین می شوند و مقدار پیش فرض 0 دارند. d هم فاصله هر vertex از منبع نور هست.
مقداری که معمولا استفاده می شه att0 = 0, att1 = 1, att2 = 0 که attenuation اصلی میشه 1/d . بدون attenuation نور شما در Range خودش همیشه بیشترین تابش رو داره و هیچ وقت در فاصله نورش کم نمی شه که این مورد زیاد با واقعیت جور در نمی آد.
البته همه اینها در DirectX SDK هست و من فقط همونارو گفتم !