1 / 5

Gamming with Qt

Gamming with Qt. OpenGL. OpenGl به معنای گرافیک سریع ؟ در GPU های قابل برنامه ریزی جدید می توان از OpenGl , Direct3D, OpenCl استفاده کرد. دلیل استفاده از OpenGl : در دسترس بودن در اکثر platform ها امکان دسترسی به تمام امکانات مورد نیاز در GPU را در اختیار ما می گذارد.

niel
Download Presentation

Gamming with Qt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gamming with Qt

  2. OpenGL • OpenGlبه معنای گرافیک سریع ؟ • در GPU های قابل برنامه ریزی جدید می توان از OpenGl, Direct3D, OpenCl استفاده کرد. • دلیل استفاده از OpenGl: • در دسترس بودن در اکثر platform ها • امکان دسترسی به تمام امکانات مورد نیاز در GPU را در اختیار ما می گذارد. • و با استفاده از ابزار هایی که به صورت extension ها عرضه می شود می توان به امکاناتی که در اختیار ما نمی گذارد نیز دست یافت. • Qt از زمان نسخه 4 دارای موتور گرافیکیOpenGl می باشد.

  3. OpenGL (ES) 2 • API ای است که GPU های قابل برنامه ریزی را مدل می کند. • یعنی شما برنامه های کوچکی به نام shaders می نویسید و از OpenGL می خواهید آنها را کامپایلو روی GPU اجرا کند. • دو نوع shader وجود دارد: • برای پردازش موقعیت ها(vertices) • برای پردازش پیکسل ها(fragments) • در اصل به OpenGl می گوییم می خواهیم تعدادی مثلث و مستطیل بکشیم و با استفاده از پردازش موقعیت، موقعیت هر کدام را تعیین می کنیم. • سپس GPUپیکسل های مربوط به هرکدام از مثلث ها را ایجاد کرده و پردازش پیکسل رنگ هر کدام را مشخص می کند. • API راه های متفاوتی برای ارسال اطلاعات میان CPU و GPU فراهم می کند.

  4. QPainter • این کلاس فرایندی بسیار بهینه شده برای بیشتر نیاز های نقاشی در برنامه های GUI فراهم می آورد. • از کشیدن ساده ترین مانند خط و نقطه تا کمان و مسیرهای پیچیده. • شی این کلاس نقاشی را با دستور begin شروع کرده و با end پایان می یابد. • قابلیت تنظیم font، استفاده از texture، gradiant و ... را نیز دارد. • قابلیت انتقال سه بعدی را دارد تا به اشیا شکل پرسپکتیو بدهد. • با استفاده از backend های مناسب و استفاده ترکیبی از نرم و سخت افزار بهترین عملکرد را پشتیبانی می کند. • Backends: • Raster: rendering in pure software, like rendering QImages • OpenGL 2.0(ES) : primary backend for hardware accelerationed graphics. • OpenVG: for standard 2D and Vector graphics.

  5. QPainter -> OpenGL • برای فعال کردن موتور OpenGL کافی است از Qpainter برروی QGLWidgetاسفاده کنیم. • امکاناتی که Qpainter در اختیار می گذارد و نیاز توسط موتور OpenGL پیاده سازی شود: • Simple primitives (Rectangles, convex, polygons, ellipses, etc.) • Text • Pixmap • Strokes • Complex vector path (QPainterPath) • و هم چنین امکانات رنگ آمیزی با QBrush • Solid Color • Linear gradients • Radial gradients • Bitmap patterns • Textures • همچنین امکان انتفال سه بعدی و برش

More Related