{"id":23784793,"url":"https://github.com/vekjja/in3D","last_synced_at":"2025-09-06T02:32:41.750Z","repository":{"id":79369767,"uuid":"102369623","full_name":"vekjja/in3D","owner":"vekjja","description":"A relatively simple Go powered OpenGL Graphics Engine","archived":false,"fork":false,"pushed_at":"2025-06-04T04:13:27.000Z","size":218254,"stargazers_count":22,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-17T13:42:26.460Z","etag":null,"topics":["3d","3d-game-engine","3d-graphics","3d-models","game-dev","game-development","game-engine","glsl","go","golang","graphics-engine","graphics-programming","mtl","objectloader","opengl","shaders","wavefront","wavefront-obj"],"latest_commit_sha":null,"homepage":"","language":"Go","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/vekjja.png","metadata":{"files":{"readme":".github/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,"zenodo":null}},"created_at":"2017-09-04T14:21:04.000Z","updated_at":"2025-05-30T00:26:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"3befc2fc-0d47-4e43-9b18-ba317b302d1f","html_url":"https://github.com/vekjja/in3D","commit_stats":null,"previous_names":["vekjja/in3d","seemywingz/in3d"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/vekjja/in3D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vekjja%2Fin3D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vekjja%2Fin3D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vekjja%2Fin3D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vekjja%2Fin3D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vekjja","download_url":"https://codeload.github.com/vekjja/in3D/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vekjja%2Fin3D/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273848306,"owners_count":25178889,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["3d","3d-game-engine","3d-graphics","3d-models","game-dev","game-development","game-engine","glsl","go","golang","graphics-engine","graphics-programming","mtl","objectloader","opengl","shaders","wavefront","wavefront-obj"],"created_at":"2025-01-01T13:11:14.733Z","updated_at":"2025-09-06T02:32:36.731Z","avatar_url":"https://github.com/vekjja.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# in3D\nA relatively simple Go powered OpenGL Graphics Engine\n\nCreate a new Window, Get OpenGL Context, Setup Camera Projection, create 3D object, Draw!  \nGo Ahead, you can do it yourself... `go get github.com/seemywingz/in3D`\n```go\npackage main\n\nimport (\n\t\"github.com/seemywingz/in3D\"\n)\n\nfunc main() {\n\n\tin3D.Init(800, 600, \"Simple Cube in3D\")\n\tin3D.NewLight().Position =\n\t\tin3D.Position{X: 10, Y: 1, Z: 10}\n\n\tin3D.SetRelPath(\"../assets/textures\")\n\ttexture := in3D.NewTexture(\"seemywingz.jpg\")\n\tcolor := []float32{1, 1, 1}\n\n\tobj := in3D.NewPointsObject(\n\t\tin3D.NewPosition(0, 0, -7),\n\t\tin3D.Cube,\n\t\ttexture,\n\t\tcolor,\n\t\tin3D.Shader[\"phong\"],\n\t)\n\tobj.SceneLogic = func(s *in3D.SceneData) {\n\t\ts.XRotation++\n\t\ts.YRotation++\n\t}\n\n\tfor !in3D.ShouldClose() {\n\t\tin3D.Update()\n\t\tobj.Draw()\n\t\tin3D.SwapBuffers()\n\t}\n}\n\n```\n![Simple Rotating Cude in3D](./examples/assets/textures/readme.png)\n### ME-TODO:\n  *  Optimize all the things!  \n  *  Add Shadows, Ambient Occulsion and other light related things  \n  * Have more fun making weird examples!  \n\n### YOU-TODO:\n  * Checkout the other examples to see some more basic functionality  \n  * `go run examples/mesh/mesh.go`\n\n### Installation on Ubuntu\n```\napt-get install libgl1-mesa-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev\n\ngo get github.com/seemywingz/in3D\n```  \n##### Make sure you are using the prorietary driver provided by the vendor of your graphics card \n  \n##### Note:\n###### Some Names and method may change until version 1.0 is tagged\n###### Texture UVs are imported upside down due to the openGL/texture coordinate systems ( flip your texture vertiacally to render correctly  )\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvekjja%2Fin3D","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvekjja%2Fin3D","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvekjja%2Fin3D/lists"}