纳瓦里安 / raylib-ffi
使用 FFI 为 PHP 提供的 Raylib 绑定
dev-main
2021-12-20 20:01 UTC
Requires
- php: ^8.1
- ext-ffi: ^8.1
- webmozart/assert: ^1.10
Requires (Dev)
- captainhook/captainhook: ^5.4
- captainhook/plugin-composer: ^5.2
- laminas/laminas-code: ^4.4
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-09-23 00:06:06 UTC
README
使用 FFI 为 PHP 提供的 Raylib 绑定。
贡献
该项目仍在开发中,欢迎贡献!
用法
请参阅 examples/ 以获取完整的实现示例。
每个程序最初看起来都像以下这样
<?php declare(strict_types=1); require_once __DIR__ . '/vendor/autoload.php'; use Nawarian\Raylib\Types\Color; use function Nawarian\Raylib\{ BeginDrawing, ClearBackground, CloseWindow, DrawText, EndDrawing, InitWindow, WindowShouldClose }; InitWindow(800, 600, 'My raylib Window using FFI'); while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(Color::white()); DrawText('Hello from raylib-ffi!', 400, 300, 20, Color::red()); EndDrawing(); } CloseWindow();
最近的精彩截图
以下是从 core_3d_camera_first_person 程序中捕获的截图。
它启动时生成随机建筑并创建一个 3D 第一人称摄像机,允许玩家使用 W,A,S,D 键和光标自由行走。
路线图
以下是在此项目中要开发的事项列表。
项目
- 在
main
和 Pull Requests 上自动检查:编译 raylib 并测试 FFI 对 Linux、Windows 和 MacOS 的支持 - 将
Raylib
中的方法重命名为遵循 No Camel Caps 规范(PSR-1) - 使
RaylibFactory
检测当前操作系统并相应地加载raylib.h
- 创建一个
generated-functions.php
文件,该文件将通过注册全局函数来模仿 Raylib
FFI 代理
-
void InitWindow(int width, int height, const char *title)
-
bool WindowShouldClose(void)
-
void CloseWindow(void)
-
bool IsWindowReady(void)
-
bool IsWindowFullscreen(void)
-
bool IsWindowHidden(void)
-
bool IsWindowMinimized(void)
-
bool IsWindowMaximized(void)
-
bool IsWindowFocused(void)
-
bool IsWindowResized(void)
-
bool IsWindowState(unsigned int flag)
-
void SetWindowState(unsigned int flags)
-
void ClearWindowState(unsigned int flags)
-
void ToggleFullscreen(void)
-
void MaximizeWindow(void)
-
void MinimizeWindow(void)
-
void RestoreWindow(void)
-
void SetWindowIcon(Image image)
-
void SetWindowTitle(const char *title)
-
void SetWindowPosition(int x, int y)
-
void SetWindowMonitor(int monitor)
-
void SetWindowMinSize(int width, int height)
-
void SetWindowSize(int width, int height)
-
void *GetWindowHandle(void)
-
int GetScreenWidth(void)
-
int GetScreenHeight(void)
-
int GetMonitorCount(void)
-
Vector2 GetMonitorPosition(int monitor)
-
int GetMonitorWidth(int monitor)
-
int GetMonitorHeight(int monitor)
-
int GetMonitorPhysicalWidth(int monitor)
-
int GetMonitorPhysicalHeight(int monitor)
-
int GetMonitorRefreshRate(int monitor)
-
Vector2 GetWindowPosition(void)
-
Vector2 GetWindowScaleDPI(void)
-
const char *GetMonitorName(int monitor)
-
void SetClipboardText(const char *text)
-
const char *GetClipboardText(void)
-
void ShowCursor(void)
-
void HideCursor(void)
-
bool IsCursorHidden(void)
-
void EnableCursor(void)
-
void DisableCursor(void)
-
bool IsCursorOnScreen(void)
-
void ClearBackground(Color color)
-
void BeginDrawing(void)
-
void EndDrawing(void)
-
void BeginMode2D(Camera2D camera)
-
void EndMode2D(void)
-
void BeginMode3D(Camera3D camera)
-
void EndMode3D(void)
-
void BeginTextureMode(RenderTexture2D target)
-
void EndTextureMode(void)
-
void BeginScissorMode(int x, int y, int width, int height)
-
void EndScissorMode(void)
-
Ray GetMouseRay(Vector2 mousePosition, Camera camera)
-
Matrix GetCameraMatrix(Camera camera)
-
Matrix GetCameraMatrix2D(Camera2D camera)
-
Vector2 GetWorldToScreen(Vector3 position, Camera camera)
-
Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height)
-
Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera)
-
获取屏幕到世界2D的向量 Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera)
-
设置目标帧率 void SetTargetFPS(int fps)
-
获取帧率 int GetFPS(void)
-
获取帧时间 float GetFrameTime(void)
-
获取时间 double GetTime(void)
-
设置配置标志 void SetConfigFlags(unsigned int flags)
-
设置跟踪日志级别 void SetTraceLogLevel(int logType)
-
设置跟踪日志退出 void SetTraceLogExit(int logType)
-
设置跟踪日志回调 void SetTraceLogCallback(TraceLogCallback callback)
-
跟踪日志 void TraceLog(int logType, const char *text, ...)
-
内存分配 void *MemAlloc(int size)
-
内存释放 void MemFree(void *ptr)
-
截图 void TakeScreenshot(const char *fileName)
-
获取随机值 int GetRandomValue(int min, int max)
-
加载文件数据 unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead)
-
卸载文件数据 void UnloadFileData(unsigned char *data)
-
保存文件数据 bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite)
-
加载文件文本 char *LoadFileText(const char *fileName)
-
卸载文件文本 void UnloadFileText(unsigned char *text)
-
保存文件文本 bool SaveFileText(const char *fileName, char *text)
-
文件存在 bool FileExists(const char *fileName)
-
目录存在 bool DirectoryExists(const char *dirPath)
-
文件扩展名 bool IsFileExtension(const char *fileName, const char *ext)
-
获取文件扩展名 const char *GetFileExtension(const char *fileName)
-
获取文件名 const char *GetFileName(const char *filePath)
-
获取不带扩展名的文件名 const char *GetFileNameWithoutExt(const char *filePath)
-
获取目录路径 const char *GetDirectoryPath(const char *filePath)
-
获取上一级目录路径 const char *GetPrevDirectoryPath(const char *dirPath)
-
获取工作目录 const char *GetWorkingDirectory(void)
-
获取目录文件 char **GetDirectoryFiles(const char *dirPath, int *count)
-
清除目录文件 void ClearDirectoryFiles(void)
-
更改目录 bool ChangeDirectory(const char *dir)
-
文件是否被拖动 bool IsFileDropped(void)
-
获取拖动的文件 char **GetDroppedFiles(int *count)
-
清除拖动的文件 void ClearDroppedFiles(void)
-
获取文件修改时间 long GetFileModTime(const char *fileName)
-
压缩数据 unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength)
-
解压缩数据 unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength)
-
保存存储值 bool SaveStorageValue(unsigned int position, int value)
-
加载存储值 int LoadStorageValue(unsigned int position)
-
打开URL void OpenURL(const char *url)
-
按键是否被按下 bool IsKeyPressed(int key)
-
按键是否按下 bool IsKeyDown(int key)
-
按键是否释放 bool IsKeyReleased(int key)
-
按键是否抬起 bool IsKeyUp(int key)
-
设置退出键 void SetExitKey(int key)
-
获取按下的键 int GetKeyPressed(void)
-
获取按下的字符 int GetCharPressed(void)
-
手柄是否可用 bool IsGamepadAvailable(int gamepad)
-
手柄名称 bool IsGamepadName(int gamepad, const char *name)
-
获取手柄名称 const char *GetGamepadName(int gamepad)
-
手柄按钮是否被按下 bool IsGamepadButtonPressed(int gamepad, int button)
-
手柄按钮是否按下 bool IsGamepadButtonDown(int gamepad, int button)
-
手柄按钮是否释放 bool IsGamepadButtonReleased(int gamepad, int button)
-
手柄按钮是否抬起 bool IsGamepadButtonUp(int gamepad, int button)
-
获取按下的手柄按钮 int GetGamepadButtonPressed(void)
-
获取手柄轴数量 int GetGamepadAxisCount(int gamepad)
-
获取手柄轴移动量 float GetGamepadAxisMovement(int gamepad, int axis)
-
鼠标按钮是否被按下 bool IsMouseButtonPressed(int button)
-
鼠标按钮是否按下 bool IsMouseButtonDown(int button)
-
鼠标按钮是否释放 bool IsMouseButtonReleased(int button)
-
鼠标按钮是否抬起 bool IsMouseButtonUp(int button)
-
获取鼠标X坐标 int GetMouseX(void)
-
获取鼠标Y坐标 int GetMouseY(void)
-
获取鼠标位置 Vector2 GetMousePosition(void)
-
设置鼠标位置 void SetMousePosition(int x, int y)
-
设置鼠标偏移量 void SetMouseOffset(int offsetX, int offsetY)
-
设置鼠标缩放 void SetMouseScale(float scaleX, float scaleY)
-
获取鼠标滚轮移动量 float GetMouseWheelMove(void)
-
获取鼠标光标 int GetMouseCursor(void)
-
设置鼠标光标 void SetMouseCursor(int cursor)
-
获取触摸X坐标 int GetTouchX(void)
-
获取触摸Y坐标 int GetTouchY(void)
-
获取触摸位置 Vector2 GetTouchPosition(int index)
-
启用手势 void SetGesturesEnabled(unsigned int gestureFlags)
-
是否有检测到的手势 bool IsGestureDetected(int gesture)
-
获取检测到的手势 int GetGestureDetected(void)
-
获取触摸点数量 int GetTouchPointsCount(void)
-
获取手势握持持续时间 float GetGestureHoldDuration(void)
-
获取手势拖拽向量 Vector2 GetGestureDragVector(void)
-
获取手势拖拽角度 float GetGestureDragAngle(void)
-
获取手势捏合向量 Vector2 GetGesturePinchVector(void)
-
获取手势捏合角度 float GetGesturePinchAngle(void)
-
设置相机模式 void SetCameraMode(Camera camera, int mode)
-
更新相机 void UpdateCamera(Camera *camera)
-
设置相机平移控制键 void SetCameraPanControl(int keyPan)
-
设置相机交替控制键 void SetCameraAltControl(int keyAlt)
-
设置相机平滑缩放控制键 void SetCameraSmoothZoomControl(int keySmoothZoom)
-
设置相机移动控制键 void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int keyLeft, int keyUp, int keyDown)
-
绘制像素 void DrawPixel(int posX, int posY, Color color)
-
绘制像素 void DrawPixelV(Vector2 position, Color color)
-
绘制线 void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color)
-
绘制线 void DrawLineV(Vector2 startPos, Vector2 endPos, Color color)
-
绘制线 void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color)
-
绘制贝塞尔线 void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color)
-
void DrawLineStrip(Vector2 *points, int pointsCount, Color color)
-
void DrawCircle(int centerX, int centerY, float radius, Color color)
-
void DrawCircleSector(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color)
-
void DrawCircleSectorLines(Vector2 center, float radius, int startAngle, int endAngle, int segments, Color color)
-
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2)
-
void DrawCircleV(Vector2 center, float radius, Color color)
-
void DrawCircleLines(int centerX, int centerY, float radius, Color color)
-
void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color)
-
void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color)
-
void DrawRing(Vector2 center, float innerRadius, float outerRadius, int startAngle, int endAngle, int segments, Color color)
-
void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, int startAngle, int endAngle, int segments, Color color)
-
void DrawRectangle(int posX, int posY, int width, int height, Color color)
-
void DrawRectangleV(Vector2 position, Vector2 size, Color color)
-
void DrawRectangleRec(Rectangle rec, Color color)
-
void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color)
-
void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2)
-
void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2)
-
void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4)
-
void DrawRectangleLines(int posX, int posY, int width, int height, Color color)
-
void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color)
-
void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color)
-
void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color)
-
void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
-
void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
-
void DrawTriangleFan(Vector2 *points, int pointsCount, Color color)
-
void DrawTriangleStrip(Vector2 *points, int pointsCount, Color color)
-
void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color)
-
void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color)
-
bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2)
-
bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2)
-
bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec)
-
bool CheckCollisionPointRec(Vector2 point, Rectangle rec)
-
bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius)
-
bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3)
-
bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint)
-
Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2)
-
Image LoadImage(const char *fileName)
-
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize)
-
Image LoadImageAnim(const char *fileName, int *frames)
-
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize)
-
void UnloadImage(Image image)
-
bool ExportImage(Image image, const char *fileName)
-
bool ExportImageAsCode(Image image, const char *fileName)
-
Image GenImageColor(int width, int height, Color color)
-
Image GenImageGradientV(int width, int height, Color top, Color bottom)
-
Image GenImageGradientH(int width, int height, Color left, Color right)
-
Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer)
-
Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2)
-
Image GenImageWhiteNoise(int width, int height, float factor)
-
Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale)
-
Image GenImageCellular(int width, int height, int tileSize)
-
Image ImageCopy(Image image)
-
Image ImageFromImage(Image image, Rectangle rec)
-
Image ImageText(const char *text, int fontSize, Color color)
-
Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint)
-
void ImageFormat(Image *image, int newFormat)
-
void ImageToPOT(Image *image, Color fill)
-
void ImageCrop(Image *image, Rectangle crop)
-
void ImageAlphaCrop(Image *image, float threshold)
-
void ImageAlphaClear(Image *image, Color color, float threshold)
-
void ImageAlphaMask(Image *image, Image alphaMask)
-
void ImageAlphaPremultiply(Image *image)
-
void ImageResize(Image *image, int newWidth, int newHeight)
-
void ImageResizeNN(Image *image, int newWidth, int newHeight)
-
void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill)
-
void ImageMipmaps(Image *image)
-
void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp)
-
void ImageFlipVertical(Image *image)
-
void ImageFlipHorizontal(Image *image)
-
void ImageRotateCW(Image *image)
-
void ImageRotateCCW(Image *image)
-
void ImageColorTint(Image *image, Color color)
-
void ImageColorInvert(Image *image)
-
void ImageColorGrayscale(Image *image)
-
void ImageColorContrast(Image *image, float contrast)
-
void ImageColorBrightness(Image *image, int brightness)
-
void ImageColorReplace(Image *image, Color color, Color replace)
-
Color *LoadImageColors(Image image)
-
Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorsCount)
-
void UnloadImageColors(Color *colors)
-
void UnloadImagePalette(Color *colors)
-
Rectangle GetImageAlphaBorder(Image image, float threshold)
-
void ImageClearBackground(Image *dst, Color color)
-
void ImageDrawPixel(Image *dst, int posX, int posY, Color color)
-
void ImageDrawPixelV(Image *dst, Vector2 position, Color color)
-
void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color)
-
void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color)
-
void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color)
-
void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color)
-
void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color)
-
void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color)
-
void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color)
-
void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color)
-
void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint)
-
void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color)
-
void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint)
-
Texture2D LoadTexture(const char *fileName)
-
Texture2D LoadTextureFromImage(Image image)
-
TextureCubemap LoadTextureCubemap(Image image, int layoutType)
-
RenderTexture2D LoadRenderTexture(int width, int height)
-
void UnloadTexture(Texture2D texture)
-
void UnloadRenderTexture(RenderTexture2D target)
-
void UpdateTexture(Texture2D texture, const void *pixels)
-
void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels)
-
Image GetTextureData(Texture2D texture)
-
Image GetScreenData(void)
-
void GenTextureMipmaps(Texture2D *texture)
-
void SetTextureFilter(Texture2D texture, int filterMode)
-
void SetTextureWrap(Texture2D texture, int wrapMode)
-
void DrawTexture(Texture2D texture, int posX, int posY, Color tint)
-
void DrawTextureV(Texture2D texture, Vector2 position, Color tint)
-
void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint)
-
void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint)
-
void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint)
-
void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint)
-
void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint)
-
void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint)
-
Color Fade(Color color, float alpha)
-
int ColorToInt(Color color)
-
Vector4 ColorNormalize(Color color)
-
Color ColorFromNormalized(Vector4 normalized)
-
Vector3 ColorToHSV(Color color)
-
Color ColorFromHSV(float hue, float saturation, float value)
-
Color ColorAlpha(Color color, float alpha)
-
Color ColorAlphaBlend(Color dst, Color src, Color tint)
-
Color GetColor(int hexValue)
-
Color GetPixelColor(void *srcPtr, int format)
-
void SetPixelColor(void *dstPtr, Color color, int format)
-
int GetPixelDataSize(int width, int height, int format)
-
Font GetFontDefault(void)
-
Font LoadFont(const char *fileName)
-
Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount)
-
Font LoadFontFromImage(Image image, Color key, int firstChar)
-
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount)
-
CharInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type)
-
Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod)
-
void UnloadFontData(CharInfo *chars, int charsCount)
-
void UnloadFont(Font font)
-
void DrawFPS(int posX, int posY)
-
void DrawText(const char *text, int posX, int posY, int fontSize, Color color)
-
void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint)
-
void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint)
-
void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint, int selectStart, int selectLength, Color selectTint, Color selectBackTint)
-
void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint)
-
int MeasureText(const char *text, int fontSize)
-
Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing)
-
int GetGlyphIndex(Font font, int codepoint)
-
int TextCopy(char *dst, const char *src)
-
bool TextIsEqual(const char *text1, const char *text2)
-
unsigned int TextLength(const char *text)
-
const char *TextFormat(const char *text, ...)
-
const char *TextSubtext(const char *text, int position, int length)
-
char *TextReplace(char *text, const char *replace, const char *by)
-
char *TextInsert(const char *text, const char *insert, int position)
-
const char *TextJoin(const char **textList, int count, const char *delimiter)
-
const char **TextSplit(const char *text, char delimiter, int *count)
-
void TextAppend(char *text, const char *append, int *position)
-
int TextFindIndex(const char *text, const char *find)
-
const char *TextToUpper(const char *text)
-
const char *TextToLower(const char *text)
-
const char *TextToPascal(const char *text)
-
int TextToInteger(const char *text)
-
char *TextToUtf8(int *codepoints, int length)
-
int *GetCodepoints(const char *text, int *count)
-
int GetCodepointsCount(const char *text)
-
int GetNextCodepoint(const char *text, int *bytesProcessed)
-
const char *CodepointToUtf8(int codepoint, int *byteLength)
-
void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color)
-
void DrawPoint3D(Vector3 position, Color color)
-
void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color)
-
void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color)
-
void DrawTriangleStrip3D(Vector3 *points, int pointsCount, Color color)
-
void DrawCube(Vector3 position, float width, float height, float length, Color color)
-
void DrawCubeV(Vector3 position, Vector3 size, Color color)
-
void DrawCubeWires(Vector3 position, float width, float height, float length, Color color)
-
void DrawCubeWiresV(Vector3 position, Vector3 size, Color color)
-
void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color)
-
void DrawSphere(Vector3 centerPos, float radius, Color color)
-
void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color)
-
void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color)
-
void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color)
-
void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color)
-
void DrawPlane(Vector3 centerPos, Vector2 size, Color color)
-
void DrawRay(Ray ray, Color color)
-
void DrawGrid(int slices, float spacing)
-
void DrawGizmo(Vector3 position)
-
Model LoadModel(const char *fileName)
-
Model LoadModelFromMesh(Mesh mesh)
-
void UnloadModel(Model model)
-
void UnloadModelKeepMeshes(Model model)
-
Mesh *LoadMeshes(const char *fileName, int *meshCount)
-
void UnloadMesh(Mesh mesh)
-
bool ExportMesh(Mesh mesh, const char *fileName)
-
Material *LoadMaterials(const char *fileName, int *materialCount)
-
Material LoadMaterialDefault(void)
-
void UnloadMaterial(Material material)
-
void SetMaterialTexture(Material *material, int mapType, Texture2D texture)
-
void SetModelMeshMaterial(Model *model, int meshId, int materialId)
-
ModelAnimation *LoadModelAnimations(const char *fileName, int *animsCount)
-
void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
-
void UnloadModelAnimation(ModelAnimation anim)
-
bool IsModelAnimationValid(Model model, ModelAnimation anim)
-
Mesh GenMeshPoly(int sides, float radius)
-
Mesh GenMeshPlane(float width, float length, int resX, int resZ)
-
Mesh GenMeshCube(float width, float height, float length)
-
Mesh GenMeshSphere(float radius, int rings, int slices)
-
Mesh GenMeshHemiSphere(float radius, int rings, int slices)
-
Mesh GenMeshCylinder(float radius, float height, int slices)
-
Mesh GenMeshTorus(float radius, float size, int radSeg, int sides)
-
Mesh GenMeshKnot(float radius, float size, int radSeg, int sides)
-
Mesh GenMeshHeightmap(Image heightmap, Vector3 size)
-
Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize)
-
BoundingBox MeshBoundingBox(Mesh mesh)
-
void MeshTangents(Mesh *mesh)
-
void MeshBinormals(Mesh *mesh)
-
void MeshNormalsSmooth(Mesh *mesh)
-
void DrawModel(Model model, Vector3 position, float scale, Color tint)
-
void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
-
void DrawModelWires(Model model, Vector3 position, float scale, Color tint)
-
void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
-
void DrawBoundingBox(BoundingBox box, Color color)
-
void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint)
-
void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 center, float size, Color tint)
-
bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2)
-
bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2)
-
bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius)
-
bool CheckCollisionRaySphere(Ray ray, Vector3 center, float radius)
-
bool CheckCollisionRaySphereEx(Ray ray, Vector3 center, float radius, Vector3 *collisionPoint)
-
bool CheckCollisionRayBox(Ray ray, BoundingBox box)
-
RayHitInfo GetCollisionRayMesh(Ray ray, Mesh mesh, Matrix transform)
-
RayHitInfo GetCollisionRayModel(Ray ray, Model model)
-
RayHitInfo GetCollisionRayTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3)
-
RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight)
-
Shader LoadShader(const char *vsFileName, const char *fsFileName)
-
Shader LoadShaderCode(const char *vsCode, const char *fsCode)
-
void UnloadShader(Shader shader)
-
Shader GetShaderDefault(void)
-
Texture2D GetTextureDefault(void)
-
Texture2D GetShapesTexture(void)
-
Rectangle GetShapesTextureRec(void)
-
void SetShapesTexture(Texture2D texture, Rectangle source)
-
int GetShaderLocation(Shader shader, const char *uniformName)
-
int GetShaderLocationAttrib(Shader shader, const char *attribName)
-
void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType)
-
void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count)
-
void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat)
-
void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture)
-
void SetMatrixProjection(Matrix proj)
-
void SetMatrixModelview(Matrix view)
-
Matrix GetMatrixModelview(void)
-
Matrix GetMatrixProjection(void)
-
TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format)
-
TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size)
-
TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size)
-
Texture2D GenTextureBRDF(Shader shader, int size)
-
void BeginShaderMode(Shader shader)
-
void EndShaderMode(void)
-
void BeginBlendMode(int mode)
-
void EndBlendMode(void)
-
void InitVrSimulator(void)
-
void CloseVrSimulator(void)
-
void UpdateVrTracking(Camera *camera)
-
void SetVrConfiguration(VrDeviceInfo info, Shader distortion)
-
bool IsVrSimulatorReady(void)
-
void ToggleVrMode(void)
-
void BeginVrDrawing(void)
-
void EndVrDrawing(void)
-
void InitAudioDevice(void)
-
void CloseAudioDevice(void)
-
bool IsAudioDeviceReady(void)
-
void SetMasterVolume(float volume)
-
Wave LoadWave(const char *fileName)
-
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize)
-
Sound LoadSound(const char *fileName)
-
Sound LoadSoundFromWave(Wave wave)
-
void UpdateSound(Sound sound, const void *data, int samplesCount)
-
void UnloadWave(Wave wave)
-
void UnloadSound(Sound sound)
-
bool ExportWave(Wave wave, const char *fileName)
-
bool ExportWaveAsCode(Wave wave, const char *fileName)
-
void PlaySound(Sound sound)
-
void StopSound(Sound sound)
-
void PauseSound(Sound sound)
-
void ResumeSound(Sound sound)
-
void PlaySoundMulti(Sound sound)
-
void StopSoundMulti(void)
-
int GetSoundsPlaying(void)
-
bool IsSoundPlaying(Sound sound)
-
void SetSoundVolume(Sound sound, float volume)
-
void SetSoundPitch(Sound sound, float pitch)
-
void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels)
-
Wave WaveCopy(Wave wave)
-
void WaveCrop(Wave *wave, int initSample, int finalSample)
-
float *LoadWaveSamples(Wave wave)
-
void UnloadWaveSamples(float *samples)
-
Music LoadMusicStream(const char *fileName)
-
void UnloadMusicStream(Music music)
-
void PlayMusicStream(Music music)
-
void UpdateMusicStream(Music music)
-
void StopMusicStream(Music music)
-
void PauseMusicStream(Music music)
-
void ResumeMusicStream(Music music)
-
bool IsMusicPlaying(Music music)
-
void SetMusicVolume(Music music, float volume)
-
void SetMusicPitch(Music music, float pitch)
-
float GetMusicTimeLength(Music music)
-
float GetMusicTimePlayed(Music music)
-
AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels)
-
void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount)
-
void CloseAudioStream(AudioStream stream)
-
bool IsAudioStreamProcessed(AudioStream stream)
-
void PlayAudioStream(AudioStream stream)
-
void PauseAudioStream(AudioStream stream)
-
void ResumeAudioStream(AudioStream stream)
-
bool IsAudioStreamPlaying(AudioStream stream)
-
void StopAudioStream(AudioStream stream)
-
void SetAudioStreamVolume(AudioStream stream, float volume)
-
void SetAudioStreamPitch(AudioStream stream, float pitch)
-
void SetAudioStreamBufferSizeDefault(int size)
Ray Math
-
float Clamp(float value, float min, float max)
-
float Lerp(float start, float end, float amount)
-
float Normalize(float value, float start, float end)
-
float Remap(float value, float inputStart, float inputEnd, float outputStart, float outputEnd)
-
Vector2 Vector2Zero(void)
-
Vector2 Vector2One(void)
-
Vector2 Vector2Add(Vector2 v1, Vector2 v2)
-
Vector2 Vector2AddValue(Vector2 v, float add)
-
Vector2 Vector2Subtract(Vector2 v1, Vector2 v2)
-
Vector2 Vector2SubtractValue(Vector2 v, float sub)
-
float Vector2Length(Vector2 v)
-
float Vector2LengthSqr(Vector2 v)
-
float Vector2DotProduct(Vector2 v1, Vector2 v2)
-
float Vector2Distance(Vector2 v1, Vector2 v2)
-
float Vector2Angle(Vector2 v1, Vector2 v2)
-
Vector2 Vector2Scale(Vector2 v, float scale)
-
Vector2 Vector2Multiply(Vector2 v1, Vector2 v2)
-
Vector2 Vector2Negate(Vector2 v)
-
Vector2 Vector2Divide(Vector2 v1, Vector2 v2)
-
Vector2 Vector2Normalize(Vector2 v)
-
Vector2 Vector2Lerp(Vector2 v1, Vector2 v2, float amount)
-
Vector2 Vector2Reflect(Vector2 v, Vector2 normal)
-
Vector2 Vector2Rotate(Vector2 v, float degs)
-
Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance)
-
Vector3 Vector3Zero(void)
-
Vector3 Vector3One(void)
-
Vector3 Vector3Add(Vector3 v1, Vector3 v2)
-
Vector3 Vector3AddValue(Vector3 v, float add)
-
Vector3 Vector3Subtract(Vector3 v1, Vector3 v2)
-
Vector3 Vector3SubtractValue(Vector3 v, float sub)
-
Vector3 Vector3Scale(Vector3 v, float scalar)
-
Vector3 Vector3Multiply(Vector3 v1, Vector3 v2)
-
Vector3 Vector3CrossProduct(Vector3 v1, Vector3 v2)
-
Vector3 Vector3Perpendicular(Vector3 v)
-
float Vector3Length(const Vector3 v)
-
float Vector3LengthSqr(const Vector3 v)
-
float Vector3DotProduct(Vector3 v1, Vector3 v2)
-
float Vector3Distance(Vector3 v1, Vector3 v2)
-
Vector3 Vector3Negate(Vector3 v)
-
Vector3 Vector3Divide(Vector3 v1, Vector3 v2)
-
Vector3 Vector3Normalize(Vector3 v)
-
void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2)
-
Vector3 Vector3Transform(Vector3 v, Matrix mat)
-
Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q)
-
Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount)
-
Vector3 Vector3Reflect(Vector3 v, Vector3 normal)
-
Vector3 Vector3Min(Vector3 v1, Vector3 v2)
-
Vector3 Vector3Max(Vector3 v1, Vector3 v2)
-
Vector3 Vector3Barycenter(Vector3 p, Vector3 a, Vector3 b, Vector3 c)
-
float3 Vector3ToFloatV(Vector3 v)
-
float MatrixDeterminant(Matrix mat)
-
float MatrixTrace(Matrix mat)
-
Matrix MatrixTranspose(Matrix mat)
-
Matrix MatrixInvert(Matrix mat)
-
Matrix MatrixNormalize(Matrix mat)
-
Matrix MatrixIdentity(void)
-
Matrix MatrixAdd(Matrix left, Matrix right)
-
Matrix MatrixSubtract(Matrix left, Matrix right)
-
Matrix MatrixMultiply(Matrix left, Matrix right)
-
Matrix MatrixTranslate(float x, float y, float z)
-
Matrix MatrixRotate(Vector3 axis, float angle)
-
Matrix MatrixRotateX(float angle)
-
Matrix MatrixRotateY(float angle)
-
Matrix MatrixRotateZ(float angle)
-
Matrix MatrixRotateXYZ(Vector3 ang)
-
Matrix MatrixRotateZYX(Vector3 ang)
-
Matrix MatrixScale(float x, float y, float z)
-
Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far)
-
Matrix MatrixPerspective(double fovy, double aspect, double near, double far)
-
Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far)
-
Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up)
-
float16 MatrixToFloatV(Matrix mat)
-
Quaternion QuaternionAdd(Quaternion q1, Quaternion q2)
-
Quaternion QuaternionAddValue(Quaternion q, float add)
-
Quaternion QuaternionSubtract(Quaternion q1, Quaternion q2)
-
Quaternion QuaternionSubtractValue(Quaternion q, float sub)
-
Quaternion QuaternionIdentity(void)
-
float QuaternionLength(Quaternion q)
-
Quaternion QuaternionNormalize(Quaternion q)
-
Quaternion QuaternionInvert(Quaternion q)
-
Quaternion QuaternionMultiply(Quaternion q1, Quaternion q2)
-
Quaternion QuaternionScale(Quaternion q, float mul)
-
Quaternion QuaternionDivide(Quaternion q1, Quaternion q2)
-
Quaternion QuaternionLerp(Quaternion q1, Quaternion q2, float amount)
-
Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount)
-
Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount)
-
Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to)
-
Quaternion QuaternionFromMatrix(Matrix mat)
-
Matrix QuaternionToMatrix(Quaternion q)
-
Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle)
-
void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle)
-
Quaternion QuaternionFromEuler(float pitch, float yaw, float roll)
-
Vector3 QuaternionToEuler(Quaternion q)
-
Quaternion QuaternionTransform(Quaternion q, Matrix mat)
-
Vector3 Vector3Unproject(Vector3 source, Matrix projection, Matrix view)
示例
- audio/audio_module_playing.php
- audio/audio_multichannel_sound.php
- audio/audio_music_stream.php
- audio/audio_raw_stream.php
- audio/audio_sound_loading.php
- 核心/core_2d_camera.php
- 核心/core_2d_camera_platformer.php
- 核心/core_3d_camera_first_person.php
- 核心/core_3d_camera_free.php
- 核心/core_3d_camera_mode.php
- 核心/core_3d_picking.php
- 核心/core_basic_window.php
- 核心/core_basic_window_web.php
- 核心/core_custom_logging.php
- 核心/core_drop_files.php
- 核心/core_input_gamepad.php
- 核心/core_input_gestures.php
- 核心/core_input_keys.php
- 核心/core_input_mouse.php
- 核心/core_input_mouse_wheel.php
- 核心/core_input_multitouch.php
- 核心/core_loading_thread.php
- 核心/core_quat_conversion.php
- 核心/core_random_values.php
- 核心/core_scissor_test.php
- 核心/core_storage_values.php
- 核心/core_vr_simulator.php
- 核心/core_window_flags.php
- 核心/core_window_letterbox.php
- 核心/core_world_screen.php
- 模型/models_animation.php
- 模型/models_billboard.php
- 模型/models_box_collisions.php
- 模型/models_cubicmap.php
- 模型/models_first_person_maze.php
- 模型/models_geometric_shapes.php
- 模型/models_gltf_animation.php
- 模型/models_gltf_model.php
- 模型/models_heightmap.php
- 模型/models_loading.php
- 模型/models_material_pbr.php
- 模型/models_mesh_generation.php
- 模型/models_mesh_picking.php
- 模型/models_orthographic_projection.php
- 模型/models_rlgl_solar_system.php
- 模型/models_skybox.php
- 模型/models_waving_cubes.php
- 模型/models_yaw_pitch_roll.php
- 物理/physics_demo.php
- 物理/physics_friction.php
- 物理/physics_movement.php
- 物理/physics_restitution.php
- 物理/physics_shatter.php
- 着色器/shaders_basic_lighting.php
- 着色器/shaders_custom_uniform.php
- 着色器/shaders_eratosthenes.php
- 着色器/shaders_fog.php
- 着色器/shaders_hot_reloading.php
- 着色器/shaders_julia_set.php
- 着色器/shaders_model_shader.php
- 着色器/shaders_multi_sample2d.php
- 着色器/shaders_palette_switch.php
- 着色器/shaders_postprocessing.php
- 着色器/shaders_raymarching.php
- 着色器/shaders_rlgl_mesh_instanced.php
- 着色器/shaders_shapes_textures.php
- 着色器/shaders_simple_mask.php
- 着色器/shaders_spotlight.php
- 着色器/shaders_texture_drawing.php
- 着色器/shaders_texture_waves.php
- 形状/shapes_basic_shapes.php
- 形状/shapes_bouncing_ball.php
- 形状/shapes_collision_area.php
- 形状/shapes_colors_palette.php
- 形状/shapes_draw_circle_sector.php
- 形状/shapes_draw_rectangle_rounded.php
- 形状/shapes_draw_ring.php
- 形状/shapes_easings_ball_anim.php
- 形状/shapes_easings_box_anim.php
- 形状/shapes_easings_rectangle_array.php
- 形状/shapes_following_eyes.php
- 形状/shapes_lines_bezier.php
- 形状/shapes_logo_raylib.php
- 形状/shapes_logo_raylib_anim.php
- 形状/shapes_rectangle_scaling.php
- 文本/text_font_filters.php
- 文本/text_font_loading.php
- 文本/text_font_sdf.php
- 文本/text_font_spritefont.php
- 文本/text_format_text.php
- 文本/text_input_box.php
- 文本/text_raylib_fonts.php
- 文本/text_rectangle_bounds.php
- 文本/text_unicode.php
- 文本/text_writing_anim.php
- 纹理/textures_background_scrolling.php
- 纹理/textures_blend_modes.php
- 纹理/textures_bunnymark.php
- 纹理/textures_draw_tiled.php
- 纹理/textures_image_drawing.php
- 纹理/textures_image_generation.php
- 纹理/textures_mouse_painting.php
- 纹理/textures_image_text.php
- 纹理/textures_image_loading.php
- 纹理/textures_logo_raylib.php
- 纹理/textures_image_processing.php
- 纹理/textures_npatch_drawing.php
- 纹理/textures_particles_blending.php
- 纹理/textures_poly.php
- 纹理/textures_raw_data.php
- 纹理/textures_rectangle.php
- 纹理/textures_sprite_button.php
- 纹理/textures_sprite_explosion.php
- 纹理/textures_srcrec_dstrec.php
- 纹理/textures_to_image.php