kaprikawn
Very Active Member
I've decided to learn OpenGL ES 2.0 for use on the Pyra. And as I started poking around I realised that there's not a lot of learning materials for the kind of stuff I want to do, and some of these things I'm learning might be useful to others.
So I'm writing a blog documenting my journey. There's very little in it at the minute, and I imagine it's going to be a long time before it's complete. But on the off chance that it's useful to anyone, feel free to follow along :
Intro :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-01/
Getting a dev environment running :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-02/
Creating a window using SDL2 :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-03/
Rendering a triangle (using the code from the Pandora Wiki) :
https://kaprikawn.wordpress.com/2018/01/14/learning-to-learn-opengl-es-2-0-part-04/
EDIT : to clone the repo :
MORE EDITS : later blog posts since original post...
Setting up a Dev Environment (Windows and Linux incl. Pyra) :
https://kaprikawn.wordpress.com/2022/02/13/learning-to-learn-opengl-es-2-0-dev-build-instructions/
Refactored code :
https://kaprikawn.wordpress.com/2018/01/20/learning-to-learn-opengl-es-2-0-part-05/
Simplified 'Open Triangle' code :
https://kaprikawn.wordpress.com/2018/02/11/learning-to-learn-opengl-es-2-part-06/
Indices :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-07-indices/
MVP Matrix :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-08-the-mvp-matrix/
Adding Colour to Vertices :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-09-adding-colour/
Adding a Game State Machine :
https://kaprikawn.wordpress.com/201...arn-opengl-es-2-0-part-10-game-state-machine/
Back to Basics :
https://kaprikawn.wordpress.com/2018/03/10/learning-to-learn-opengl-es-2-0-part-11-a-new-approach/
Improved 'Cube' Code :
https://kaprikawn.wordpress.com/2018/03/17/learning-to-learn-opengl-es-2-0-part-12-back-to-the-cube/
Gamepad Support :
https://kaprikawn.wordpress.com/201...-opengl-es-2-0-part-13-added-gamepad-support/
Moving a Box Around the Screen :
https://kaprikawn.wordpress.com/2018/03/24/learning-to-learn-opengl-es-2-0-part-14-moving-the-box/
Moving a Spaceship Around the Screen :
https://kaprikawn.wordpress.com/2018/03/25/learning-to-learn-opengl-es-2-0-part-15-takeoff/
Added Analogue Stick Support :
https://kaprikawn.wordpress.com/2018/04/01/learning-to-learn-opengl-es-2-0-part-16-analogue-support/
Unified Buffers :
https://kaprikawn.wordpress.com/201...n-opengl-es-2-0-part-17-buffers-code-cleanup/
Pew Pew (can now shoot bullets) :
https://kaprikawn.wordpress.com/2018/04/08/learning-to-learn-opengl-es-2-0-part-18-pew-pew/
Added floor and scenery object :
https://kaprikawn.wordpress.com/2018/04/16/learning-to-learn-opengl-es-2-0-part-19-were-moving/
Collision detection :
https://kaprikawn.wordpress.com/201...rn-opengl-es-2-0-part-20-collision-detection/
Moving camera :
https://kaprikawn.wordpress.com/2018/05/05/learning-to-learn-opengl-es-2-0-part-21-moving-camera/
Placeholder music and enemy :
https://kaprikawn.wordpress.com/2018/10/09/learning-to-learn-opengl-es-2-0-part-22-enemy-and-audio/
Enemy fires, and dies when hit :
https://kaprikawn.wordpress.com/201...earn-opengl-es-2-0-part-23-the-enemy-attacks/
Level data offloaded to JSON files :
https://kaprikawn.wordpress.com/201...-es-2-0-part-24-loading-level-data-from-json/
Loading GLTF2 files :
https://kaprikawn.wordpress.com/201...rn-opengl-es-2-0-part-25-loading-gltf2-files/
Texture Mapping :
https://kaprikawn.wordpress.com/2020/01/19/learning-to-learn-opengl-es-2-0-part-26-texture-mapping/
Batch Rendering :
https://kaprikawn.wordpress.com/2020/02/23/learning-to-learn-opengl-es-2-0-part-27-batch-rendering/
Particle system :
https://kaprikawn.wordpress.com/2020/03/15/learning-to-learn-opengl-es-2-0-part-28-particles/
HUD :
https://kaprikawn.wordpress.com/2020/03/22/learning-to-learn-opengl-es-2-0-part-29-hud/
Re-added collisions + debugging using VSCode :
https://kaprikawn.wordpress.com/202...-part-30-improved-collision-debugging-vscode/
Scorched Earth - staring again from scratch (this is the first build which will actually compile on the Pyra) :
https://kaprikawn.wordpress.com/2021/02/07/learning-to-learn-opengl-es-2-0-part-31-scorched-earth/
Removing the GLM dependency :
https://kaprikawn.wordpress.com/202...pengl-es-2-0-part-32-removing-glm-dependency/
Added lighting :
https://kaprikawn.wordpress.com/2021/09/21/learning-to-learn-opengl-es-2-0-part-33-lighting/
Adding back floor and movement :
https://kaprikawn.wordpress.com/2022/02/13/learning-to-learn-opengl-es-2-0-part-34-code-refactor/
So I'm writing a blog documenting my journey. There's very little in it at the minute, and I imagine it's going to be a long time before it's complete. But on the off chance that it's useful to anyone, feel free to follow along :
Intro :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-01/
Getting a dev environment running :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-02/
Creating a window using SDL2 :
https://kaprikawn.wordpress.com/2018/01/07/learning-to-learn-opengl-es-2-0-part-03/
Rendering a triangle (using the code from the Pandora Wiki) :
https://kaprikawn.wordpress.com/2018/01/14/learning-to-learn-opengl-es-2-0-part-04/
EDIT : to clone the repo :
Code:
git clone https://github.com/kaprikawn/pyragles.git
MORE EDITS : later blog posts since original post...
Setting up a Dev Environment (Windows and Linux incl. Pyra) :
https://kaprikawn.wordpress.com/2022/02/13/learning-to-learn-opengl-es-2-0-dev-build-instructions/
Refactored code :
https://kaprikawn.wordpress.com/2018/01/20/learning-to-learn-opengl-es-2-0-part-05/
Simplified 'Open Triangle' code :
https://kaprikawn.wordpress.com/2018/02/11/learning-to-learn-opengl-es-2-part-06/
Indices :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-07-indices/
MVP Matrix :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-08-the-mvp-matrix/
Adding Colour to Vertices :
https://kaprikawn.wordpress.com/2018/03/03/learning-to-learn-opengl-es-2-0-part-09-adding-colour/
Adding a Game State Machine :
https://kaprikawn.wordpress.com/201...arn-opengl-es-2-0-part-10-game-state-machine/
Back to Basics :
https://kaprikawn.wordpress.com/2018/03/10/learning-to-learn-opengl-es-2-0-part-11-a-new-approach/
Improved 'Cube' Code :
https://kaprikawn.wordpress.com/2018/03/17/learning-to-learn-opengl-es-2-0-part-12-back-to-the-cube/
Gamepad Support :
https://kaprikawn.wordpress.com/201...-opengl-es-2-0-part-13-added-gamepad-support/
Moving a Box Around the Screen :
https://kaprikawn.wordpress.com/2018/03/24/learning-to-learn-opengl-es-2-0-part-14-moving-the-box/
Moving a Spaceship Around the Screen :
https://kaprikawn.wordpress.com/2018/03/25/learning-to-learn-opengl-es-2-0-part-15-takeoff/
Added Analogue Stick Support :
https://kaprikawn.wordpress.com/2018/04/01/learning-to-learn-opengl-es-2-0-part-16-analogue-support/
Unified Buffers :
https://kaprikawn.wordpress.com/201...n-opengl-es-2-0-part-17-buffers-code-cleanup/
Pew Pew (can now shoot bullets) :
https://kaprikawn.wordpress.com/2018/04/08/learning-to-learn-opengl-es-2-0-part-18-pew-pew/
Added floor and scenery object :
https://kaprikawn.wordpress.com/2018/04/16/learning-to-learn-opengl-es-2-0-part-19-were-moving/
Collision detection :
https://kaprikawn.wordpress.com/201...rn-opengl-es-2-0-part-20-collision-detection/
Moving camera :
https://kaprikawn.wordpress.com/2018/05/05/learning-to-learn-opengl-es-2-0-part-21-moving-camera/
Placeholder music and enemy :
https://kaprikawn.wordpress.com/2018/10/09/learning-to-learn-opengl-es-2-0-part-22-enemy-and-audio/
Enemy fires, and dies when hit :
https://kaprikawn.wordpress.com/201...earn-opengl-es-2-0-part-23-the-enemy-attacks/
Level data offloaded to JSON files :
https://kaprikawn.wordpress.com/201...-es-2-0-part-24-loading-level-data-from-json/
Loading GLTF2 files :
https://kaprikawn.wordpress.com/201...rn-opengl-es-2-0-part-25-loading-gltf2-files/
Texture Mapping :
https://kaprikawn.wordpress.com/2020/01/19/learning-to-learn-opengl-es-2-0-part-26-texture-mapping/
Batch Rendering :
https://kaprikawn.wordpress.com/2020/02/23/learning-to-learn-opengl-es-2-0-part-27-batch-rendering/
Particle system :
https://kaprikawn.wordpress.com/2020/03/15/learning-to-learn-opengl-es-2-0-part-28-particles/
HUD :
https://kaprikawn.wordpress.com/2020/03/22/learning-to-learn-opengl-es-2-0-part-29-hud/
Re-added collisions + debugging using VSCode :
https://kaprikawn.wordpress.com/202...-part-30-improved-collision-debugging-vscode/
Scorched Earth - staring again from scratch (this is the first build which will actually compile on the Pyra) :
https://kaprikawn.wordpress.com/2021/02/07/learning-to-learn-opengl-es-2-0-part-31-scorched-earth/
Removing the GLM dependency :
https://kaprikawn.wordpress.com/202...pengl-es-2-0-part-32-removing-glm-dependency/
Added lighting :
https://kaprikawn.wordpress.com/2021/09/21/learning-to-learn-opengl-es-2-0-part-33-lighting/
Adding back floor and movement :
https://kaprikawn.wordpress.com/2022/02/13/learning-to-learn-opengl-es-2-0-part-34-code-refactor/
Last edited: