Skip to content

Commit 14d2e82

Browse files
committed
Renamed function parameters names (camelCase to snake_case).
1 parent ba8f74a commit 14d2e82

File tree

2 files changed

+234
-171
lines changed

2 files changed

+234
-171
lines changed

README.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,65 @@
11
raylibpy
22
========
33

4-
TODO. (sorry...)
4+
**raylib is a simple and easy-to-use library to learn videogames programming. raylibpy
5+
brings the all the strengths of this great library to Python, via ctypes binding.**
6+
7+
More about raylib can be found at its [repository](https://github.com/raisan5/raylib)
8+
and/or [website](https://www.raylib.com).
9+
10+
11+
##features
12+
* **NO external dependencies**, all required libraries included with raylib.
13+
* Multiple platforms supported: **Window, MacOS, Android... and many more!**
14+
* Hardware accelerated with OpenGL (**1.1, 2.1, 3.3 or ES 2.0**)
15+
* **Unique OpenGL abstraction layer** (usable as standalone module): rlgl
16+
* Multiple Font formats supported (XNA fonts, AngelCode fonts, TTF)
17+
* Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC)
18+
* **Full 3d support** for 3d Shapes, Models, Billboards, Heightmaps and more!
19+
* Flexible Materials system, supports classic maps and **PBR maps**
20+
* Shaders support, including Model shaders and Postprocessing shaders
21+
* Audio loading and playing with streamming support (WAV, OGG, MP3, FLAC, XM, MOD)
22+
* **VR stereo rendering** support with configurable HMD device parameters
23+
24+
25+
## binaries
26+
27+
raylibpy comes by default with 32bit binaries for Windows (`libraylib_shared.dll`, mingw),
28+
Linux (`libraylib.so.2.0.0`, i386) and MacOS (`libraylib.2.0.0.dylib`), but raylib have
29+
other [binary releases](https://github.com/raisan5/raylib/releases) (win64, mingw or
30+
msvc15 and linux amd64).
31+
32+
raylibpy will look for the respective binary in 3 locations:
33+
* In the `RAYLIB_BIN_PATH` environment variable;
34+
* in the directory where the `__main__` module is located, and
35+
* in the raylibpy package directory.
36+
37+
`RAYLIB_LIB_PATH` accepts as value: `__main__`, as the entry point module directory;
38+
`__file__` as the package directory or another specific directory.
39+
40+
if `RAYLIB_BIN_PATH` is not set, it will look in the package directory first,
41+
then in the `__main__` module location. Note though that `__main__` refers the module selected to
42+
start the Python interpreter, not the `__main__.py` file, although it might be the case.
43+
44+
The binaries made available by raylib are all OpenGL 3.3. For OpenGL 1.1 or 2.1,
45+
you can download the raylib source and build with the necessary changes in the Makefile.
46+
More information on how to build raylib can be found in the [raylib wiki pages](https://github.com/raisan5/raylib/wiki).
47+
48+
49+
## raylib vs raylibpy
50+
51+
Except for the naming conventions and data types (names and convertions), theres no
52+
significative differences between raylib and raylibpy. At the moment, only bytes
53+
are accepted as string arguments, no implicit convertion is made between integers and
54+
floats. Some of the refinements to be done are exposed below:
55+
56+
| Expects or returns | Accepts/returns only | Will accept/return |
57+
| ------- | ------- | ------- |
58+
| `const char *` | `bytes` (ASCII) | `str` (unicode) |
59+
| `const char **` | `CharPtrPtr` | `List[str]` |
60+
| `int` | `int` | `float` |
61+
| `float` | `float` | `int` |
62+
| `int*` as argument | `IntPtr` as argument | `int` as return, if omitted as argument |
63+
| `Vector3` | `Vector3` | `Tuple[float, float, float]` or `List[float]` |
64+
| `Vector3 *` | `Vector3Ptr` as `byref(instance)` | array, sequence or `bytes` |
65+

0 commit comments

Comments
 (0)