PDA

View Full Version : میتونید راجع به یه تابع تو opengl کمک کنید؟



ermia_
جمعه 04 اردیبهشت 1388, 11:34 صبح
سلام دوستان

من دنبال یه تابع تو opengl می کردم که مقیاس اعداد رو تغییر بده.
چون برای صفحه به صورت استاندارد ابعاد 480*640 پیکسل در نظر گرفته میشه، اما opengl با این ابعاد کار نمیکنه. (البته این چیزیه که شنیدم)
میخوام بدونم اون چه دستوریه که تبدیل میکنه به مقیاس مورد نظر؟

من این تابع رو پیدا کردم تو یه برنامه gluOrtho، این همون تابع هستش؟ آخه طرز کارشو متوجه نشدم.
مثلا من با ابعاد 480*640 میتونم شیئی رو که مد نظرهم هست واسه ترسیم تو وسط صفحه قرار بدم، اما با این تابع تبدیل چطور این کار رو بکنم که شکلم بیاد وسط صفحه؟

اصلا gluOrtho تابع مورد نظره یا من اشتباه کردم؟
از دوستان کسی میتونه راهنمایی کنه؟

ممنون

ermia_
شنبه 05 اردیبهشت 1388, 19:00 عصر
جوابو پیدا کردم. بهتر دیدم بگم که اگه یکی سرچ کرد و این تاپیک براش اومد جوابی براش باشه:

همین تابع gluOrtho میتونه این کار رو انجام بده. مثلا اگر ما ابعاد صفحه رو 480*640 در نظر گرفته باشیم . نقاط مورد نظر رو بر اساس پیکسل هایی که گفتم به دست آورده باشیم، برای اینکه درست تو صفحه نمایش نشون داده بشه از تابع بالا استفاده می کنیم به این صورت:


;(gluOrtho2D(minX,maxX,minY,maxY


مثلا من که ابعادمو بالا گفتم به این صورت نوشتم:


;(gluOrtho2D(0,640,0,480


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