{"id":33235537,"url":"https://github.com/o3o/bindbc-raylib3","last_synced_at":"2026-03-10T23:03:28.763Z","repository":{"id":40455606,"uuid":"419875082","full_name":"o3o/bindbc-raylib3","owner":"o3o","description":"A dynamic and static D binding to the raylib library","archived":false,"fork":false,"pushed_at":"2023-12-24T15:25:37.000Z","size":775,"stargazers_count":16,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-19T08:37:27.957Z","etag":null,"topics":["binding","d","dlang","raylib"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/o3o.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE_1_0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-10-21T20:59:20.000Z","updated_at":"2025-07-28T13:01:33.000Z","dependencies_parsed_at":"2023-12-22T17:29:08.198Z","dependency_job_id":"ca73884f-aac1-4b7b-b368-52e1bcbb4df3","html_url":"https://github.com/o3o/bindbc-raylib3","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/o3o/bindbc-raylib3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3o%2Fbindbc-raylib3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3o%2Fbindbc-raylib3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3o%2Fbindbc-raylib3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3o%2Fbindbc-raylib3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/o3o","download_url":"https://codeload.github.com/o3o/bindbc-raylib3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o3o%2Fbindbc-raylib3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30360620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["binding","d","dlang","raylib"],"created_at":"2025-11-16T18:00:34.508Z","updated_at":"2026-03-10T23:03:28.758Z","avatar_url":"https://github.com/o3o.png","language":"C","funding_links":[],"categories":["Game Bindings"],"sub_categories":[],"readme":"# bindbc-raylib3\nThis project provides both static and dynamic bindings to the [raylib](https://www.raylib.com/) _a simple and easy-to-use library to enjoy videogames programming_.\n\n\nSee [wiki](https://github.com/o3o/bindbc-raylib3/wiki) and [API](https://bindbc-raylib3.dpldocs.info/bindbc.raylib.html).\n\n## Compile raylib source code\nSee [raylib wiki](https://github.com/raysan5/raylib/wiki) and\n[bindbc wiki](https://github.com/o3o/bindbc-raylib3/wiki/compile-raylib)\n\n\n## Usage\nBy default, `bindbc-raylib3` is configured to compile as a _dynamic binding_ that is not `-betterC` compatible.\nThe dynamic binding has no link-time dependency on the raylib library, so the raylib shared library must be manually loaded at run time.\n\nTo use raylib, add `bindbc-raylib3` as a dependency to your project's package config file. For example, the following is configured to compile raylib as a dynamic binding:\n\n__dub.json__\n```\ndependencies {\n    \"bindbc-raylib3\": \"~\u003e0.1.0\",\n}\n```\n\n__dub.sdl__\n```\ndependency \"bindbc-raylib3\" version=\"~\u003e0.1.0\"\n```\nFor [static binding](https://github.com/o3o/bindbc-raylib3/tree/master/examples/static/dub.sdl):\n\n__dub.sdl__\n```\ndependency \"bindbc-raylib3\" version=\"~\u003e0.1.0\"\nsubConfiguration \"bindbc-raylib3\" \"static\"\n```\n\n### Loading raylib\nThe `loadRaylib` function is used to load all supported raylib functions.\nThe return value of `loadRaylib` can be used to determine which version of raylib actually loaded.\n```d\nimport bindbc.raylib;\nimport loader = bindbc.loader.sharedlib;\n\nvoid main(string[] args) {\n   RaylibSupport retVal = loadRaylib();\n   // raylibSupport is an enum with current raylib version\n   if (retVal != raylibSupport) {\n      // error\n   } else {\n      // successful\n   }\n}\n```\n\nFor static binding see [wiki](https://github.com/o3o/bindbc-raylib3/wiki/the-static-binding)\n\n## Raylib version\nFollowing are the `bindbc-raylib3` versions, the supported versions of raylib and the corresponding `RaylibSupport` members.\n\n| Raylib version       | `RaylibSupport` Member    | bindbc-raylib3 version |\n| -------------------- | --------------------      | ---                    |\n| 4.5.0                | `RaylibSupport.raylib450` | 4.5.0                  |\n| 4.2.0                | `RaylibSupport.raylib420` | 2.0.0                  |\n| 4.0.0                | `RaylibSupport.raylib400` | 1.0.0                  |\n| 3.7.0                | `RaylibSupport.raylib370` | 0.3.0                  |\n\nFor more detailed information please refer to the [wiki](https://github.com/o3o/bindbc-raylib3/wiki/bindbc-raylib3-versioning).\n\n\n## Examples\nYou can find [original raylib examples](https://www.raylib.com/examples.html) ported to D inside [examples directory](https://github.com/o3o/bindbc-raylib3/tree/master/examples).\n\nA simple example:\n\n```d\nimport std.stdio;\nimport bindbc.raylib;\n\nvoid main(string[] args) {\n   RaylibSupport retVal = loadRaylib();\n   if (retVal != raylibSupport) {\n      writeln(\"ERROR: \", retVal);\n   } else {\n      writeln(\"VERSION: \", retVal);\n      writeln(\"loaded : \", loadedRaylibVersion);\n\n      enum SCREEN_WIDTH = 800;\n      enum SCREEN_HEIGHT = 450;\n\n      // Initialization\n      InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, \"raylib [core] example - basic window\");\n\n      SetTargetFPS(60); // Set our game to run at 60 frames-per-second\n\n      // Main game loop\n      while (!WindowShouldClose()) {\n         // Draw\n         BeginDrawing();\n         ClearBackground(GOLD);\n         DrawText(\"Congrats! You created your first window!\", 190, 200, 20, LIGHTGRAY);\n         EndDrawing();\n      }\n      CloseWindow();\n   }\n}\n```\n\n## Dependencies\n- [bindbc-loader](https://github.com/BindBC/bindbc-loader)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo3o%2Fbindbc-raylib3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fo3o%2Fbindbc-raylib3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo3o%2Fbindbc-raylib3/lists"}