Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

(1) What is Scene Graph and (2) What is opengL ?



  • These two are different question.


  • Moderators

    Big questions. I suggest checking out wikipedia :-)

    In a huge, over-simplified summary:

    • OpenGL is a 3D graphics framework, commonly implemented in GPU drivers of all vendors (nVidia, AMD, Intel, Qualcomm, etc.) and software renderers (MESA). It contains building blocks for building and displaying graphic scenes
    • scene graph - in context of Qt, it is the drawing backend of QtQuick. Initially, it was built on top of OpenGL, although recently it's being ported away from it, to allow QtQuick scenes to be drawn within other graphic contexts (software renderer, DirectX, Metal etc.). More info in the docs.


  • @sierdzio
    Possibly a bit OT, but while we're here may I ask for a one sentence answer: why do most games I play (on PC) tend to use DirectX and not OpenGL, for which they may have support but often do not?


  • Moderators

    @JonB said in (1) What is Scene Graph and (2) What is opengL ?:

    @sierdzio
    Possibly a bit OT, but while we're here may I ask for a one sentence answer: why do most games I play (on PC) tend to use DirectX and not OpenGL, for which they may have support but often do not?

    performance.

    DirectX(Windows), Metal(iOS&macOS), Vulcan(android/some of linux) are highly specified graphic apis that allow for much better specialization.

    Additionally to that, openGl is very basic stuff like for example raytracing (as far as I know) not possible with it


  • Moderators

    @JonB said in (1) What is Scene Graph and (2) What is opengL ?:

    @sierdzio
    Possibly a bit OT, but while we're here may I ask for a one sentence answer: why do most games I play (on PC) tend to use DirectX and not OpenGL, for which they may have support but often do not?

    I am far too inexperienced in this topic to answer correctly, sorry.

    From what I've heard, DirectX is just much easier to use and tends to evolve more quickly. Esp. back in early 2000' OpenGL was lagging behind heavily, and DirectX sprung to life as the only modern option. Times have changed, now both technologies are more on par, but the historical baggage remains. Also, for a long time AMD, nVidia and Intel drivers had better DirectX support than OpenGL support in their drivers, IIRC.

    As said, though, I may be very wrong here, I don't know these technologies nearly at all.


  • Moderators

    If there's some interest in this topic for you two/three
    I would suggest checking TheCherno

    He has a YouTube series where he writes his own GameEngine in c++.

    Very interesting, and he goes into detail about OpenGL Direct X etc.



  • @J.Hilk @sierdzio @JonB Thank you for your inputs :)


Log in to reply