Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cross platform 2D Vector + Raster API + hardware accelerated - does this exist?

Requirements:

  • Retained graphics mode API
  • For 2D objects only (though 3D transforms of these 2D objects is of interest)
  • Cross-platform
  • Vector graphics drawing
  • Raster compositing + support for opacity masks - hardware accelerated of course...
  • Animation API
  • Package size - can it run in an embedded environment?

This is not for a game, but I am not opposed to using a game type API.

Some thoughts:

Qt is probably too heavy-weight, but I am not familiar enough with the API to know if it would meet the requirements. I am not interested in Qts window management (there are no windows) or widget / control set as it is not for a desktop type application. Also, I am not sure if Qt has an animation framework? Thoughts here?

Most likely what this would be is a framework built on top of OpenGL. I just don't know if such a thing exists. Also, I am unclear about 2D graphics in OpenGL. Are 2D graphics truly 2D or are they simply 3D objects drawn on a plane oriented to look 2D?

WPF is to DirectX as _____________ is to OpenGL

If the blank can be filled that is what I am looking for.

Update #2

I spent some time this weekend with Qt and have discovered QGraphicsScene class - which seems to be the fundamental class for Qt's 2D retained type graphics mode - and QGraphicsWidget which allows some auto-layout functionality of the QWidget class.

Qt is close to passing my litmus test. One final thing to figure out is a good designer to developer workflow when dealing with Vector images, i.e., how do I take an icon created in Illustrator and turn that into a QGraphicsItem - this might be a good candidate for a new (more focused) question.

like image 856
helifreak Avatar asked Jun 13 '26 12:06

helifreak


1 Answers

You might want to check out Cairo, it has an OpenGL backend. I don't think it has an animation API though.

like image 120
codelogic Avatar answered Jun 16 '26 10:06

codelogic



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!