Modern OpenGL

-Leverage all the graphics power that your hardware offers.

In this course you will learn how to:

lady_bird_large

  • write OpenGL applications from the ground up
  • develop with today’s modern shader-based OpenGL implementations
  • implement a wide variety of modern rendering techniques that can be applied to your own projects
  • debug and profile OpenGL applications
  • maximize the processing power of both the GPU and CPU

In class, our trainer will walk you through all necessary topics via a mixture of presentations, examples, and hands-on exercises.

Course Contents

europe_africa_large

  • Basic Concepts: OpenGL pipeline, OpenGL contexts, GLSL, vertex shaders, fragment shaders, vertex buffer objects
  • Transformations: matrices, coordinate systems, view and projection transformations
  • Lighting: diffuse, Phong, directional
  • Texturing: texture sampling, multiple textures, normal mapping, bump mapping, environment mapping, ambient occlusion, procedural texturing
  • Optimizing and Debugging: culling, occlusion queries, timer queries, debug extensions, debugging tools (apitrace, etc.)
  • Advanced Topics: tessellation, geometry shaders, compute shaders, shadow mapping, stencil shadowing
  • Qt Integration (optional): Qt Quick / QML, QWidgets, User Interaction

Read the full Table of Contents.

The course uses the Qt 5 framework to simplify the usual tasks of window and OpenGL context management but it is not specific to Qt. No prior knowledge of Qt is required.

The course can be tailored to cover modern OpenGL 4.x and/or OpenGL ES 2 or 3 for embedded platforms (Embedded Linux using EGL; Android; iOS).

Course Information

Target audience:
Developers who want to get started with OpenGL
Prerequisite:
The course is suitable for developers with no prior OpenGL knowledge and those who have used legacy fixed-function OpenGL
Duration:
5-day training course
Sign up:
Check out our course schedule and register
For on-site training, please contact us at training@kdab.com.

Why Learn OpenGL?

cubemap_reflection_large

OpenGL is a key technology in many fields including data visualization, digital content creation, CAD/CAM/CAE, games, and simulations. OpenGL has been around for many years and in recent times has evolved to shed much of its legacy baggage and better expose the underlying hardware.

Modern OpenGL allows you to take full advantage of the enormous parallel processing power of today’s GPUs. Maximizing performance of OpenGL rendering requires us to understand how GPUs work and how to efficiently feed them with data.

Qt Technology

OpenGL plays a key role in the graphics stack of Qt 5 and in particular for the Qt Quick 2 and Qt3D technologies. For attendees with an interest in the Qt Quick 2 and/or Qt3D technologies, KDAB can offer additional modules showing how to integrate modern OpenGL with Qt at a deeper level including custom Qt Quick 2 UI components, overlays/underlays, Widget-based applications and porting Qt with OpenGL accelerated drawing to your custom platform.

Screenshot of one example from our training material: it features a procedurally generated terrain using tessellation shaders, with adaptive level of detail (based on the distance from the camera), fog, and procedural texturing (depending on the terrain's height and slope).

Screenshot of one example from our training material: it features a procedurally generated terrain using tessellation shaders, with adaptive level of detail (based on the distance from the camera), fog, and procedural texturing (depending on the terrain’s height and slope).

Leave a Reply

Your email address will not be published. Required fields are marked *