CppCon 2019 has ended
Back To Schedule
Monday, September 16 • 15:15 - 16:15
High performance graphics and text rendering on the GPU for any C++ application

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Drawing an image or displaying text on the screen is accomplished by a process called rendering. Typically a text based application renders using the CPU while 3D games make heavy use of GPU rendering. It would be ideal if every application were able to render all their graphics and text using hardware acceleration on the GPU. Is this practical, feasible, or realistic?

In this presentation we will provide a brief introduction to graphics terminology and show some of the differences between OpenGL, Direct3D, Vulkan, and Metal, as well as the overall process to render. We will explain what obstacles a developer will encounter using a Graphics API and present useful and practical alternatives.

Several examples will be provided to illustrate the exact steps required to configure and render using a specific Graphics API. Since this is a daunting and overwhelming task we will show strategies to streamline the entire process.

As part of this talk we will explain why rendering text is more complicated than just drawing some letters on the screen. There is a difference between text shaping and font rasterization which matters if you want your application to be readable on all platforms. As an example, we will show the pros and cons of the native text rendering on Windows.

A key part of the talk will introduce the idea of reusable and composable graphics buffers which can reduce the load on the rendering hardware. This approach provides an efficient way to render graphics.

A brief overview of shaders, pipelines, and textures will be shown to illustrate the power of graphics, even for a general purpose GUI application.

Familiarity with C++ is advisable, no prior knowledge of graphics is required however it may be helpful.

avatar for Barbara Geller

Barbara Geller

Co-Founder, CopperSpice
I am an independent consultant with over twenty-five years of experience as a programmer and software developer. I have worked with numerous smaller companies developing in-house applications. I have also designed and developed Windows applications for several vertical markets including... Read More →
avatar for Ansel Sermersheim

Ansel Sermersheim

Co-Founder, CopperSpice
I have been working as a programmer for nearly twenty years. My degree is in Computer Science from Cal Poly San Luis  Obispo. I have transitioned to independent consulting and I am currently working on a project for RealtyShares in San Francisco. Co-founder of CopperSpice... Read More →

Monday September 16, 2019 15:15 - 16:15 MDT
Crest 4/5
  • GPU/Graphics