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.
- All Levels
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
- 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
Lesson 1: Introducing OpenGL
- Learning objectives 00:00:31
- 1.1 Create your first OpenGL application 00:17:45
- 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
- Lesson 3: Providing Shader Input
- Lesson 4: Mapping Textures to 3D Objects
- Lesson 5: Lighting 3D Objects
- Lesson 6: Discovering Additional Rendering Techniques
- Title: OpenGL Essentials LiveLessons (Video Training)
- Release date: February 2014
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780133824360