raylib/BINDINGS.md
devdad 645f9e31c9
I've created bindings for raylib 5.5 for c3-lang at https://c3-lang.org (#4555)
* basic pbr example

pbr implementation  includes rpbr.h and few shader files header only file, which self contain everything needed for pbr rendering. Few textures and one model of the car which is under free licence which is included inside basic_pbr.c example file  currently supported shader versions are 120 and 330 , version 100 has small issue which I have to resolve

* Unloading PBRMAterial

I forgot unloading PBRMaterial

* fix small issue with texOffset assigment.

value was Vector4 at first but I found out it would be unclear for and users, so I change to have two Vector2 instead, but forgot to assign offset .

* Changed size of textures and file name changed

Changed size of textures from 2048x2048 to 1024x1024 and file name changed to shaders_basic_pbr.c ,
Added the function PBRModel PBRModelLoadFromMesh(Mesh mesh);
but GenMeshPlane(2, 2.0, 3, 3) culdn't be used because it crash once GenMeshTangents() is used with that plane mesh

* Update to 5.5 version  of eexample and fix to work in web

set GLSL_VERSION            100

set precision highp float;
removed in keyword
fix for loop has to use only constant

* Update shader_basic_pbr example to work on web

changed to GLSL_VERSION            100
update glsl100 shader
set float  precision  to highp
removed keyword  in
change for loop tu use constant value  gives an error

* Update shader_basic_pbr example to work on web

changed to GLSL_VERSION            100
update glsl100 shader
set float  precision  to highp
removed keyword  in
change for loop tu use constant value  gives an error

* removed rpbr.h

removed rpbr.h

* Bindings for c3-lang    raylib 5.5 and raylib 5.0

I've created raylib 5.5 binding for c3-Lang  https://c3-lang.org
2024-12-01 22:37:28 +01:00

29 KiB

raylib bindings and wrappers

Some people ported raylib to other languages in the form of bindings or wrappers to the library. Here is a list with all the ports available. Feel free to send a PR if you know of any binding/wrapper not in this list.

Language Bindings

Name raylib Version Language License
raylib 5.0 C/C++ Zlib
raylib-beef 5.5 Beef MIT
raylib-boo 3.7 Boo MIT
raybit 5.0 Brainfuck MIT
[raylib-c3] (https://github.com/c3lang/vendor/tree/main/libraries/raylib5.c3l) 5.0 [C3] (https://c3-lang.org) MIT
[raylib-c3] (https://github.com/c3lang/vendor/tree/main/libraries/raylib55.c3l) 5.5 [C3] (https://c3-lang.org) MIT
Raylib-cs 5.0 C# Zlib
Raylib-CsLo 4.2 C# MPL-2.0
Raylib-CSharp-Vinculum 5.0 C# MPL-2.0
Raylib-CSharp 5.1-dev C# MIT
cl-raylib 4.0 Common Lisp MIT
claylib/wrap 4.5 Common Lisp Zlib
claw-raylib auto Common Lisp Apache-2.0
chez-raylib auto Chez Scheme GPLv3
raylib-cr 4.6-dev (5e1a81) Crystal Apache-2.0
ray-cyber 5.0 Cyber MIT
dart-raylib 4.0 Dart MIT
bindbc-raylib3 5.0 D BSL-1.0
dray 5.0 D Apache-2.0
raylib-d 5.5 D Zlib
rayex 3.7 elixir Apache-2.0
raylib-factor 4.5 Factor BSD
raylib-freebasic 5.0 FreeBASIC MIT
fortran-raylib 5.5 Fortran ISC
raylib-go 5.0 Go Zlib
raylib-guile auto Guile Zlib
gforth-raylib 3.5 Gforth ???
h-raylib 5.5-dev Haskell Apache-2.0
raylib-hx 4.2 Haxe Zlib
hb-raylib 3.5 Harbour MIT
jaylib 5.0 Janet MIT
jaylib 5.5 Java GPLv3+CE
raylib-j 4.0 Java Zlib
Raylib.jl 4.2 Julia Zlib
kaylib 3.7 Kotlin/native ???
KaylibKit 4.5 Kotlin/native Zlib
raylib-lua 4.5 Lua ISC
raylua 4.0 Lua MIT
raylib-matte 4.6-dev Matte MIT
Raylib.nelua 5.0 nelua Zlib
raylib-bindings 4.5 Ruby Zlib
naylib 5.1-dev Nim MIT
node-raylib 4.5 Node.js Zlib
raylib-odin 5.0 Odin BSD-3Clause
raylib_odin_bindings 4.0-dev Odin MIT
raylib-ocaml 5.0 OCaml MIT
TurboRaylib 4.5 Object Pascal MIT
Ray4Laz 5.5 Free Pascal Zlib
Raylib.4.0.Pascal 4.0 Free Pascal Zlib
pyraylib 3.7 Python Zlib
raylib-python-cffi 5.5 Python EPL-2.0
raylibpyctbg 4.5 Python MIT
raylib-py 5.5 Python MIT
raylib-python-ctypes 4.6-dev Python MIT
raylib-pkpy-bindings 4.6-dev pocketpy MIT
raylib-php 4.5 PHP Zlib
raylib-phpcpp 3.5 PHP Zlib
raylibr 4.0 R MIT
raylib-ffi 4.5 Rust GPLv3
raylib-rs 5.0 Rust Zlib
Relib 3.5 ReCT ???
racket-raylib 4.0 Racket MIT/Apache-2.0
raylib-swift 4.0 Swift MIT
raylib-scopes auto Scopes MIT
raylib-SmallBASIC 5.0 SmallBASIC GPLv3
raylib-umka 4.5 Umka Zlib
raylib.v 4.2 V Zlib
raylib-vapi 5.0 Vala Zlib
raylib-wren 4.0 Wren ISC
raylib-zig 5.0 Zig MIT
raylib.zig 5.1-dev Zig MIT
raylib-zig-bindings 5.0 Zig Zlib
hare-raylib auto Hare Zlib
raylib-sunder auto Sunder 0BSD
raylib-bqn 5.0 BQN MIT
rayjs 4.6-dev QuickJS MIT
raylib-raku auto Raku Artistic License 2.0
Raylib.lean 5.5-dev Lean4 BSD-3-Clause
raylib-cobol auto COBOL Public domain
raylib-apl 5.0 Dyalog APL MIT

Utility Wrapers

These are utility wrappers for specific languages, they are not required to use raylib in the language but may adapt the raylib API to be more inline with the language's paradigm.

Name raylib Version Language License
raylib-cpp 5.5 C++ Zlib
claylib 4.5 Common Lisp Zlib
rayed-bqn 5.0 BQN MIT
DOOR 4.0 D MIT

Older or Unmaintained Language Bindings

These are older raylib bindings that are more than 2 versions old or have not been maintained.

Name raylib Version Language
raylib-cppsharp 2.5 C#
RaylibFS 2.5 F#
raylib*d 2.5 D
bindbc-raylib 3.0 D
go-raylib 3.5 Go
raylib-goplus 2.6-dev Go
ray-go 2.6-dev Go
raylib-luamore 3.0 Lua
LuaJIT-Raylib 2.6 Lua
raylib-lua-sol 2.5 Lua
raylib-lua-ffi 2.0 Lua
raylib-lua 1.7 Lua
raylib-nelua 3.0 Nelua
raylib-nim 2.0 Nim
raylib-Nim 1.7 Nim
nim-raylib 3.1-dev Nim
raylib-Forever auto Nim
NimraylibNow! 4.2 Nim
raylib-haskell 2.0 Haskell
raylib-cr 2.5-dev Crystal
raylib.cr 2.0 Crystal
cray 1.8 Crystal
raylib-pas 3.0 Pascal
raylib-pascal 2.0 Pascal
Graphics-Raylib 1.4 Perl
raylib-ruby 2.6 Ruby
raylib-ruby-ffi 2.0 Ruby
raylib-mruby 2.5-dev mruby
raylib-java 2.0 Java
clj-raylib 3.0 Clojure
QuickJS-raylib 3.0 QuickJS
raylib-duktape 2.6 JavaScript (Duktape)
raylib-v7 3.5 JavaScript (v7)
raylib-chaiscript 2.6 ChaiScript
raylib-squirrel 2.5 Squirrel
racket-raylib-2d 2.5 Racket
raylib-php-ffi 2.4-dev PHP
raylib-haxe 2.4 Haxe
ringraylib 2.6 Ring
raylib-scm 2.5 Chicken Scheme
raylib-chibi 2.5 Chibi-Scheme
raylib-gambit-scheme 3.1-dev Gambit Scheme
Euraylib 3.0 Euphoria
raylib-odin 3.0 Odin
vraylib 3.5 V
raylib-vala 3.0 Vala
raylib-jai 3.1-dev Jai
ray.zig 2.5 Zig
raylib-Ada 3.0 Ada
raykit ??? Kit
ray.mod 3.0 BlitzMax
raylib-mosaic 3.0 Mosaic
raylib-xdpw 2.6 XD Pascal
raylib-carp 3.0 Carp
raylib-fb 3.0 FreeBasic
raylib-purebasic 3.0 PureBasic
raylib-ats2 3.0 ATS2
raylib-beef 3.0 Beef
raylib-never 3.0 Never
raylib.cbl 2.0 COBOL

Missing some language or wrapper? Feel free to create a new one! :)

Usually, raylib bindings follow the convention: raylib-{language}

Let me know if you're writing a new binding for raylib, I will list it here!