Skip to content

yashrk/raylib-scm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raylib-scm

Chiken Scheme bindings for Raylib Game Library (https://www.raylib.com/, https://github.com/raysan5/raylib).

License

DISCLAIMER

I'm just researching features of Raylib and Chicken Scheme. These bindings are incomplete, probably inefficient and not idiomatic. Use this bindings at your own risk. I even haven't any intent to long-term development of this code.

But, anyway, some work writing glue code is done and may be useful to somebody else.

LICENSE WARNING

Please note: although Raylib itself is licensed by BSD-like license, this library is licensed by GNU Affero Public License (https://www.gnu.org/licenses/agpl-3.0.en.html). You cannot use it in proprietary projects: in my very strong opinion, code once open-sourced shall be open-source forever.

Installation

In the root directory of the project:

sudo chicken-install

Usage

See examples directory.

ToDo

  • Implement enough bindings to rewrite in Scheme all Raylib examples
  • Rewrite in Scheme all Raylib examples
  • Allocate C objects in memory managed by Chicken: it's probably much more efficient than malloc()
  • Make API and deployment files more idiomatic for Chicken Scheme.
  • Write something funny and/or useful using this bindings.

Current Raylib version

Synchronized (well, kind of) with the commit 4ad1fa85.

Contacts

Examples already implemented

Click to screenshot to see source code of the respective example.

core

basic window

basic window

input keys

input keys

input mouse

input mouse

mouse wheel

mouse wheel

drop files

drop files

random values

random values

color select

color select

3d mode

3d mode

3d picking

3d picking

3d camera free

3d camera free

3d camera first person

3d camera first person

shapes

collision area

collision area

textures

particles blending

particles blending

bunnymark

bunnymark

models

box collisions

box collisions

obj loading

obj loading

heightmap

heightmap

skybox

skybox

yaw pitch roll

yaw pitch roll

shaders

postprocessing

postprocessing

raymarching

raymarching

audio

sound loading

sound loading

Releases

No releases published

Packages

No packages published