{"id":19292705,"url":"https://github.com/rogerboesch/opengltutorial","last_synced_at":"2025-04-12T03:53:19.381Z","repository":{"id":151466235,"uuid":"142401241","full_name":"rogerboesch/OpenGLTutorial","owner":"rogerboesch","description":"Companion code of my OpenGL tutorial","archived":false,"fork":false,"pushed_at":"2024-10-03T11:28:02.000Z","size":612,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T03:53:13.574Z","etag":null,"topics":["android","cpp","gamedev","ios","macosx","opengl","tu"],"latest_commit_sha":null,"homepage":"https://rogerboesch.medium.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rogerboesch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-26T06:54:38.000Z","updated_at":"2024-10-03T11:28:06.000Z","dependencies_parsed_at":"2025-01-05T20:36:32.594Z","dependency_job_id":null,"html_url":"https://github.com/rogerboesch/OpenGLTutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerboesch%2FOpenGLTutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerboesch%2FOpenGLTutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerboesch%2FOpenGLTutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogerboesch%2FOpenGLTutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rogerboesch","download_url":"https://codeload.github.com/rogerboesch/OpenGLTutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514209,"owners_count":21116899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cpp","gamedev","ios","macosx","opengl","tu"],"created_at":"2024-11-09T22:32:41.366Z","updated_at":"2025-04-12T03:53:19.345Z","avatar_url":"https://github.com/rogerboesch.png","language":"C++","readme":"# The (Multiplatform-) OpenGL Tutorial\n\nThis tutorial is not about creating another game engine but rather about creating simple games on different platforms with almost no changes using OpenGL and C++.\nFor that reason, the tutorial describes the boilerplate code needed on every platform and how to create a **2D Game** and, in later chapters, a **3D Game** that contains all the game logic.​​\n\n\n### 2D example game: Pong\nI chose Pong as the example 2D game for this tutorial because it just needs rectangles to be created. In the following newsletters, I will extend this by creating more complex and fun games, even in 3D!\n\n\n### 3D example game: Battle Zone\nBattle Zone is one of my all-time favorites. It’s a vector game created by the legendary company Atari. With its use of three-dimensional vector graphics, it only needs wireframe graphics and no textures, lights, etc. A great game to start with in 3D.\n\nI hope you like the tutorial and it brings some light in the different OpenGL versions, how to use them and more importantly how to implement it to become platform independent.\n\n\n### Source Code\nThis repository contains the source code for the OpenGL Tutorial which is now on [Medium](https://rogerboesch.medium.com/)\n\n\n## Articles on Medium\n\n### Coming soon\n\n- Part VIII - Creating Battle Zone 3D (2) \n- Part VII - Creating Battle Zone 3D (1)\n\n### Ready to read\n\n- [Part VI - Entering the Third Dimension](https://rogerboesch.medium.com/the-opengl-tutorial-part-vi-25a30291b4ff)\n- [Part V - Refactoring: Using GameActivity and OpenGL ES 3 on Android](https://medium.com/@rogerboesch/the-opengl-tutorial-part-v-eae15f5bf5a0)\n- [Part IV - Porting to Android](https://rogerboesch.medium.com/the-opengl-tutorial-part-iv-b2e044a21eea)\n- [Part III - Creating a version for iOS](https://rogerboesch.medium.com/the-opengl-tutorial-part-iii-47adb24ec32e)\n- [Part II - Create a 2D game](https://rogerboesch.medium.com/the-opengl-tutorial-part-ii-28e89600565e)\n- [Part I - OpenGL Introduction](https://rogerboesch.medium.com/part-1-opengl-is-apple-killing-it-3508fda24a58)\n\n\n---\n\n\n![Pong in Part IV Update](assets/pong.png)\n\n\n### Videos\n\n[![Video Part IV](https://img.youtube.com/vi/0Mj-r7JjpeE/0.jpg)](https://www.youtube.com/watch?v=0Mj-r7JjpeE)\n\n[![Video Part III](https://img.youtube.com/vi/b7bBmABdUE8/0.jpg)](https://www.youtube.com/watch?v=b7bBmABdUE8)\n\n[![Video Part II](https://img.youtube.com/vi/ijuXTnqpZrA/0.jpg)](https://www.youtube.com/watch?v=ijuXTnqpZrA)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogerboesch%2Fopengltutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogerboesch%2Fopengltutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogerboesch%2Fopengltutorial/lists"}