Video description
Graphics programming is prevalent in many aspects of modern
software development; and the need for graphics programmers is
perhaps most felt with the explosion of game and graphics-oriented
apps. OpenGL is at the center of this new wave of graphics-oriented
programming as the chief rendering library for cross-platform
development. Quality educational material is a necessity for
newcomers to the field.
OpenGL Essentials LiveLessons introduces viewers to
graphics programming through a moderately deep-dive into shader
programming and the OpenGL API. Dr. Paul Varcholik guides viewers
with a practical, hands-on approach to modern OpenGL application
development. While these videos are geared towards programmers, no
prior knowledge of graphics programming or 3D math is required. The
lessons begin with “Hello, World!” style rendering (drawing a
single point and triangle) and extend into introductory lighting
models including ambient and diffuse lighting, specular highlights,
point lights, and spot lights. The videos also cover texture
mapping, environment mapping, normal mapping, and color blending
and introduce viewers to 3D math in a straight-forward, stress-free
fashion.
Dr. Paul Varcholik is a twenty year veteran of the software
development industry and has spent the past ten years writing video
games. He was a lead software engineer at Electronic Arts working
on titles including John Madden NFL Football and Superman Returns.
He is currently a programming instructor at the Florida Interactive
Entertainment Academy (FIEA) – a graduate degree program in game
development at the University of Central Florida. Paul is also the
author of
Real-Time 3D Rendering with DirectX and HLSL: A Practical Guide
to Graphics Programming.
Skill Level
What You Will Learn
- OpenGL 4.4 API essentials
- How to write shaders using OpenGL Shading Language (GLSL)
- The 3D mathematics behind 3D graphics
- How to load and render 3D models
- Mapping textures to 3D objects
- Ambient and diffuse lighting, specular highlights, point
lights, and spotlights
- Environment mapping, fog, normal mapping, and color
blending
- Survey additional topics in modern rendering, including post
processing, shadow mapping, skeletal animation, geometry and
tessellation shaders, deferred rendering, global illumination, and
compute shaders.
Who Should Take This Course
- Developers looking for a practical introduction to 3D rendering
and modern OpenGL
Course Requirements
- Familiarity with the C++ programming language
Lesson 1: Introducing OpenGL
This lesson walks viewers through creating their first OpenGL
application. It begins with a discussion of project setup, library
dependencies, and a C++ rendering framework to support application
development. In this lesson, viewers will write their first GLSL
shaders and render simple geometry to the screen. The lesson
concludes with a survey of the OpenGL graphics pipeline.
Lesson 2: Understanding 3D Math
This lesson introduces viewers to the mathematics behind 3D
graphics. The material is presented in a straight-forward,
practical manner intended to reduce math anxiety. The lesson covers
vectors, matrices, transformations, and the various coordinate
systems encountered in 3D graphics.
Lesson 3: Providing Shader Input
Lesson 3 extends the work from Lesson 1 and applies the
mathematics learned in Lesson 2 through a number of hands-on
demonstrations. In particular, viewers will learn about OpenGL
buffers, providing input to GLSL shaders, and passing data between
shader stages. Additionally, the lesson will cover loading and
rendering 3D models.
Lesson 4: Mapping Textures to 3D Objects
Lesson 4 covers loading textures and sampling them within GLSL
shaders. The lesson also discusses texture wrapping modes useful,
for example, for tiling a texture across large geometry. The lesson
ends with a discussion of texture filtering modes used to improve
the visual quality of textured objects.
Lesson 5: Lighting 3D Objects
Lesson 5 introduces viewers to a number of lighting models
including ambient and diffuse lighting, specular highlights, point
lights, and spot lights. Throughout the lesson, viewers will extend
their knowledge of GLSL and the OpenGL API.
Lesson 6: Discovering Additional Rendering Techniques
In this final lesson, viewers will implement more advanced
rendering techniques, including environment mapping, fog, normal
mapping, and color blending. The lesson concludes with a survey of
post processing, shadow mapping, skeletal animation, geometry and
tessellation shaders, deferred rendering, global illumination, and
compute shaders.
LiveLessons Video Training series publishes hundreds of
hands-on, expert-led video tutorials covering a wide selection of
technology topics designed to teach you the skills you need to
succeed. This professional and personal technology video series
features world-leading author instructors published by your trusted
technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson
IT Certification, Prentice Hall, Sams, and Que. Topics include: IT
Certification, Programming, Web Development, Mobile Development,
Home and Office Technologies, Business and Management, and more.
View all LiveLessons on InformIT at
http://www.informit.com/imprint/series_detail.aspx?ser=2185116
Table of Contents
Introduction
Introduction to OpenGL Essentials LiveLessons
00:04:49
Lesson 1: Introducing OpenGL
Learning objectives
00:00:31
1.1 Create your first OpenGL application
00:17:44
1.2 Examine a C++ application framework
00:15:05
1.3 Write your first GLSL vertex and fragment shaders
00:13:22
1.4 Explore the OpenGL graphics pipeline
00:08:22
Lesson 2: Understanding 3D Math
Learning objectives
00:00:26
2.1 Understand vectors
00:06:21
2.2 Understand matrices
00:05:27
2.3 Investigate transformations
00:07:45
Lesson 3: Providing Shader Input
Learning objectives
00:00:29
3.1 Use OpenGL buffers
00:17:42
3.2 Pass uniform data to shaders
00:34:00
3.3 Render 3D models
00:17:20
Lesson 4: Mapping Textures to 3D Objects
Learning objectives
00:00:25
4.1 Use textures in shaders
00:10:29
4.2 Explore texture wrapping
00:11:01
4.3 Understand texture filtering
00:09:09
Lesson 5: Lighting 3D Objects
Learning objectives
00:00:26
5.1 Explore ambient lighting
00:08:52
5.2 Understand diffuse shading and directional lighting
00:18:20
5.3 Discover specular highlighting
00:17:44
5.4 Implement point lighting
00:07:54
5.5 Implement spot lighting
00:11:44
Lesson 6: Discovering Additional Rendering Techniques
Learning objectives
00:00:34
6.1 Explore texture cubes
00:19:57
6.2 Implement fog
00:04:05
6.3 Understand color blending
00:10:46
6.4 Implement normal mapping
00:08:33
6.5 Survey other rendering techniques
00:17:50
Summary
Summary of OpenGL Essentials LiveLessons
00:01:30