- Game Programming Patterns: Game software is hard. Read this FREE online textbook for some good software design tips that will make your life so much easier.
- At the very least read the three chapters on decoupling patterns. Decoupling is very important when working on software teams and when working on something complicated like a game.
- Fix Your Timestep!: Absolutely essential article on how to write your game's update loop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, true); | |
| void GLAPIENTRY DebugMessageCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * message, void const * userParam) | |
| { | |
| string Source = ""; | |
| string Type = ""; | |
| string Severity = ""; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <ionWindow.h> | |
| #include <ionGraphics.h> | |
| #include <ionGraphicsGL.h> | |
| using namespace ion::Graphics; | |
| int main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <ionWindow.h> | |
| #include <ionGraphics.h> | |
| #include <ionGraphicsGL.h> | |
| using namespace ion::Graphics; | |
| int main() | |
| { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void PrintShaderInfoLog(GLint const Shader) | |
| { | |
| int InfoLogLength = 0; | |
| int CharsWritten = 0; | |
| glGetShaderiv(Shader, GL_INFO_LOG_LENGTH, & InfoLogLength); | |
| if (InfoLogLength > 0) | |
| { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <GL/glew.h> | |
| #include <GLFW/glfw3.h> | |
| #include <iostream> | |
| #include <string> | |
| void PrintOpenGLErrors(char const * const Function, char const * const File, int const Line) | |
| { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #pragma once | |
| #include <vector> | |
| #include <map> | |
| #include <string> | |
| struct ID3D11Device; | |
| typedef unsigned __int64 uint64; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <iostream> | |
| #include <list> | |
| #include <vector> | |
| #include <algorithm> | |
| #include <cassert> | |
| int add(int const a, int const b) | |
| { | |
| int val = a + b; |