From 4da07bc220804128a88429da08081b8137a07e2a Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 5 Mar 2017 12:28:35 +0100 Subject: [PATCH] Created raylib data structures (markdown) --- raylib-data-structures.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 raylib-data-structures.md diff --git a/raylib-data-structures.md b/raylib-data-structures.md new file mode 100644 index 0000000..4def60a --- /dev/null +++ b/raylib-data-structures.md @@ -0,0 +1,29 @@ +raylib provides some basic data structures to organize game information. Those structures are quite common in most of the engines out there: +```c + struct Color; // Color type, RGBA (32bit) + struct Rectangle; // Rectangle type + struct Vector2; // Vector2 type + struct Vector3; // Vector3 type + struct Matrix; // Matrix type (OpenGL style 4x4) + + struct Image; // Image type (multiple data formats supported) + // NOTE: Data stored in CPU memory (RAM) + struct Texture2D; // Texture2D type (multiple internal formats supported) + // NOTE: Data stored in GPU memory (VRAM) + struct RenderTexture2D; // RenderTexture2D type, for texture rendering + struct SpriteFont; // SpriteFont type, includes texture and chars data + + struct Camera; // Camera type, defines 3d camera position/orientation + struct Camera2D; // Camera2D type, defines a 2d camera + struct Mesh; // Vertex data definning a mesh + struct Shader; // Shader type (generic shader) + struct Material; // Material type + struct Light; // Light type, defines light properties + struct Model; // Basic 3d Model type + struct Ray; // Ray type (useful for raycast) + + struct Wave; // Wave type, defines audio wave data + struct Sound; // Basic Sound source and buffer + struct Music; // Music type (file streaming from memory) + struct AudioStream; // Raw audio stream type +``` \ No newline at end of file