{"id":15321219,"url":"https://github.com/reznik99/gengine3d-cpp","last_synced_at":"2025-07-29T05:06:48.274Z","repository":{"id":123678021,"uuid":"216167819","full_name":"reznik99/GEngine3D-CPP","owner":"reznik99","description":"Simple 3D Engine in C++, using SDL for window and event managment.","archived":false,"fork":false,"pushed_at":"2021-04-05T02:26:01.000Z","size":14346,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-08T08:47:46.314Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/reznik99.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":"2019-10-19T07:37:14.000Z","updated_at":"2023-11-14T11:43:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"1611fc3f-b30b-4b0d-934f-d04445aa86dd","html_url":"https://github.com/reznik99/GEngine3D-CPP","commit_stats":{"total_commits":94,"total_committers":3,"mean_commits":"31.333333333333332","dds":0.5638297872340425,"last_synced_commit":"60dcb5d7c57a353900e35963abd2e9e5ab037071"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FGEngine3D-CPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FGEngine3D-CPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FGEngine3D-CPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reznik99%2FGEngine3D-CPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reznik99","download_url":"https://codeload.github.com/reznik99/GEngine3D-CPP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240738121,"owners_count":19849549,"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":[],"created_at":"2024-10-01T09:10:10.951Z","updated_at":"2025-02-25T20:16:33.865Z","avatar_url":"https://github.com/reznik99.png","language":"C++","readme":"# C-OpenGL-3D-Engine\n\n### Simple 3D Engine written in C++, using OpenGL\n\u003e \u003ca href=\"https://www.assimp.org/\"\u003eAssimp\u003c/a\u003e greatly simplifies loading complex objects and meshes.\u003cbr\u003e\n\u003e \u003ca href=\"https://github.com/nothings/stb\"\u003estb_image.h\u003c/a\u003e simplifies loading images/textures.\u003cbr\u003e\n\u003e \u003ca href=\"https://github.com/g-truc/glm\"\u003eGLM\u003c/a\u003e simplifies matrix operations such as rotation/translation/scaling and creating projection matrices..\u003cbr\u003e\n\u003e \u003ca href=\"https://www.libsdl.org/\"\u003eSDL\u003c/a\u003e simplifies making and updating the window, and getting user input either mouse or keyboard..\u003cbr\u003e\n\u003e C++ was chosen to see if preformance would be better than my other project GEngine3D using Java \u0026 LWJGL.\u003cbr\u003e\n\u003e OpenGL was chosen because cross-platform compatibility and a little previous experience with it..\u003cbr\u003e\n\n\u003cp float=\"left\" align=\"center\"\u003e\n  \u003cimg src=\"readmeSrc/10.PNG\" width=\"45%\" /\u003e\n  \u003cimg src=\"readmeSrc/9.PNG\" width=\"45%\" /\u003e\n\u003c/p\u003e\n\n\n## Implemented:\n* Assimp Model loader\n* Phong Lighting\n* Terrain\n  * Heightmap Generation\n  * Blendmapping\n  * Collision\n* Skybox\n* Crude FPS Camera\n* Multiplayer\n  * Built on UDP and TCP\n  * Players can join/leave lobby freely\n  * Client Authorative\n\n## To-Be Implemented:\n* Multiple light sources\n* Normal mapping\n  * Entity\n  * Terrain\n* Water\n  * Reflection\n  * Refraction\n* Shadows \n  * Shadow Mapping\n  * PFC or Percentage Closer Filtering\n  * Cascading Shadow Maps)\n* Particle renderer\n* Text/UI renderer\n* LOD (Level_Of_Detail)\n  * Objects\n  * Terrain\n* Object Collision\n* Multiplayer imporvements\n  * Client Interpolation\n  * Server Authorative\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freznik99%2Fgengine3d-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freznik99%2Fgengine3d-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freznik99%2Fgengine3d-cpp/lists"}