1. Aug 12, 2014
    • Laszlo Agocs's avatar
      Modernize the OpenGL examples · 611558d8
      Laszlo Agocs authored
      Change them to use QOpenGLWidget and QOpenGLTexture.
      Advocate also the usage of VBOs.
      
      Hopeless examples, that rely on the fixed pipeline and will
      not compile or work in ES and dynamic builds, are moved to
      a "legacy" directory. The documentation pages for these are
      removed. This long due change avoids the confusion newcomers
      experience when trying to get started with Qt 5 and OpenGL.
      
      hellowindow's behavior is changed to open a single window only
      by default. The old default behavior, that opened three windows
      on platforms that supported both MultipleWindows & ThreadedOpenGL,
      can be requested by passing --multiple. --single is removed since it
      is the default now. This plays much nicer with drivers that have
      issues with threading.
      
      In addition, say hello to hellogl2.
      
      This is the old hellogl example updated to use QOpenGLWidget and
      OpenGL 2. It also has a mainwindow with multiple (un)dockable widgets
      containing the OpenGL widgets. This helps testing the behavior when
      the top-le...
      611558d8
  2. Sep 14, 2013
  3. Jan 18, 2013
  4. Sep 22, 2012
  5. Sep 07, 2012
    • Sean Harmer's avatar
      Make gui/math3d classes use float rather than qreal · 51d40d7e
      Sean Harmer authored
      This corrects the mismatch between using floats for internal storage
      and qreal in the API of QVector*D which leads to lots of implicit
      casts between double and float.
      
      This change also stops users from being surprised by the loss of
      precision when using these classes on desktop platforms and removes
      the need for the private constructors taking a dummy int as the final
      argument.
      
      The QMatrix4x4 and QQuaternion classes have been changed to use float
      for their internal storage since these are meant to be used in
      conjunction with the QVector*D classes. This is to prevent unexpected
      loss of precision and to improve performance.
      
      The on-disk format has also been changed from double to float thereby
      reducing the storage required when streaming vectors and matrices. This
      is potentially a large saving when working with complex 3D meshes etc.
      
      This also has a significant performance improvement when passing
      matrices to QOpenGLShaderProgram (and QGLShaderProgram) as we no
      longer have to iterate and convert the data to floats. This is
      an operation that could easily be needed many times per frame.
      
      This change also opens the door for further optimisations of these
      classes to be implemented by using SIMD intrinsics.
      
      This needs to be applied in conjunction with
      
      https://codereview.qt-project.org/#change,33548
      
      
      
      Task-number: QTBUG-21035
      Task-number: QTBUG-20661
      Change-Id: I9321b06040ffb93ae1cbd72fd2013267ac901b2e
      Reviewed-by: default avatarLars Knoll <lars.knoll@nokia.com>
      51d40d7e
  6. Jan 30, 2012
  7. Jan 23, 2012
  8. Jan 05, 2012
  9. Apr 27, 2011
    • Qt by Nokia's avatar
      Initial import from the monolithic Qt. · 38be0d13
      Qt by Nokia authored
      This is the beginning of revision history for this module. If you
      want to look at revision history older than this, please refer to the
      Qt Git wiki for how to use Git history grafting. At the time of
      writing, this wiki is located here:
      
      http://qt.gitorious.org/qt/pages/GitIntroductionWithQt
      
      If you have already performed the grafting and you don't see any
      history beyond this commit, try running "git log" with the "--follow"
      argument.
      
      Branched from the monolithic repo, Qt master branch, at commit
      896db169ea224deb96c59ce8af800d019de63f12
      38be0d13