Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Disambiguation: QPainter, OpenGL, "backend" and "engine"
Forum Updated to NodeBB v4.3 + New Features

Disambiguation: QPainter, OpenGL, "backend" and "engine"

Scheduled Pinned Locked Moved General and Desktop
2 Posts 2 Posters 3.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    apc99999
    wrote on last edited by
    #1

    In TomCooksey's Qt Lab's blog post he mentions "the OpenGL engine," he also mentions that Qt currently uses the 2.0 version of the API. The QPainter class reference mentions that developers focus on the OpenGL 2.0 (ES) backend (among others) for optimization.

    What exactly is meant by engine (or backend) in this context. I understand backend to be the capabilities presented by the underlying OS/HW platform, and if the necessary libraries/drivers are present on that platform then the OpenGL rendering commands execute on the local hardware. What is all this about a Qt "engine," does Qt implement a subset of the API itself? (is that why only 2.0 (ES) is supported, even if your HW/OS is capable of 3.0), how exactly could it be optimized other then to simply be native (aren't the gl* rendering commands winding their way more or less directly to the driver and then the hardware)? And if there is an engine, why must I #include my system's OpenGL headers (or import the python modules).

    Any light shed on this would help this OpenGL/Qt newbie get things straight in his head.

    Thank you.

    1 Reply Last reply
    0
    • J Offline
      J Offline
      jorj
      wrote on last edited by
      #2

      Qt implements its painter interface using OpenGL, which is slightly different to when you actually use the gl* commands yourself then you are talking directly to whatwever gl implementation there is on your machine.

      It is possible to set up qt to use OpenGL to draw its entire interface (using the -opengl command line flag, among other methods), so when a QPainter is opened on a widget and draws lines etc, it is then itself using the Qt OpenGL API.

      Hope that helps?

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved