{"id":30309305,"url":"https://github.com/vekjja/in3d","last_synced_at":"2025-08-17T13:42:23.643Z","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-05-30T00:26:50.000Z","size":218247,"stargazers_count":22,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-30T00:27:08.494Z","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}},"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":6,"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":270856581,"owners_count":24657693,"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-08-17T02:00:09.016Z","response_time":129,"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-08-17T13:42:22.865Z","updated_at":"2025-08-17T13:42:23.610Z","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/vekjja/in3D`\n```go\npackage main\n\nimport (\n\t\"github.com/vekjja/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(\"vekjja.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 fun making 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```\nsudo apt install libgl1-mesa-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev\n\ngo get github.com/vekjja/in3D\n```  \n### Installation on Fedora\n```sh\nsudo dnf install -y libXxf86vm-devel  mesa-libGL-devel mesa-libGLES-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel libX11-devel\n\ngo get github.com/vekjja/in3D\n```\n\n##### Make sure OpenGL 4.1 is supported by your system, drivers and hardware\n\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"}