raylib-scm
raylib-scm copied to clipboard
Chiken Scheme bindings for Raylib Game Library
raylib-scm
Chiken Scheme bindings for Raylib Game Library (https://www.raylib.com/, https://github.com/raysan5/raylib).
- DISCLAIMER
- LICENSE WARNING
- Installation
- Usage
- ToDo
- Current Raylib version
- Contacts
-
Examples already implemented
-
core
- basic window
- input keys
- input mouse
- mouse wheel
- drop files
- random values
- color select
- 3d mode
- 3d picking
- 3d camera free
- 3d camera first person
-
shapes
- collision area
-
textures
- particles blending
- bunnymark
-
models
- box collisions
- obj loading
- heightmap
- skybox
- yaw pitch roll
-
shaders
- postprocessing
- raymarching
-
audio
- sound loading
-
core
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
- https://yashrk.github.io/index-en.html
- Raylib's discord: https://discord.gg/raylib, see #raylib-scm channel
Examples already implemented
Click to screenshot to see source code of the respective example.