clockworkpi

Raylib - Potential lib to work with on the ClockworkPi?

I’ve been sort of wondering if there has been anyone else besides me working with Raylib on the GameShell.

In case you’re wondering, here’s a copied-over description of the library:

raylib is a simple and easy-to-use library to enjoy videogames programming.

NOTE for ADVENTURERS: raylib is a programming library to enjoy videogames programming; no fancy interface, no visual helper… just coding in the most pure spartan-programmers way.

features

  • NO external dependencies , all required libraries are included in raylib
  • Multiplatform: Windows, Linux, MacOS, Android… and many more!
  • Written in plain C code (C99) in PascalCase/camelCase notation
  • Hardware accelerated with OpenGL ( 1.1, 2.1, 3.3 or ES 2.0 )
  • Unique OpenGL abstraction layer (usable as standalone module): rlgl
  • Multiple Fonts formats supported (XNA fonts, AngelCode fonts, TTF)
  • Outstanding texture formats support (including DXT, ETC, ASTC)
  • Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more!
  • Flexible Materials system, supporting classic maps and PBR maps
  • Animated 3d models supported (skeletal bones animation)
  • Shaders support, including Model shaders and Postprocessing shaders
  • Powerful math module for Vector, Matrix and Quaternion operations: raymath
  • Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC…)
  • VR stereo rendering support with configurable HMD device parameters
  • Huge examples collection with +95 code examples!
  • Bindings to +25 programming languages!

So yeah, it looks pretty decent to me, self-contained and all! It even comes with a little cheatsheet to get you quickly familiar with the API. I’ve been evaluating this for different features it offers, but I’ve had problems with some drawn elements (text doesn’t render correctly, chunks of it missing) and after some time the application completely freezing in certain cases (it seems draw calls at some point stop responding and the buffer isn’t swapped), but this seems to be 0.3 specific, seeing as there’s been problems with other stuff like Godot, as well.

What do you think? Out of many options to make a game with, I feel this one’s coming close to being the most performant on the board. :slight_smile:

If you want to give it a go, first make sure you have the necessary stuff to build it with. I assume here that you are using SSH to connect to the console:
sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev build-essential git

Then, you clone the repository somewhere (like the apps folder):
git clone https://github.com/raysan5/raylib.git

This comes with examples, templates, and ready games (though all of those would need to be edited to display properly on the display), but first we want to compile the library and install it In this peculiar case, we specify the graphics API to be set on the OpenGL 2.1 profile, which this chip supports.
cd raylib/src
make GRAPHICS=GRAPHICS_API_OPENGL_21 -j4
sudo make install

If everything goes right, we can go ahead and compile the examples. By default, Raylib is built as a static library, so when you build those examples, they will come with that library bundled with the executable.
cd …/examples
make -j4
cd core
DISPLAY=:0 ./core_3d_camera_mode

(The last two examples here will launch one of the examples on the screen of the GS.)

EDIT: Whoops, missed a link.