Learn OpenGL: Beginner's guide to 3D rendering and game development with OpenGL and C++
A step-by-step instructional guide to understanding the fundamentals of game development with OpenGL. Right from the setup to the important features, we'll get a better understanding of games and the engines behind them.
- Learn the basics of drawing along with fundamentals of shading to create amazing objects.
- Get in-depth knowledge of lighting and materials to make realistic objects.
- Understand the fundamentals of model loading and cube mapping.
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.
What you will learn
- Set up GLFW and GLEW on Windows and macOS with absolute, relative Linking
- Set up SDL and SFML on your system using absolute and relative Linking
- Draw using the simple shaders
- Create a camera and learn to populate your game world with objects
- Learn about color and lighting concepts to create an amazing game world
- Understand model loading and cube mapping to advance your game
Who this book is for
This book is targeted towards anyone and everyone who is interested in creating games, learning how game engines work and most importantly for anyone who is interested in learning OpenGL. The ideal reader for this book would be anyone with a passion for learning game development or looking out for an OpenGL reference guide. The skills that you'll learn in this book will be applicable to all your game development needs. You'll require a strong foundation in C++ to understand and apply the concepts of this book.
Table of Contents
- Setting Up OpenGL
- Drawing Shapes and Applying Textures
- Transformations, Projections, and Camera
- Effects of lighting , Materials and Lightmaps
- Types of light sources and combining of lights
- Implementing a Skybox Using a Cubemap
- Model Loading