Book Image

Learn OpenGL

By : Frahaan Hussain
Book Image

Learn OpenGL

By: Frahaan Hussain

Overview of this book

Learn OpenGL is your one-stop reference guide to get started with OpenGL and C++ for game development. From setting up the development environment to getting started with basics of drawing and shaders, along with concepts such as lighting, model loading, and cube mapping, this book will get you up to speed with the fundamentals. You begin by setting up your development environment to use OpenGL on Windows and macOS. With GLFW and GLEW set up using absolute and relative linking done, you are ready to setup SDL and SFML for both the operating systems. Now that your development environment is set up, you'll learn to draw using simple shaders as well as make the shader more adaptable and reusable. Then we move on to more advanced topics like texturing your objects with images and transforming your objects using translate, rotate and scale. With these concepts covered, we'll move on to topics like lighting to enable you to incorporate amazing dynamic lights in your game world. By the end of the book, you'll learn about model loading, right from setting up ASSIMP to learning about the model class and loading a model in your game environment. We will conclude by understanding cube mapping to bring advance worlds to your game.
Table of Contents (13 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Directional light


In this section, we're going to talk about a directional light. We are advancing quite a bit now into the different lighting mechanics that you can use in OpenGL. We've looked at lighting maps, to be able to shine a light and have it affect an object differently depending on what sort of material a particular object or a particular part of the object is.

Directional lights

We've looked at other basic material and basic lighting, but there are a few main types of lights that you can use in your game, such as directional lights, point lights, and spotlights. We'll be covering point lights and spotlights in later sections; but directional lights are the most basic version of lights in 3D graphics, in general:

So, as you can see in the preceding diagram, there are arrows coming from some sort of light source. A directional light doesn't have an origin, or more precisely, a position, because the light source is infinitely far away.

So, for example, you had five cubes. Irrespective...