PDA

View Full Version : توابع گرافیکی سطح پایین



1485159
یک شنبه 23 خرداد 1389, 09:08 صبح
سلام
من میخوام مثلا بتونم روی یه dc یه چیزی هایی رسم کنم. مثلا پیکسل یا خط و سرعت برام خیلی مهمه. برای همین فکر کنم باید از توابع سطح پایین استفاده کنم ولی نمیدونم از کدوم ها.
ممنون میشم راهنمایی کنید.

hi.alir
یک شنبه 23 خرداد 1389, 11:33 صبح
تا اونجا من اطلاع دارم، OpenGL سریع ترین توابع گرافیکی رو ارائه میده و کاملا سطح پایین هست و ارتباط مستقیم با کارت گرافیکی برقرار میکنه.
البته اگه جوابم بی ربط بود، شرمنده، راستش منظورتون رو از dc نفهمیدم!؟

1485159
یک شنبه 23 خرداد 1389, 12:03 عصر
تا اونجا من اطلاع دارم، OpenGL سریع ترین توابع گرافیکی رو ارائه میده و کاملا سطح پایین هست و ارتباط مستقیم با کارت گرافیکی برقرار میکنه.
البته اگه جوابم بی ربط بود، شرمنده، راستش منظورتون رو از dc نفهمیدم!؟ من میخوام به هیچ گون کتابخانه ای وابسته نباشه! مثلا توابع خود ویندوز که برای رسم هستند چگونه کار میکنن؟ حتما اونا هم از یه چیزی تغذیه میکنن دیگه.
dc هم همون صفحه ای هست که قراره توش رسم کنیم.

hi.alir
یک شنبه 23 خرداد 1389, 12:17 عصر
یه جایی خونده بودم که Windows Seven توابع گرافیکیش با DirectX کار می کنه. ولی نمی دونم چرت گفته بود، یا واقعا اینطوریه.
OpenGL کد باز هست، می تونید برید ببینید، چطور نوشته شده. ولی آخر که چی. می خواید مثلا چی کار کنید؟
البته من هم دوست دارم بدونم چطور میشه بدون واسطه به کارت گرافیک وصل شد. ولی فکر نکنم کاربرد خاصی داشته باشه.

1485159
یک شنبه 23 خرداد 1389, 12:23 عصر
یه جایی خونده بودم که Windows Seven توابع گرافیکیش با DirectX کار می کنه. ولی نمی دونم چرت گفته بود، یا واقعا اینطوریه.
OpenGL کد باز هست، می تونید برید ببینید، چطور نوشته شده. ولی آخر که چی. می خواید مثلا چی کار کنید؟
البته من هم دوست دارم بدونم چطور میشه بدون واسطه به کارت گرافیک وصل شد. ولی فکر نکنم کاربرد خاصی داشته باشه. فکر کنم ویندوز 7 از دایرکت 2d استفاده میکنه.
فکر نکنم که سورس opengl در دسترس باشه! من هم نمیخوام با کارت گرافیک ارتباط برقرار کنم!!! من فقط میخوام یه چنتا چیز رسم کنم ولی با سرعت بسیار زیاد.

sajjadgameactor
یک شنبه 23 خرداد 1389, 14:12 عصر
توی چه محیطی win 32 یا console

1485159
یک شنبه 23 خرداد 1389, 14:14 عصر
در محیط ویندوز

hi.alir
یک شنبه 23 خرداد 1389, 19:40 عصر
با توجه به تالار های دلفی:

من میگم رندرگر نرم افزاری میخوام بنویسم، شما میگی با opengl کار کن؟! در ضمن اگه قرار بود که از Canvas استفاده کنم که دیگه تاپیک نمیزدم!
OpenGL به علاوه ی اینکه قادر به رندر های سخت افزاری هست، قادر به رندر های نرم افزاری هم هست.

1485159
یک شنبه 23 خرداد 1389, 19:56 عصر
من با opengl و.. کاری ندارم!! من میخوام خودم بنویسم!

hi.alir
یک شنبه 23 خرداد 1389, 20:23 عصر
از اینجا (http://www.opengl.org/resources/libraries/glut/) میتونی سورس OpenGL رو دانلود کنی.

1485159
یک شنبه 23 خرداد 1389, 21:37 عصر
الله اکبر... برادر من، من میگم که با Opengl کاری ندارم و شما هی میگی opengl.....
من نمیخوام که با کارت گرافیک کار کنم!!! من میخوام که با سیپییو کار کنم.

hi.alir
یک شنبه 23 خرداد 1389, 22:19 عصر
من سورس OpenGL رو گزاشتم که ببینی چطور اینکار رو انجام بدی.
همون طور هم که گفتم با OpenGL و Direct3D مجبور به استفاده از کارت گرافیکی نیستی و میتونی این کار رو به طور کامل ( از نمایش صرف نظر کرده ) به CPU واگذار کنی.
اونجوریی که شما میخوای کار کنی، من اطلاعاتی ندارم، ولی تا اونجا که من فهمیدم +GDI (http://msdn.microsoft.com/en-us/library/ms533798(v=VS.85).aspx) کارت رو راه میندازه.
دیگه خود دانی با دیگران.

1485159
یک شنبه 23 خرداد 1389, 22:31 عصر
اونجوریی که شما میخوای کار کنی، من اطلاعاتی ندارم، ولی تا اونجا که من فهمیدم +GDI (http://msdn.microsoft.com/en-us/library/ms533798%28v=VS.85%29.aspx) کارت رو راه میندازه.
ولی به gdi+ هم نیاز ندارم! حتی رسم پیکسل هم برام کافیه! ولی با سرعت بالا.

hi.alir
یک شنبه 23 خرداد 1389, 22:46 عصر
مثلا میخوای پیکسل 339*1011 رو، روی مونیتور رنگش رو تغییر بدی؟

1485159
یک شنبه 23 خرداد 1389, 22:49 عصر
مثلا میخوای پیکسل 339*1011 رو، روی مونیتور رنگش رو تغییر بدی؟
آره هم اینو میخوام و هم اینکه این عمل رو روی هر پنجره ای که هندلش رو دارم.

hi.alir
یک شنبه 23 خرداد 1389, 22:53 عصر
تا اونجا که من بلدم باید از توابع GetPixel (http://msdn.microsoft.com/en-us/library/dd144909(VS.85).aspx) و SetPixel (http://msdn.microsoft.com/en-us/library/dd145078(VS.85).aspx) استفاده کنی.

1485159
یک شنبه 23 خرداد 1389, 23:06 عصر
تا اونجا که من بلدم باید از توابع GetPixel (http://msdn.microsoft.com/en-us/library/dd144909%28VS.85%29.aspx) و SetPixel (http://msdn.microsoft.com/en-us/library/dd145078%28VS.85%29.aspx) استفاده کنی.
اینها سرعتشون کمه!

hi.alir
یک شنبه 23 خرداد 1389, 23:12 عصر
در مورد سرعت خودت تست کن، ببین کمه یا خوبه.
به قول بچه های تالار دلفی، اصلا معلوم نیست داری چی کار می کنی.
اگه بگی میخوای چی کار کنی، خیلی بهتر میشه راهنماییت کرد.

1485159
یک شنبه 23 خرداد 1389, 23:20 عصر
در مورد سرعت خودت تست کن، ببین کمه یا خوبه.
به قول بچه های تالار دلفی، اصلا معلوم نیست داری چی کار می کنی.
اگه بگی میخوای چی کار کنی، خیلی بهتر میشه راهنماییت کرد.
http://barnamenevis.org/forum/showthread.php?p=1012338#post1012338

hi.alir
یک شنبه 23 خرداد 1389, 23:21 عصر
لینک اشتباه دادی :لبخند:
نمی خواد لینک بدی، خودم اونجا رو میخونم.

1485159
یک شنبه 23 خرداد 1389, 23:33 عصر
لینک اشتباه دادی :لبخند:
کجاش اشتباهه؟

hi.alir
یک شنبه 23 خرداد 1389, 23:41 عصر
اها. از اون نظر.... بگذریم حالا
همونجا جوابت رو میدم.

1485159
دوشنبه 24 خرداد 1389, 11:20 صبح
من هنوز جوابی نگرفتم ها!!