Reference index - Fish-In-A-Suit/Conquest GitHub Wiki
Core functionality
- Creating the game window by TutorialEdge
- Main game loop by TutorialEdge
- Main game loop by tutsplus
- Main game loop (forum question)
- Fixed timestep game loop (forum question)
- Managing game states by TutorialEdge
Rendering
- Basics of modern OpenGL pt I
- Basics of modern OpenGL pt II
- Ray tracing with OpenGL compute shaders pt I
- Ray tracing with OpenGL compute shaders pt II
- Orthographic camera by TutorialEdge
- How to design a rendering engine? (forum question)
- Drawing a cube with indexed arrays
Lighting
- OpenGL 4.0 Shading Language Cookbook by David Wolff pages 81-105
- OpenGL Programming Guide, 8th edition (D. Shreiner, G. Seller, J. Kessenich, B.L-Kane) pages 359-400
- OpenGL game programming by Kevin Hawkins pages 181-206
- Lighting in OpenGL by Jeffrey Chastine MUST WATCH
- Per-pixel lighting by ThinMatrix
- Basic Lighting by LearnOpenGL
Shadows
- OpenGL 4.0 Shading Language Cookbook by David Wolff pages 235-263
- OpenGL Programming Guide, 8th edition (D. Shreiner, G. Seller, J. Kessenich, B.L-Kane) pages 400, 401
Textures
Input
- Input handling with GLFW by Heiko Brumme aka SilverTiger
- Collecting keyboard input by TutorialEdge
- Collecting mouse input by TutorialEdge
Math
- The use of mathematics in games A++
- OpenGL matrices A++
- Matrix layout in OpenGL
- Rotation matrix by WolframMath
- RotationMatrix (forum question)
- Transformations in OpenGL
- Right vs left handed CS
- Introduction to matrix inverse
- Matrix inverse using elementary row operations (Gauss-Jordan)
World generation
- Making maps with perlin noise
- Improved perlin noise by Nvidia
- Procedural terrain generation
- Procedural terrain generation in C# ... very nice explanation
Game physics
AI
User Interface
Networking
Peer to peer
Server - related
- Writing a server for a multiplayer game (forum question)
Optimization
- What is optimization? by PCGamer
Java related
- OOP principles
- Early vs late binding
- == vs equals()
- Aliasing
- When should I use the this keyword (forum question)
- Most common mistakes
- Creating and starting threads by JenkovTutorials
- Abstract classes
- Order of initialization (forum question)
- Order of initialization by JavaWorld
- Design principles
Other
- Differences between LWJGL2 vs LWJGL3
- Generating realistic terrain
- Multithreaded game engine architecture by Gamasut
- The game world by Peachpit
- Code organization in Java A++
- Drawing a quad with glDrawArrays