Contact Us

Contact us

Submit a contact request

Call us

We have Sales offices around the world

Training and Events

Learn about Qt for application development, UI design, and  embedded device creation from The Qt Company and Qt ecosystem partners. 

Using the event filters below, you can find on-demand webinar videos from past events, as well as upcoming live webinars. You can also search using topic tags and other event types, such as training and trade shows, or by organizer — whether it be The Qt Company or a Qt partner.

Loading Events

« All Events

  • This event has passed.

State-of-the-Art OpenGL with Qt, 17 September 2018

17 September 2018 @ 8:00 am - 21 September 2018 @ 5:00 pm UTC+0

Course Description
This 5-day, hands-on course provides an introduction to modern OpenGL using programmable shader pipelines. It introduces the use of the Qt framework for infrastructure and support to quickly achieve highly efficient and visually appealing, state-of-the-art, interactive graphics applications. The class covers basic topics such as handling of geometry, graphics pipeline, transformations as well as advanced topics such as vertex, fragment and geometry shaders and their applications. Qt and C++ based Labs are designed to let participants experiment with OpenGL easily in order to deepen the understanding of the material.

Course Availability: On-site, Open Enrollment
Duration: 5 days

This course takes place in Sunnyvale, CA. Please select this place and date from the drop-down menu in the Registration form.

Course Outline
This course will be roughly divided into four 90 minute sections and each section will target an even mix of lecture and labs. The goal is to give students plenty of time to experiment with the lab material.

The class uses Qt-5.9.1 and is based on Qt’s OpenGL integration classes QOpenGLWidget and QOpenGLWindow.
Course material is divided into four 90 minute sections per day and each section will target an even mix of lecture and labs. The goal is to give students plenty of time to experiment with the lab material.

Larger OpenGL Topics are organized into parts that are not necessarily equal in length as follows:

Part 1 – The Basic

  • What is OpenGL
  • Steps to Render a Scene with OpenGL
  • Qt’s OpenGL Support
  • OpenGL Rendering Pipeline
  • Shaders
  • Labs: Contexts and Windows, Draw Triangles

Part 2 – Qt Refresher

  • Lab: Wavefront .obj File Reader (Relevant to the Rest of the Course)

Part 3 – GLSL

  • OpenGL Shading Language
  • in Detail
  • Lab: Rectangles, Grids

Part 4 – A Day at the Movies

  • Vertices and Vectors
  • Models and Cameras, the Model-View Transformation
  • Demo Programs
  • Matrices
  • Depth and Culling
  • Simplest Possible Light Model
  • Lab: Three Dimensional Objects

Part 5 – Directing the Scene

  • Primitives
  • Indexed Drawing
  • Vertex Array Objects (VAO)
  • Handling Multiple Components
    of Objects
  • Lab: Three Dimensional Scenes

Part 6 – Let there be Light

  • Let There be Light (at the End of the Tunnel?)
  • Lab: Diffuse Light Model, ADS (Phong) Light Model, Multiple Lights

Part 7 – Textures

  • Texture Basics
  • Textures, Images, Samplers
  • Multiple Textures
  • Qt Support for Textures
  • CubeMap
  • Labs: Multiple Textures, Cube Map

Part 8 – More Textures

  • Textures Advanced
  • FrameBuffer Objects
  • Lab: Framebuffer Objects

Part 9 – Advanced OpenGL

  • Geometry Shaders
  • Vertex Displacement Shaders
  • Animating Textures
  • Image Based Techniques
  • Procedural Texturing with Noise
  • Mapping Explained, Specular, Occlusion, Alpha, Environment, Bump
  • Labs

Part 10 – More Advanced OpenGL

  • More Advanced Topics (Spotlight, Fog, Smoke, Shadows, Cartoon Shading)
  • Reflection and Refraction with Cubemaps
  • Point Sprites
  • Transform Feedback and Particle Systems
  • Instanced Rendering

Part 11 – Timing is Everything

  • QtOpenGLExtensions Module
  • OpenGL Debugging and Timing with Qt

Part 12 – Qt and OpenGL

  • Integration of OpenGL and QtQuick, Custom OpenGL QQuickItem
  • QPainter on QOpenGLPaintDevice
  • Qt3DPart 13 – Optimizations
  • Best Practices
  • GLSL Optimizations
  • Vertex Specification Best Practices
  • Common Mistakes
  • Convert GL 3.3 to GLES 2.0

Course Prerequisites

Working knowledge of C++ programming
Basic knowledge of geometry
Previous experience with OpenGL and/or Qt is not required


17 September 2018 @ 8:00 am
21 September 2018 @ 5:00 pm
Event Category:


Please contact us if you have any questions.