{"id":17691259,"url":"https://github.com/genericptr/glcanvas","last_synced_at":"2025-08-07T00:44:30.816Z","repository":{"id":91847814,"uuid":"212348673","full_name":"genericptr/GLCanvas","owner":"genericptr","description":"OpenGL drawing library for Free Pascal","archived":false,"fork":false,"pushed_at":"2023-04-17T00:52:09.000Z","size":11296,"stargazers_count":15,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-05T16:54:26.126Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Pascal","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/genericptr.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-02T13:27:32.000Z","updated_at":"2025-03-14T22:12:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"c8b8216c-8325-48ad-a374-b8ed996422ad","html_url":"https://github.com/genericptr/GLCanvas","commit_stats":{"total_commits":83,"total_committers":2,"mean_commits":41.5,"dds":"0.49397590361445787","last_synced_commit":"6efd4eb3ee9965c26e9b053024c5973f2be491a6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/genericptr/GLCanvas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genericptr%2FGLCanvas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genericptr%2FGLCanvas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genericptr%2FGLCanvas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genericptr%2FGLCanvas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genericptr","download_url":"https://codeload.github.com/genericptr/GLCanvas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genericptr%2FGLCanvas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269181011,"owners_count":24373845,"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-06T02:00:09.910Z","response_time":99,"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":[],"created_at":"2024-10-24T12:08:03.495Z","updated_at":"2025-08-07T00:44:30.057Z","avatar_url":"https://github.com/genericptr.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GLCanvas - Minimalistic rendering library\n\nGLCanvas provides a minimalistic rendering API in the same vein as [raylib](https://www.raylib.com) or [libGDX](https://libgdx.badlogicgames.com).\n\nA simple program with GLCanvas:\n\n```pascal\nprogram Test;\nuses\n  CThreads, GLCanvas;\nconst\n  window_size_width = 600;\n  window_size_height = 600;\nvar\n  texture: TTexture;\nbegin\n  SetupCanvas(window_size_width, window_size_height);\n  texture := TTexture.Create('deer.png');\n  while IsRunning do\n    begin\n      ClearBackground;\n      DrawTexture(texture, RectMake(50, 50, texture.GetSize));\n      SwapBuffers;\n    end;\n  QuitApp;\nend.\n```\n\n### Features:\n\n - Flat procedural API\n - Standard vector types and matrix math\n - Texture loading (only supports PNG format currently)\n - Bitmap and Freetype fonts\n - Shaders (optional)\n - Frame buffers (optional)\n - GLUI for many common UI elements like windows, buttons etc...\n\n### Platforms:\n\n - [GLPT](https://github.com/genericptr/GLPT) enable using `-dPLATFORM_GLPT` (GLPT is the default platform)\n - [SDL](https://github.com/libsdl-org/SDL) enable using `-dPLATFORM_SDL`\n\n### Installing on Windows:\n \n - Download and install the latest release of SDL2 for mingw. For example at the time of writing this `SDL2-devel-2.26.3-mingw.zip` is most recent. See https://github.com/libsdl-org/SDL/releases. Copy the `SDL2.dll` from `\\SDL2-2.24.1\\i686-w64-mingw32\\bin` into the directory which contains the compiled executable (Use i686 for if you're using the `i386-win32` 32-bit compiler).\n\n - Download FreeType libraries from https://github.com/ubawurinna/freetype-windows-binaries. Copy `/release dll/win32/freetype.dll` into the directory which contains the compiled executable.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericptr%2Fglcanvas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenericptr%2Fglcanvas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericptr%2Fglcanvas/lists"}