raylib受到Borland BGI图形LIB的高度启发和XNA框架,它特别适合原型,工具,图形应用,嵌入式系统和教育。
注意冒险家: raylib是一个编程库,可以享受视频游戏编程;没有花哨的界面,没有视觉助手,没有调试按钮…只是以最纯净的Spartan Programmer方式编码。
特征
- 没有外部依赖项,所有必需的库都包含在raylib中
- 支持多个平台: Windows,Linux,MacOS,RPI,Android,HTML5 …等等!
- 使用Pascalcase/Camelcase符号编写普通C代码(C99)
- 用OpenGL: 1.1、2.1、3.3、4.3,ES 2.0,ES 3.0加速硬件
- 唯一的OpenGL抽象层(可用作为独立模块):RLGL
- 支持多种字体格式(TTF,OTF,FNT,BDF,Sprite字体)
- 支持的多种纹理格式,包括压缩格式(DXT等,ASTC)
- 完整的3D支持,包括3D形状,型号,广告牌,高度图等!
- 灵活的材料系统,支撑经典地图和PBR地图
- 支持动画3D模型(骨骼骨骼动画)(IQM,M3D,GLTF)
- 着色器的支持,包括模型着色器和后处理。
- 矢量,矩阵和季节操作的功能强大的数学模块:Raymath
- 音频加载和播放流支持(WAV,QOA,OGG,MP3,FLAC,XM,MOD)
- VR立体声渲染支持使用可配置的HMD设备参数
- 大量示例收集+140代码示例!
- 绑定+70编程语言!
- 免费和开源
基本示例
这是一个基本的raylib示例,它创建一个窗口并绘制文本\"Congrats! You created your first window!\"在屏幕中间。在此处查看此示例在Web上实时运行。
raylib.h\”
int main(void)
{
InitWindow(800, 450, \” raylib [core] example – basic window\”);
while (!WindowShouldClose())
{
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText(\”Congrats! You created your first window!\”, 190, 200, 20, LIGHTGRAY);
EndDrawing();
}
CloseWindow();
return 0;
}\”>
#include \" raylib .h\" int main ( void ) { InitWindow ( 800 , 450 , \" raylib [core] example - basic window\" ); while (! WindowShouldClose ()) { BeginDrawing (); ClearBackground ( RAYWHITE ); DrawText ( \"Congrats! You created your first window!\" , 190 , 200 , 20 , LIGHTGRAY ); EndDrawing (); } CloseWindow (); return 0 ; }
构建和安装
raylib二进制版本的Windows,Linux,MacOS,Android和HTML5可在GitHub版本页面上找到。
raylib也可以通过多个软件包管理器上的多个软件包管理器获得。
在多个平台上安装和构建raylib
raylib Wiki包含有关在多个平台上构建和使用的详细说明。
- 在Windows上工作
- 在MacOS上工作
- 在GNU Linux上工作
- 在Chrome OS上工作
- 在FreeBSD上工作
- 在覆盆子Pi上工作
- 为Android工作
- 为Web工作(HTML5)
- 与CMAKE一起工作
请注意,Wiki开放供编辑,如果您在为目标平台构建raylib时发现一些问题,请随时编辑Wiki或打开与之相关的问题。
设置带有多个IDE的raylib
raylib是在Windows平台上使用Notepad ++和MingW GCC编译器开发的,但可以与多个平台上的其他IDE一起使用。
项目目录包含几个现成的项目模板,用于构建带有多个IDE的raylib和代码示例。
请注意,有很多IDE支持,一些提供的模板可能需要进行一些审查,因此,如果您发现模板的某些问题,或者您认为它们可以得到改进,请随时发送PR或打开相关问题。
学习和文档
raylib旨在使用示例作为主要参考来学习。没有标准的API文档,但是有一个备忘单包含库上每个功能的所有功能,对每个功能进行了简短描述,输入参数和结果值名称应该足够直观,以了解每个函数的工作方式。
有关raylib设计的一些其他文档可以在raylib Github Wiki中找到。这是相关链接:
- raylib备忘单
- raylib架构
- raylib库设计
- raylib示例集
- raylib Games Collection
联系人和网络
raylib存在于多个网络中, raylib社区每天都在增长。如果您正在使用raylib并享受它,请随时加入我们的任何一个网络。最活跃的网络是我们的Discord服务器! 🙂
- 网页:https://www.raylib.com
- 不和谐:https://discord.gg/raylib
- Twitter:https://www.twitter.com/raysan5
- Bluesky:https://bsky.app/profile/raysan5
- 抽搐:https://www.twitch.tv/raysan5
- reddit:https://www.reddit.com/r/raylib
- Patreon:https://www.patreon.com/raylib
- YouTube:https://www.youtube.com/channel/raylib
贡献者
执照
raylib获得了未修改的Zlib/LIBPNG许可证的许可,该许可是OSI认证的类似BSD的许可证,可允许使用封闭的源软件进行静态链接。检查许可证以获取更多详细信息。
raylib在内部使用一些库来用于窗口/图形/输入管理,并支持不同的文件格式加载,所有这些库都嵌入并在SRC/外部目录中可用。查看raylib依赖项在raylib Wiki上的许可证以获取详细信息。
