PHYSACDEFvoidInitPhysics(void);// Initializes physics values, pointers and creates physics loop thread
PHYSACDEFvoidRunPhysicsStep(void);// Run physics step, to be used if PHYSICS_NO_THREADS is set in your main loop
PHYSACDEFvoidSetPhysicsTimeStep(doubledelta);// Sets physics fixed time step in milliseconds. 1.666666 by default
PHYSACDEFboolIsPhysicsEnabled(void);// Returns true if physics thread is currently enabled
PHYSACDEFvoidSetPhysicsGravity(floatx,floaty);// Sets physics global gravity force
PHYSACDEFPhysicsBodyCreatePhysicsBodyCircle(Vector2pos,floatradius,floatdensity);// Creates a new circle physics body with generic parameters
PHYSACDEFPhysicsBodyCreatePhysicsBodyRectangle(Vector2pos,floatwidth,floatheight,floatdensity);// Creates a new rectangle physics body with generic parameters
PHYSACDEFPhysicsBodyCreatePhysicsBodyPolygon(Vector2pos,floatradius,intsides,floatdensity);// Creates a new polygon physics body with generic parameters
PHYSACDEFvoidPhysicsAddForce(PhysicsBodybody,Vector2force);// Adds a force to a physics body
PHYSACDEFvoidPhysicsAddTorque(PhysicsBodybody,floatamount);// Adds an angular force to a physics body
PHYSACDEFvoidPhysicsShatter(PhysicsBodybody,Vector2position,floatforce);// Shatters a polygon shape physics body to little physics bodies with explosion force
PHYSACDEFintGetPhysicsBodiesCount(void);// Returns the current amount of created physics bodies
PHYSACDEFPhysicsBodyGetPhysicsBody(intindex);// Returns a physics body of the bodies pool at a specific index
PHYSACDEFintGetPhysicsShapeType(intindex);// Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON)
PHYSACDEFintGetPhysicsShapeVerticesCount(intindex);// Returns the amount of vertices of a physics body shape
PHYSACDEFVector2GetPhysicsShapeVertex(PhysicsBodybody,intvertex);// Returns transformed position of a body shape (body position + vertex transformed position)
PHYSACDEFvoidSetPhysicsBodyRotation(PhysicsBodybody,floatradians);// Sets physics body shape transform based on radians parameter
PHYSACDEFvoidDestroyPhysicsBody(PhysicsBodybody);// Unitializes and destroy a physics body
PHYSACDEFvoidResetPhysics(void);// Destroys created physics bodies and manifolds and resets global values
PHYSACDEFvoidClosePhysics(void);// Unitializes physics pointers and closes physics loop thread
RLAPIvoidSetCameraMode(Cameracamera,intmode);// Set camera mode (multiple camera modes available)
RLAPIvoidUpdateCamera(Camera*camera);// Update camera position for selected mode
RLAPIvoidSetCameraPanControl(intpanKey);// Set camera pan key to combine with mouse movement (free camera)
RLAPIvoidSetCameraAltControl(intaltKey);// Set camera alt key to combine with mouse movement (free camera)
RLAPIvoidSetCameraSmoothZoomControl(intszKey);// Set camera smooth zoom key to combine with mouse (free camera)
RLAPIvoidSetCameraMoveControls(intfrontKey,intbackKey,intrightKey,intleftKey,intupKey,intdownKey);// Set camera move controls (1st person and 3rd person cameras)
RLAPIvoidImageColorContrast(Image*image,floatcontrast);// Modify image color: contrast (-100 to 100)
RLAPIvoidImageColorBrightness(Image*image,intbrightness);// Modify image color: brightness (-255 to 255)
RLAPIvoidImageColorReplace(Image*image,Colorcolor,Colorreplace);// Modify image color: replace color
RLAPIColor*ImageExtractPalette(Imageimage,intmaxPaletteSize,int*extractCount);// Extract color palette from image to maximum size (memory should be freed)
RLAPIRectangleGetImageAlphaBorder(Imageimage,floatthreshold);// Get image alpha border rectangle
// Image drawing functions
// NOTE: Image software-rendering functions (CPU)
RLAPIvoidImageClearBackground(Image*dst,Colorcolor);// Clear image background with given color
RLAPIvoidImageDrawPixel(Image*dst,intposX,intposY,Colorcolor);// Draw pixel within an image
RLAPIvoidImageDrawPixelV(Image*dst,Vector2position,Colorcolor);// Draw pixel within an image (Vector version)
RLAPIvoidImageDrawLine(Image*dst,intstartPosX,intstartPosY,intendPosX,intendPosY,Colorcolor);// Draw line within an image
RLAPIvoidImageDrawLineV(Image*dst,Vector2start,Vector2end,Colorcolor);// Draw line within an image (Vector version)
RLAPIvoidImageDrawCircle(Image*dst,intcenterX,intcenterY,intradius,Colorcolor);// Draw circle within an image
RLAPIvoidImageDrawCircleV(Image*dst,Vector2center,intradius,Colorcolor);// Draw circle within an image (Vector version)
RLAPIvoidImageDrawRectangle(Image*dst,intposX,intposY,intwidth,intheight,Colorcolor);// Draw rectangle within an image
RLAPIvoidImageDrawRectangleV(Image*dst,Vector2position,Vector2size,Colorcolor);// Draw rectangle within an image (Vector version)
RLAPIvoidImageDrawRectangleRec(Image*dst,Rectanglerec,Colorcolor);// Draw rectangle within an image
RLAPIvoidImageDrawRectangleLines(Image*dst,Rectanglerec,intthick,Colorcolor);// Draw rectangle lines within an image
RLAPIvoidImageDraw(Image*dst,Imagesrc,RectanglesrcRec,RectangledstRec,Colortint);// Draw a source image within a destination image (tint applied to source)
RLAPIvoidImageDrawText(Image*dst,Vector2position,constchar*text,intfontSize,Colorcolor);// Draw text (default font) within an image (destination)
RLAPIvoidImageDrawTextEx(Image*dst,Vector2position,Fontfont,constchar*text,floatfontSize,floatspacing,Colorcolor);// Draw text (custom sprite font) within an image (destination)
// Texture loading functions
// NOTE: These functions require GPU access
RLAPITexture2DLoadTexture(constchar*fileName);// Load texture from file into GPU memory (VRAM)
RLAPITexture2DLoadTextureFromImage(Imageimage);// Load texture from image data
RLAPITextureCubemapLoadTextureCubemap(Imageimage,intlayoutType);// Load cubemap from image, multiple image cubemap layouts supported
RLAPIRenderTexture2DLoadRenderTexture(intwidth,intheight);// Load texture for rendering (framebuffer)
RLAPIvoidUnloadTexture(Texture2Dtexture);// Unload texture from GPU memory (VRAM)
RLAPIvoidUnloadRenderTexture(RenderTexture2Dtarget);// Unload render texture from GPU memory (VRAM)
RLAPIvoidUpdateTexture(Texture2Dtexture,constvoid*pixels);// Update GPU texture with new data
RLAPIImageGetTextureData(Texture2Dtexture);// Get pixel data from GPU texture and return an Image
RLAPIImageGetScreenData(void);// Get pixel data from screen buffer and return an Image (screenshot)
// Texture configuration functions
RLAPIvoidGenTextureMipmaps(Texture2D*texture);// Generate GPU mipmaps for a texture
RLAPIvoidSetTextureFilter(Texture2Dtexture,intfilterMode);// Set texture scaling filter mode
RLAPIvoidSetTextureWrap(Texture2Dtexture,intwrapMode);// Set texture wrapping mode
// Texture drawing functions
RLAPIvoidDrawTexture(Texture2Dtexture,intposX,intposY,Colortint);// Draw a Texture2D
RLAPIvoidDrawTextureV(Texture2Dtexture,Vector2position,Colortint);// Draw a Texture2D with position defined as Vector2
RLAPIvoidDrawTextureEx(Texture2Dtexture,Vector2position,floatrotation,floatscale,Colortint);// Draw a Texture2D with extended parameters
RLAPIvoidDrawTextureRec(Texture2Dtexture,RectanglesourceRec,Vector2position,Colortint);// Draw a part of a texture defined by a rectangle
RLAPIvoidDrawTextureQuad(Texture2Dtexture,Vector2tiling,Vector2offset,Rectanglequad,Colortint);// Draw texture quad with tiling and offset parameters
RLAPIvoidDrawTexturePro(Texture2Dtexture,RectanglesourceRec,RectangledestRec,Vector2origin,floatrotation,Colortint);// Draw a part of a texture defined by a rectangle with 'pro' parameters
RLAPIvoidDrawTextureNPatch(Texture2Dtexture,NPatchInfonPatchInfo,RectangledestRec,Vector2origin,floatrotation,Colortint);// Draws a texture (or part of it) that stretches or shrinks nicely
// Image/Texture misc functions
RLAPIintGetPixelDataSize(intwidth,intheight,intformat);// Get pixel data size in bytes (image or texture)
RLAPIFontGetFontDefault(void);// Get the default Font
RLAPIFontLoadFont(constchar*fileName);// Load font from file into GPU memory (VRAM)
RLAPIFontLoadFontEx(constchar*fileName,intfontSize,int*fontChars,intcharsCount);// Load font from file with extended parameters
RLAPIFontLoadFontFromImage(Imageimage,Colorkey,intfirstChar);// Load font from Image (XNA style)
RLAPICharInfo*LoadFontData(constchar*fileName,intfontSize,int*fontChars,intcharsCount,inttype);// Load font data for further use
RLAPIImageGenImageFontAtlas(constCharInfo*chars,Rectangle**recs,intcharsCount,intfontSize,intpadding,intpackMethod);// Generate image font atlas using chars info
RLAPIvoidUnloadFont(Fontfont);// Unload Font from GPU memory (VRAM)
// Text drawing functions
RLAPIvoidDrawFPS(intposX,intposY);// Shows current FPS
RLAPIvoidDrawText(constchar*text,intposX,intposY,intfontSize,Colorcolor);// Draw text (using default font)
RLAPIvoidDrawTextEx(Fontfont,constchar*text,Vector2position,floatfontSize,floatspacing,Colortint);// Draw text using font and additional parameters
RLAPIvoidDrawTextRec(Fontfont,constchar*text,Rectanglerec,floatfontSize,floatspacing,boolwordWrap,Colortint);// Draw text using font inside rectangle limits
RLAPIvoidDrawModel(Modelmodel,Vector3position,floatscale,Colortint);// Draw a model (with texture if set)
RLAPIvoidDrawModelEx(Modelmodel,Vector3position,Vector3rotationAxis,floatrotationAngle,Vector3scale,Colortint);// Draw a model with extended parameters
RLAPIvoidDrawModelWires(Modelmodel,Vector3position,floatscale,Colortint);// Draw a model wires (with texture if set)
RLAPIvoidDrawModelWiresEx(Modelmodel,Vector3position,Vector3rotationAxis,floatrotationAngle,Vector3scale,Colortint);// Draw a model wires (with texture if set) with extended parameters
RLAPIvoidDrawBillboard(Cameracamera,Texture2Dtexture,Vector3center,floatsize,Colortint);// Draw a billboard texture
RLAPIvoidDrawBillboardRec(Cameracamera,Texture2Dtexture,RectanglesourceRec,Vector3center,floatsize,Colortint);// Draw a billboard texture defined by sourceRec
// Collision detection functions
RLAPIboolCheckCollisionSpheres(Vector3centerA,floatradiusA,Vector3centerB,floatradiusB);// Detect collision between two spheres
RLAPIboolCheckCollisionBoxes(BoundingBoxbox1,BoundingBoxbox2);// Detect collision between two bounding boxes
RLAPIboolCheckCollisionBoxSphere(BoundingBoxbox,Vector3center,floatradius);// Detect collision between box and sphere
RLAPIboolCheckCollisionRaySphere(Rayray,Vector3center,floatradius);// Detect collision between ray and sphere
RLAPIboolCheckCollisionRaySphereEx(Rayray,Vector3center,floatradius,Vector3*collisionPoint);// Detect collision between ray and sphere, returns collision point
RLAPIboolCheckCollisionRayBox(Rayray,BoundingBoxbox);// Detect collision between ray and box
RLAPIRayHitInfoGetCollisionRayModel(Rayray,Modelmodel);// Get collision info between ray and model
RLAPIRayHitInfoGetCollisionRayTriangle(Rayray,Vector3p1,Vector3p2,Vector3p3);// Get collision info between ray and triangle
RLAPIRayHitInfoGetCollisionRayGround(Rayray,floatgroundHeight);// Get collision info between ray and ground plane (Y-normal plane)