Documentation ¶
Overview ¶
Package raylib - Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.
raylib is highly inspired by Borland BGI graphics lib and by XNA framework.
raylib could be useful for prototyping, tools development, graphic applications, embedded systems and education.
NOTE for ADVENTURERS: raylib is a programming library to learn videogames programming; no fancy interface, no visual helpers, no auto-debugging... just coding in the most pure spartan-programmers way.
Example:
package main import "github.com/gen2brain/raylib-go/raylib" func main() { rl.InitWindow(800, 450, "raylib [core] example - basic window") rl.SetTargetFPS(60) for !rl.WindowShouldClose() { rl.BeginDrawing() rl.ClearBackground(rl.RayWhite) rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LightGray) rl.EndDrawing() } rl.CloseWindow() }
Index ¶
- Constants
- Variables
- func BeginBlendMode(mode BlendMode)
- func BeginDrawing()
- func BeginMode2D(camera Camera2D)
- func BeginMode3D(camera Camera)
- func BeginShaderMode(shader Shader)
- func BeginTextureMode(target RenderTexture2D)
- func BeginVrDrawing()
- func CheckCollisionBoxSphere(box BoundingBox, centerSphere Vector3, radiusSphere float32) bool
- func CheckCollisionBoxes(box1 BoundingBox, box2 BoundingBox) bool
- func CheckCollisionCircleRec(center Vector2, radius float32, rec Rectangle) bool
- func CheckCollisionCircles(center1 Vector2, radius1 float32, center2 Vector2, radius2 float32) bool
- func CheckCollisionPointCircle(point Vector2, center Vector2, radius float32) bool
- func CheckCollisionPointRec(point Vector2, rec Rectangle) bool
- func CheckCollisionPointTriangle(point, p1, p2, p3 Vector2) bool
- func CheckCollisionRayBox(ray Ray, box BoundingBox) bool
- func CheckCollisionRaySphere(ray Ray, spherePosition Vector3, sphereRadius float32) bool
- func CheckCollisionRaySphereEx(ray Ray, spherePosition Vector3, sphereRadius float32, collisionPoint Vector3) bool
- func CheckCollisionRecs(rec1, rec2 Rectangle) bool
- func CheckCollisionSpheres(centerA Vector3, radiusA float32, centerB Vector3, radiusB float32) bool
- func ClearBackground(color Color)
- func ClearDroppedFiles()
- func CloseAudioDevice()
- func CloseAudioStream(stream AudioStream)
- func CloseVrSimulator()
- func CloseWindow()
- func ColorToInt(color Color) int32
- func DisableCursor()
- func DrawBillboard(camera Camera, texture Texture2D, center Vector3, size float32, tint Color)
- func DrawBillboardRec(camera Camera, texture Texture2D, sourceRec Rectangle, center Vector3, ...)
- func DrawBoundingBox(box BoundingBox, color Color)
- func DrawCircle(centerX, centerY int32, radius float32, color Color)
- func DrawCircle3D(center Vector3, radius float32, rotationAxis Vector3, rotationAngle float32, ...)
- func DrawCircleGradient(centerX, centerY int32, radius float32, color1, color2 Color)
- func DrawCircleLines(centerX, centerY int32, radius float32, color Color)
- func DrawCircleV(center Vector2, radius float32, color Color)
- func DrawCube(position Vector3, width float32, height float32, length float32, color Color)
- func DrawCubeTexture(texture Texture2D, position Vector3, width float32, height float32, ...)
- func DrawCubeV(position Vector3, size Vector3, color Color)
- func DrawCubeWires(position Vector3, width float32, height float32, length float32, color Color)
- func DrawCylinder(position Vector3, radiusTop float32, radiusBottom float32, height float32, ...)
- func DrawCylinderWires(position Vector3, radiusTop float32, radiusBottom float32, height float32, ...)
- func DrawFPS(posX int32, posY int32)
- func DrawGizmo(position Vector3)
- func DrawGrid(slices int32, spacing float32)
- func DrawLine(startPosX, startPosY, endPosX, endPosY int32, color Color)
- func DrawLine3D(startPos Vector3, endPos Vector3, color Color)
- func DrawLineBezier(startPos, endPos Vector2, thick float32, color Color)
- func DrawLineEx(startPos, endPos Vector2, thick float32, color Color)
- func DrawLineV(startPos, endPos Vector2, color Color)
- func DrawModel(model Model, position Vector3, scale float32, tint Color)
- func DrawModelEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, ...)
- func DrawModelWires(model Model, position Vector3, scale float32, tint Color)
- func DrawModelWiresEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, ...)
- func DrawPixel(posX, posY int32, color Color)
- func DrawPixelV(position Vector2, color Color)
- func DrawPlane(centerPos Vector3, size Vector2, color Color)
- func DrawPoly(center Vector2, sides int32, radius, rotation float32, color Color)
- func DrawRay(ray Ray, color Color)
- func DrawRectangle(posX, posY, width, height int32, color Color)
- func DrawRectangleGradientEx(rec Rectangle, color1, color2, color3, color4 Color)
- func DrawRectangleGradientH(posX, posY, width, height int32, color1, color2 Color)
- func DrawRectangleGradientV(posX, posY, width, height int32, color1, color2 Color)
- func DrawRectangleLines(posX, posY, width, height int32, color Color)
- func DrawRectangleLinesEx(rec Rectangle, lineThick int32, color Color)
- func DrawRectanglePro(rec Rectangle, origin Vector2, rotation float32, colors []Color)
- func DrawRectangleRec(rec Rectangle, color Color)
- func DrawRectangleV(position Vector2, size Vector2, color Color)
- func DrawSphere(centerPos Vector3, radius float32, color Color)
- func DrawSphereEx(centerPos Vector3, radius float32, rings int32, slices int32, color Color)
- func DrawSphereWires(centerPos Vector3, radius float32, rings int32, slices int32, color Color)
- func DrawText(text string, posX int32, posY int32, fontSize int32, color Color)
- func DrawTextEx(font Font, text string, position Vector2, fontSize float32, spacing float32, ...)
- func DrawTexture(texture Texture2D, posX int32, posY int32, tint Color)
- func DrawTextureEx(texture Texture2D, position Vector2, rotation, scale float32, tint Color)
- func DrawTexturePro(texture Texture2D, sourceRec, destRec Rectangle, origin Vector2, ...)
- func DrawTextureRec(texture Texture2D, sourceRec Rectangle, position Vector2, tint Color)
- func DrawTextureV(texture Texture2D, position Vector2, tint Color)
- func DrawTriangle(v1, v2, v3 Vector2, color Color)
- func DrawTriangleLines(v1, v2, v3 Vector2, color Color)
- func EnableCursor()
- func EndBlendMode()
- func EndDrawing()
- func EndMode2D()
- func EndMode3D()
- func EndShaderMode()
- func EndTextureMode()
- func EndVrDrawing()
- func ExportImage(image Image, name string)
- func ExportMesh(mesh Mesh, fileName string)
- func ExportWave(wave Wave, fileName string)
- func GenTextureMipmaps(texture *Texture2D)
- func GetDroppedFiles(count *int32) []string
- func GetFPS() float32
- func GetFrameTime() float32
- func GetGamepadAxisCount(gamepad int32) int32
- func GetGamepadAxisMovement(gamepad, axis int32) float32
- func GetGamepadButtonPressed() int32
- func GetGamepadName(gamepad int32) string
- func GetGestureDragAngle() float32
- func GetGestureHoldDuration() float32
- func GetGesturePinchAngle() float32
- func GetKeyPressed() int32
- func GetMonitorCount() int
- func GetMonitorHeight(monitor int) int
- func GetMonitorName(monitor int) string
- func GetMonitorPhysicalHeight(monitor int) int
- func GetMonitorPhysicalWidth(monitor int) int
- func GetMonitorWidth(monitor int) int
- func GetMouseWheelMove() int32
- func GetMouseX() int32
- func GetMouseY() int32
- func GetMusicTimeLength(music Music) float32
- func GetMusicTimePlayed(music Music) float32
- func GetPixelDataSize(width, height, format int32) int32
- func GetRandomValue(min, max int32) int32
- func GetScreenHeight() int
- func GetScreenWidth() int
- func GetShaderLocation(shader Shader, uniformName string) int32
- func GetTime() float32
- func GetTouchPointsCount() int32
- func GetTouchX() int32
- func GetTouchY() int32
- func GetWaveData(wave Wave) []float32
- func HideCursor()
- func HomeDir() string
- func ImageAlphaClear(image *Image, color Color, threshold float32)
- func ImageAlphaCrop(image *Image, threshold float32)
- func ImageAlphaMask(image, alphaMask *Image)
- func ImageAlphaPremultiply(image *Image)
- func ImageColorBrightness(image *Image, brightness int32)
- func ImageColorContrast(image *Image, contrast float32)
- func ImageColorGrayscale(image *Image)
- func ImageColorInvert(image *Image)
- func ImageColorReplace(image *Image, color, replace Color)
- func ImageColorTint(image *Image, color Color)
- func ImageCrop(image *Image, crop Rectangle)
- func ImageDither(image *Image, rBpp, gBpp, bBpp, aBpp int32)
- func ImageDraw(dst, src *Image, srcRec, dstRec Rectangle, tint Color)
- func ImageDrawRectangle(dst *Image, rec Rectangle, color Color)
- func ImageDrawRectangleLines(dst *Image, rec Rectangle, thick int, color Color)
- func ImageDrawText(dst *Image, position Vector2, text string, fontSize int32, color Color)
- func ImageDrawTextEx(dst *Image, position Vector2, font Font, text string, ...)
- func ImageFlipHorizontal(image *Image)
- func ImageFlipVertical(image *Image)
- func ImageFormat(image *Image, newFormat PixelFormat)
- func ImageMipmaps(image *Image)
- func ImageResize(image *Image, newWidth, newHeight int32)
- func ImageResizeCanvas(image *Image, newWidth, newHeight, offsetX, offsetY int32, color Color)
- func ImageResizeNN(image *Image, newWidth, newHeight int32)
- func ImageRotateCCW(image *Image)
- func ImageRotateCW(image *Image)
- func ImageToPOT(image *Image, fillColor Color)
- func InitAudioDevice()
- func InitVrSimulator()
- func InitWindow(width int32, height int32, title string)
- func IsAudioDeviceReady() bool
- func IsAudioStreamProcessed(stream AudioStream) bool
- func IsCursorHidden() bool
- func IsFileDropped() bool
- func IsGamepadAvailable(gamepad int32) bool
- func IsGamepadButtonDown(gamepad, button int32) bool
- func IsGamepadButtonPressed(gamepad, button int32) bool
- func IsGamepadButtonReleased(gamepad, button int32) bool
- func IsGamepadButtonUp(gamepad, button int32) bool
- func IsGamepadName(gamepad int32, name string) bool
- func IsGestureDetected(gesture Gestures) bool
- func IsKeyDown(key int32) bool
- func IsKeyPressed(key int32) bool
- func IsKeyReleased(key int32) bool
- func IsKeyUp(key int32) bool
- func IsMouseButtonDown(button int32) bool
- func IsMouseButtonPressed(button int32) bool
- func IsMouseButtonReleased(button int32) bool
- func IsMouseButtonUp(button int32) bool
- func IsMusicPlaying(music Music) bool
- func IsSoundPlaying(sound Sound) bool
- func IsVrSimulatorReady() bool
- func IsWindowMinimized() bool
- func IsWindowReady() bool
- func MatrixToFloat(mat Matrix) []float32
- func MeasureText(text string, fontSize int32) int32
- func PauseAudioStream(stream AudioStream)
- func PauseMusicStream(music Music)
- func PauseSound(sound Sound)
- func PlayAudioStream(stream AudioStream)
- func PlayMusicStream(music Music)
- func PlaySound(sound Sound)
- func ResumeAudioStream(stream AudioStream)
- func ResumeMusicStream(music Music)
- func ResumeSound(sound Sound)
- func SetCallbackFunc(func())
- func SetCameraAltControl(altKey int32)
- func SetCameraMode(camera Camera, mode CameraMode)
- func SetCameraMoveControls(frontKey int32, backKey int32, rightKey int32, leftKey int32, upKey int32, ...)
- func SetCameraPanControl(panKey int32)
- func SetCameraSmoothZoomControl(szKey int32)
- func SetConfigFlags(flags byte)
- func SetExitKey(key int32)
- func SetGesturesEnabled(gestureFlags uint32)
- func SetMasterVolume(volume float32)
- func SetMatrixModelview(view Matrix)
- func SetMatrixProjection(proj Matrix)
- func SetMousePosition(x, y int)
- func SetMouseScale(scaleX, scaleY float32)
- func SetMusicLoopCount(music Music, count int32)
- func SetMusicPitch(music Music, pitch float32)
- func SetMusicVolume(music Music, volume float32)
- func SetShaderValue(shader Shader, uniformLoc int32, value []float32, size int32)
- func SetShaderValueMatrix(shader Shader, uniformLoc int32, mat Matrix)
- func SetShapesTexture(texture Texture2D, source Rectangle)
- func SetSoundPitch(sound Sound, pitch float32)
- func SetSoundVolume(sound Sound, volume float32)
- func SetTargetFPS(fps int32)
- func SetTextureFilter(texture Texture2D, filterMode TextureFilterMode)
- func SetTextureWrap(texture Texture2D, wrapMode TextureWrapMode)
- func SetTraceLog(typeFlags int)
- func SetWindowIcon(image Image)
- func SetWindowMinSize(w, h int)
- func SetWindowMonitor(monitor int)
- func SetWindowPosition(x, y int)
- func SetWindowSize(w, h int)
- func SetWindowTitle(title string)
- func ShowCursor()
- func StopAudioStream(stream AudioStream)
- func StopMusicStream(music Music)
- func StopSound(sound Sound)
- func StorageLoadValue(position int32) int32
- func StorageSaveValue(position, value int32)
- func TakeScreenshot(name string)
- func ToggleFullscreen()
- func ToggleVrMode()
- func TraceLog(msgType int, text string, v ...interface{})
- func UnloadFont(font Font)
- func UnloadImage(image *Image)
- func UnloadMaterial(material Material)
- func UnloadMesh(mesh *Mesh)
- func UnloadModel(model Model)
- func UnloadMusicStream(music Music)
- func UnloadRenderTexture(target RenderTexture2D)
- func UnloadShader(shader Shader)
- func UnloadSound(sound Sound)
- func UnloadTexture(texture Texture2D)
- func UnloadWave(wave Wave)
- func UpdateAudioStream(stream AudioStream, data []float32, samplesCount int32)
- func UpdateCamera(camera *Camera)
- func UpdateMusicStream(music Music)
- func UpdateSound(sound Sound, data []byte, samplesCount int32)
- func UpdateTexture(texture Texture2D, pixels []Color)
- func UpdateVrTracking(camera *Camera)
- func Vector3ToFloat(vec Vector3) []float32
- func WaveCrop(wave Wave, initSample int32, finalSample int32)
- func WaveFormat(wave Wave, sampleRate int32, sampleSize int32, channels int32)
- func WindowShouldClose() bool
- type Asset
- type AudioStream
- type BlendMode
- type BoneInfo
- type BoundingBox
- type Camera
- type Camera2D
- type Camera3D
- type CameraMode
- type CameraType
- type CharInfo
- type Color
- type Font
- type Gestures
- type Image
- func GenImageCellular(width, height, tileSize int) *Image
- func GenImageChecked(width, height, checksX, checksY int, col1, col2 Color) *Image
- func GenImageColor(width, height int, color Color) *Image
- func GenImageGradientH(width, height int, left, right Color) *Image
- func GenImageGradientRadial(width, height int, density float32, inner, outer Color) *Image
- func GenImageGradientV(width, height int, top, bottom Color) *Image
- func GenImagePerlinNoise(width, height, offsetX, offsetY int, scale float32) *Image
- func GenImageWhiteNoise(width, height int, factor float32) *Image
- func GetTextureData(texture Texture2D) *Image
- func ImageCopy(image *Image) *Image
- func ImageText(text string, fontSize int32, color Color) *Image
- func ImageTextEx(font Font, text string, fontSize, spacing float32, tint Color) *Image
- func LoadImage(fileName string) *Image
- func LoadImageEx(pixels []Color, width, height int32) *Image
- func LoadImagePro(data []byte, width, height int32, format PixelFormat) *Image
- func LoadImageRaw(fileName string, width, height int32, format PixelFormat, headerSize int32) *Image
- func NewImage(data []byte, width, height, mipmaps int32, format PixelFormat) *Image
- func NewImageFromImage(img image.Image) *Image
- type Mat2
- type Material
- type MaterialMap
- type Matrix
- type Mesh
- func GenMeshCube(width, height, length float32) Mesh
- func GenMeshCubicmap(cubicmap Image, size Vector3) Mesh
- func GenMeshCylinder(radius, height float32, slices int) Mesh
- func GenMeshHeightmap(heightmap Image, size Vector3) Mesh
- func GenMeshHemiSphere(radius float32, rings, slices int) Mesh
- func GenMeshKnot(radius, size float32, radSeg, sides int) Mesh
- func GenMeshPlane(width, length float32, resX, resZ int) Mesh
- func GenMeshSphere(radius float32, rings, slices int) Mesh
- func GenMeshTorus(radius, size float32, radSeg, sides int) Mesh
- func LoadMeshes(fileName string) Mesh
- type Model
- type Music
- type PixelFormat
- type Quaternion
- type Ray
- type Rectangle
- type RectangleInt32
- type RenderTexture2D
- type Shader
- type Sound
- type Texture2D
- func GenTextureBRDF(shader Shader, size int) Texture2D
- func GenTextureCubemap(shader Shader, skyHDR Texture2D, size int) Texture2D
- func GenTextureIrradiance(shader Shader, cubemap Texture2D, size int) Texture2D
- func GenTexturePrefilter(shader Shader, cubemap Texture2D, size int) Texture2D
- func GetTextureDefault() *Texture2D
- func LoadTexture(fileName string) Texture2D
- func LoadTextureFromImage(image *Image) Texture2D
- func NewTexture2D(id uint32, width, height, mipmaps int32, format PixelFormat) Texture2D
- type TextureFilterMode
- type TextureWrapMode
- type Transform
- type Vector2
- func GetGestureDragVector() Vector2
- func GetGesturePinchVector() Vector2
- func GetMousePosition() Vector2
- func GetTouchPosition(index int32) Vector2
- func GetWorldToScreen(position Vector3, camera Camera) Vector2
- func MeasureTextEx(font Font, text string, fontSize float32, spacing float32) Vector2
- func NewVector2(x, y float32) Vector2
- type Vector3
- type Vector4
- type VrDevice
- type VrDeviceInfo
- type Wave
Constants ¶
const ( Pi = 3.1415927 Deg2rad = 0.017453292 Rad2deg = 57.295776 // Set to show raylib logo at startup FlagShowLogo = 1 // Set to run program in fullscreen FlagFullscreenMode = 2 // Set to allow resizable window FlagWindowResizable = 4 // Set to disable window decoration (frame and buttons) FlagWindowUndecorated = 8 // Set to allow transparent window FlagWindowTransparent = 16 // Set to try enabling MSAA 4X FlagMsaa4xHint = 32 // Set to try enabling V-Sync on GPU FlagVsyncHint = 64 // Keyboard Function Keys KeySpace = 32 KeyEscape = 256 KeyEnter = 257 KeyTab = 258 KeyBackspace = 259 KeyInsert = 260 KeyDelete = 261 KeyRight = 262 KeyLeft = 263 KeyDown = 264 KeyUp = 265 KeyPageUp = 266 KeyPageDown = 267 KeyHome = 268 KeyEnd = 269 KeyCapsLock = 280 KeyScrollLock = 281 KeyNumLock = 282 KeyPrintScreen = 283 KeyPause = 284 KeyF1 = 290 KeyF2 = 291 KeyF3 = 292 KeyF4 = 293 KeyF5 = 294 KeyF6 = 295 KeyF7 = 296 KeyF8 = 297 KeyF9 = 298 KeyF10 = 299 KeyF11 = 300 KeyF12 = 301 KeyLeftShift = 340 KeyLeftControl = 341 KeyLeftAlt = 342 KeyLeftSuper = 347 KeyRightShift = 344 KeyRightControl = 345 KeyRightAlt = 346 KeyRightSuper = 347 KeyKbMenu = 348 KeyLeftBracket = 91 KeyBackSlash = 92 KeyRightBracket = 93 KeyGrave = 96 // Keyboard Number Pad Keys KeyKp0 = 320 KeyKp1 = 321 KeyKp2 = 322 KeyKp3 = 323 KeyKp4 = 324 KeyKp5 = 325 KeyKp6 = 326 KeyKp7 = 327 KeyKp8 = 328 KeyKp9 = 329 KeyKpDecimal = 330 KeyKpDivide = 331 KeyKpMultiply = 332 KeyKpSubtract = 333 KeyKpAdd = 334 KeyKpEnter = 335 KeyKpEqual = 336 // Keyboard Alpha Numeric Keys KeyApostrophe = 39 KeyComma = 44 KeyMinus = 45 KeyPeriod = 46 KeySlash = 47 KeyZero = 48 KeyOne = 49 KeyTwo = 50 KeyThree = 51 KeyFour = 52 KeyFive = 53 KeySix = 54 KeySeven = 55 KeyEight = 56 KeyNine = 57 KeySemicolon = 59 KeyEqual = 61 KeyA = 65 KeyB = 66 KeyC = 67 KeyD = 68 KeyE = 69 KeyF = 70 KeyG = 71 KeyH = 72 KeyI = 73 KeyJ = 74 KeyK = 75 KeyL = 76 KeyM = 77 KeyN = 78 KeyO = 79 KeyP = 80 KeyQ = 81 KeyR = 82 KeyS = 83 KeyT = 84 KeyU = 85 KeyV = 86 KeyW = 87 KeyX = 88 KeyY = 89 KeyZ = 90 // Android keys KeyBack = 4 KeyMenu = 82 KeyVolumeUp = 24 KeyVolumeDown = 25 // Mouse Buttons MouseLeftButton = 0 MouseRightButton = 1 MouseMiddleButton = 2 // Touch points registered MaxTouchPoints = 2 // Gamepad Number GamepadPlayer1 = 0 GamepadPlayer2 = 1 GamepadPlayer3 = 2 GamepadPlayer4 = 3 // PS3 USB Controller Buttons GamepadPs3ButtonTriangle = 0 GamepadPs3ButtonCircle = 1 GamepadPs3ButtonCross = 2 GamepadPs3ButtonSquare = 3 GamepadPs3ButtonL1 = 6 GamepadPs3ButtonR1 = 7 GamepadPs3ButtonL2 = 4 GamepadPs3ButtonR2 = 5 GamepadPs3ButtonStart = 8 GamepadPs3ButtonSelect = 9 GamepadPs3ButtonUp = 24 GamepadPs3ButtonRight = 25 GamepadPs3ButtonDown = 26 GamepadPs3ButtonLeft = 27 GamepadPs3ButtonPs = 12 // PS3 USB Controller Axis GamepadPs3AxisLeftX = 0 GamepadPs3AxisLeftY = 1 GamepadPs3AxisRightX = 2 GamepadPs3AxisRightY = 5 // [1..-1] (pressure-level) GamepadPs3AxisL2 = 3 // [1..-1] (pressure-level) GamepadPs3AxisR2 = 4 // Xbox360 USB Controller Buttons GamepadXboxButtonA = 0 GamepadXboxButtonB = 1 GamepadXboxButtonX = 2 GamepadXboxButtonY = 3 GamepadXboxButtonLb = 4 GamepadXboxButtonRb = 5 GamepadXboxButtonSelect = 6 GamepadXboxButtonStart = 7 GamepadXboxButtonUp = 10 GamepadXboxButtonRight = 11 GamepadXboxButtonDown = 12 GamepadXboxButtonLeft = 13 GamepadXboxButtonHome = 8 // Android Gamepad Controller (SNES CLASSIC) GamepadAndroidDpadUp = 19 GamepadAndroidDpadDown = 20 GamepadAndroidDpadLeft = 21 GamepadAndroidDpadRight = 22 GamepadAndroidDpadCenter = 23 GamepadAndroidButtonA = 96 GamepadAndroidButtonB = 97 GamepadAndroidButtonC = 98 GamepadAndroidButtonX = 99 GamepadAndroidButtonY = 100 GamepadAndroidButtonZ = 101 GamepadAndroidButtonL1 = 102 GamepadAndroidButtonR1 = 103 GamepadAndroidButtonL2 = 104 GamepadAndroidButtonR2 = 105 // Xbox360 USB Controller Axis // [-1..1] (left->right) GamepadXboxAxisLeftX = 0 // [1..-1] (up->down) GamepadXboxAxisLeftY = 1 // [-1..1] (left->right) GamepadXboxAxisRightX = 2 // [1..-1] (up->down) GamepadXboxAxisRightY = 3 // [-1..1] (pressure-level) GamepadXboxAxisLt = 4 // [-1..1] (pressure-level) GamepadXboxAxisRt = 5 )
Some basic Defines
const ( LocVertexPosition = iota LocVertexTexcoord01 LocVertexTexcoord02 LocVertexNormal LocVertexTangent LocVertexColor LocMatrixMvp LocMatrixModel LocMatrixView LocMatrixProjection LocVectorView LocColorDiffuse LocColorSpecular LocColorAmbient LocMapAlbedo LocMapMetalness LocMapNormal LocMapRoughness LocMapOcclusion LocMapEmission LocMapHeight LocMapCubemap LocMapIrradiance LocMapPrefilter LocMapBrdf )
Shader location point type
const ( // MapDiffuse MapAlbedo = iota MapMetalness MapNormal MapRoughness MapOcclusion MapEmission MapHeight // NOTE: Uses GL_TEXTURE_CUBE_MAP MapCubemap // NOTE: Uses GL_TEXTURE_CUBE_MAP MapIrradiance // NOTE: Uses GL_TEXTURE_CUBE_MAP MapPrefilter MapBrdf )
Material map type
const ( MapDiffuse = MapAlbedo MapSpecular = MapMetalness LocMapDiffuse = LocMapAlbedo LocMapSpecular = LocMapMetalness )
Material map type
const ( // Maximum number of predefined locations stored in shader struct MaxShaderLocations = 32 // Maximum number of texture maps stored in shader struct MaxMaterialMaps = 12 )
Shader and material limits
const ( LogAll = iota LogTrace LogDebug LogInfo LogWarning LogError LogFatal LogNone )
Log message types
Variables ¶
var ( // Light Gray LightGray = NewColor(200, 200, 200, 255) // Gray Gray = NewColor(130, 130, 130, 255) // Dark Gray DarkGray = NewColor(80, 80, 80, 255) // Yellow Yellow = NewColor(253, 249, 0, 255) // Gold Gold = NewColor(255, 203, 0, 255) // Orange Orange = NewColor(255, 161, 0, 255) // Pink Pink = NewColor(255, 109, 194, 255) // Red Red = NewColor(230, 41, 55, 255) // Maroon Maroon = NewColor(190, 33, 55, 255) // Green Green = NewColor(0, 228, 48, 255) // Lime Lime = NewColor(0, 158, 47, 255) // Dark Green DarkGreen = NewColor(0, 117, 44, 255) // Sky Blue SkyBlue = NewColor(102, 191, 255, 255) // Blue Blue = NewColor(0, 121, 241, 255) // Dark Blue DarkBlue = NewColor(0, 82, 172, 255) // Purple Purple = NewColor(200, 122, 255, 255) // Violet Violet = NewColor(135, 60, 190, 255) // Dark Purple DarkPurple = NewColor(112, 31, 126, 255) // Beige Beige = NewColor(211, 176, 131, 255) // Brown Brown = NewColor(127, 106, 79, 255) // Dark Brown DarkBrown = NewColor(76, 63, 47, 255) // White White = NewColor(255, 255, 255, 255) // Black Black = NewColor(0, 0, 0, 255) // Blank (Transparent) Blank = NewColor(0, 0, 0, 0) // Magenta Magenta = NewColor(255, 0, 255, 255) // Ray White (RayLib Logo White) RayWhite = NewColor(245, 245, 245, 255) )
Some Basic Colors NOTE: Custom raylib color palette for amazing visuals on WHITE background
Functions ¶
func BeginBlendMode ¶
func BeginBlendMode(mode BlendMode)
BeginBlendMode - Begin blending mode (alpha, additive, multiplied)
func BeginMode2D ¶
func BeginMode2D(camera Camera2D)
BeginMode2D - Initialize 2D mode with custom camera
func BeginMode3D ¶
func BeginMode3D(camera Camera)
BeginMode3D - Initializes 3D mode for drawing (Camera setup)
func BeginShaderMode ¶
func BeginShaderMode(shader Shader)
BeginShaderMode - Begin custom shader drawing
func BeginTextureMode ¶
func BeginTextureMode(target RenderTexture2D)
BeginTextureMode - Initializes render texture for drawing
func CheckCollisionBoxSphere ¶
func CheckCollisionBoxSphere(box BoundingBox, centerSphere Vector3, radiusSphere float32) bool
CheckCollisionBoxSphere - Detect collision between box and sphere
func CheckCollisionBoxes ¶
func CheckCollisionBoxes(box1 BoundingBox, box2 BoundingBox) bool
CheckCollisionBoxes - Detect collision between two bounding boxes
func CheckCollisionCircleRec ¶
CheckCollisionCircleRec - Check collision between circle and rectangle
func CheckCollisionCircles ¶
CheckCollisionCircles - Check collision between two circles
func CheckCollisionPointCircle ¶
CheckCollisionPointCircle - Check if point is inside circle
func CheckCollisionPointRec ¶
CheckCollisionPointRec - Check if point is inside rectangle
func CheckCollisionPointTriangle ¶
CheckCollisionPointTriangle - Check if point is inside a triangle
func CheckCollisionRayBox ¶
func CheckCollisionRayBox(ray Ray, box BoundingBox) bool
CheckCollisionRayBox - Detect collision between ray and box
func CheckCollisionRaySphere ¶
CheckCollisionRaySphere - Detect collision between ray and sphere
func CheckCollisionRaySphereEx ¶
func CheckCollisionRaySphereEx(ray Ray, spherePosition Vector3, sphereRadius float32, collisionPoint Vector3) bool
CheckCollisionRaySphereEx - Detect collision between ray and sphere with extended parameters and collision point detection
func CheckCollisionRecs ¶
CheckCollisionRecs - Check collision between two rectangles
func CheckCollisionSpheres ¶
CheckCollisionSpheres - Detect collision between two spheres
func ClearDroppedFiles ¶
func ClearDroppedFiles()
ClearDroppedFiles - Clear dropped files paths buffer
func CloseAudioDevice ¶
func CloseAudioDevice()
CloseAudioDevice - Close the audio device and context
func CloseAudioStream ¶
func CloseAudioStream(stream AudioStream)
CloseAudioStream - Close audio stream and free memory
func CloseVrSimulator ¶
func CloseVrSimulator()
CloseVrSimulator - Close VR simulator for current device
func ColorToInt ¶
ColorToInt - Returns hexadecimal value for a Color
func DrawBillboard ¶
DrawBillboard - Draw a billboard texture
func DrawBillboardRec ¶
func DrawBillboardRec(camera Camera, texture Texture2D, sourceRec Rectangle, center Vector3, size float32, tint Color)
DrawBillboardRec - Draw a billboard texture defined by sourceRec
func DrawBoundingBox ¶
func DrawBoundingBox(box BoundingBox, color Color)
DrawBoundingBox - Draw bounding box (wires)
func DrawCircle ¶
DrawCircle - Draw a color-filled circle
func DrawCircle3D ¶
func DrawCircle3D(center Vector3, radius float32, rotationAxis Vector3, rotationAngle float32, color Color)
DrawCircle3D - Draw a circle in 3D world space
func DrawCircleGradient ¶
DrawCircleGradient - Draw a gradient-filled circle
func DrawCircleLines ¶
DrawCircleLines - Draw circle outline
func DrawCircleV ¶
DrawCircleV - Draw a color-filled circle (Vector version)
func DrawCubeTexture ¶
func DrawCubeTexture(texture Texture2D, position Vector3, width float32, height float32, length float32, color Color)
DrawCubeTexture - Draw cube textured
func DrawCubeWires ¶
DrawCubeWires - Draw cube wires
func DrawCylinder ¶
func DrawCylinder(position Vector3, radiusTop float32, radiusBottom float32, height float32, slices int32, color Color)
DrawCylinder - Draw a cylinder/cone
func DrawCylinderWires ¶
func DrawCylinderWires(position Vector3, radiusTop float32, radiusBottom float32, height float32, slices int32, color Color)
DrawCylinderWires - Draw a cylinder/cone wires
func DrawLine3D ¶
DrawLine3D - Draw a line in 3D world space
func DrawLineBezier ¶
DrawLineBezier - Draw a line using cubic-bezier curves in-out
func DrawLineEx ¶
DrawLineEx - Draw a line defining thickness
func DrawModelEx ¶
func DrawModelEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, scale Vector3, tint Color)
DrawModelEx - Draw a model with extended parameters
func DrawModelWires ¶
DrawModelWires - Draw a model wires (with texture if set)
func DrawModelWiresEx ¶
func DrawModelWiresEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, scale Vector3, tint Color)
DrawModelWiresEx - Draw a model wires (with texture if set) with extended parameters
func DrawPixelV ¶
DrawPixelV - Draw a pixel (Vector version)
func DrawRectangle ¶
DrawRectangle - Draw a color-filled rectangle
func DrawRectangleGradientEx ¶
DrawRectangleGradientEx - Draw a gradient-filled rectangle with custom vertex colors
func DrawRectangleGradientH ¶
DrawRectangleGradientH - Draw a horizontal-gradient-filled rectangle
func DrawRectangleGradientV ¶
DrawRectangleGradientV - Draw a vertical-gradient-filled rectangle
func DrawRectangleLines ¶
DrawRectangleLines - Draw rectangle outline
func DrawRectangleLinesEx ¶
DrawRectangleLinesEx - Draw rectangle outline with extended parameters
func DrawRectanglePro ¶
DrawRectanglePro - Draw a color-filled rectangle with pro parameters
func DrawRectangleRec ¶
DrawRectangleRec - Draw a color-filled rectangle
func DrawRectangleV ¶
DrawRectangleV - Draw a color-filled rectangle (Vector version)
func DrawSphere ¶
DrawSphere - Draw sphere
func DrawSphereEx ¶
DrawSphereEx - Draw sphere with extended parameters
func DrawSphereWires ¶
DrawSphereWires - Draw sphere wires
func DrawTextEx ¶
func DrawTextEx(font Font, text string, position Vector2, fontSize float32, spacing float32, tint Color)
DrawTextEx - Draw text using Font and additional parameters
func DrawTexture ¶
DrawTexture - Draw a Texture2D
func DrawTextureEx ¶
DrawTextureEx - Draw a Texture2D with extended parameters
func DrawTexturePro ¶
func DrawTexturePro(texture Texture2D, sourceRec, destRec Rectangle, origin Vector2, rotation float32, tint Color)
DrawTexturePro - Draw a part of a texture defined by a rectangle with 'pro' parameters
func DrawTextureRec ¶
DrawTextureRec - Draw a part of a texture defined by a rectangle
func DrawTextureV ¶
DrawTextureV - Draw a Texture2D with position defined as Vector2
func DrawTriangle ¶
DrawTriangle - Draw a color-filled triangle
func DrawTriangleLines ¶
DrawTriangleLines - Draw triangle outline
func EndBlendMode ¶
func EndBlendMode()
EndBlendMode - End blending mode (reset to default: alpha blending)
func EndDrawing ¶
func EndDrawing()
EndDrawing - End canvas drawing and Swap Buffers (Double Buffering)
func EndMode3D ¶
func EndMode3D()
EndMode3D - Ends 3D mode and returns to default 2D orthographic mode
func EndShaderMode ¶
func EndShaderMode()
EndShaderMode - End custom shader drawing (use default shader)
func ExportImage ¶
ExportImage - Export image as a PNG file
func ExportMesh ¶
ExportMesh - Export mesh as an OBJ file
func GenTextureMipmaps ¶
func GenTextureMipmaps(texture *Texture2D)
GenTextureMipmaps - Generate GPU mipmaps for a texture
func GetDroppedFiles ¶
GetDroppedFiles - Retrieve dropped files into window
func GetFrameTime ¶
func GetFrameTime() float32
GetFrameTime - Returns time in seconds for one frame
func GetGamepadAxisCount ¶
GetGamepadAxisCount - Return gamepad axis count for a gamepad
func GetGamepadAxisMovement ¶
GetGamepadAxisMovement - Return axis movement value for a gamepad axis
func GetGamepadButtonPressed ¶
func GetGamepadButtonPressed() int32
GetGamepadButtonPressed - Get the last gamepad button pressed
func GetGamepadName ¶
GetGamepadName - Return gamepad internal name id
func GetGestureDragAngle ¶
func GetGestureDragAngle() float32
GetGestureDragAngle - Get gesture drag angle
func GetGestureHoldDuration ¶
func GetGestureHoldDuration() float32
GetGestureHoldDuration - Get gesture hold time in milliseconds
func GetGesturePinchAngle ¶
func GetGesturePinchAngle() float32
GetGesturePinchAngle - Get gesture pinch angle
func GetMonitorCount ¶
func GetMonitorCount() int
GetMonitorCount - Get number of connected monitors
func GetMonitorHeight ¶
GetMonitorHeight - Get primary monitor height
func GetMonitorName ¶
GetMonitorName - Get the human-readable, UTF-8 encoded name of the primary monitor
func GetMonitorPhysicalHeight ¶
GetMonitorPhysicalHeight - Get primary monitor physical height in millimetres
func GetMonitorPhysicalWidth ¶
GetMonitorPhysicalWidth - Get primary monitor physical width in millimetres
func GetMonitorWidth ¶
GetMonitorWidth - Get primary monitor width
func GetMouseWheelMove ¶
func GetMouseWheelMove() int32
GetMouseWheelMove - Returns mouse wheel movement Y
func GetMusicTimeLength ¶
GetMusicTimeLength - Get music time length (in seconds)
func GetMusicTimePlayed ¶
GetMusicTimePlayed - Get current music time played (in seconds)
func GetPixelDataSize ¶
GetPixelDataSize - Get pixel data size in bytes (image or texture)
func GetRandomValue ¶
GetRandomValue - Returns a random value between min and max (both included)
func GetShaderLocation ¶
GetShaderLocation - Get shader uniform location
func GetTouchPointsCount ¶
func GetTouchPointsCount() int32
GetTouchPointsCount - Get touch points count
func GetTouchX ¶
func GetTouchX() int32
GetTouchX - Returns touch position X for touch point 0 (relative to screen size)
func GetTouchY ¶
func GetTouchY() int32
GetTouchY - Returns touch position Y for touch point 0 (relative to screen size)
func GetWaveData ¶
GetWaveData - Get samples data from wave as a floats array
func ImageAlphaClear ¶
ImageAlphaClear - Apply alpha mask to image
func ImageAlphaCrop ¶
ImageAlphaCrop - Crop image depending on alpha value
func ImageAlphaMask ¶
func ImageAlphaMask(image, alphaMask *Image)
ImageAlphaMask - Apply alpha mask to image
func ImageAlphaPremultiply ¶
func ImageAlphaPremultiply(image *Image)
ImageAlphaPremultiply - Premultiply alpha channel
func ImageColorBrightness ¶
ImageColorBrightness - Modify image color: brightness (-255 to 255)
func ImageColorContrast ¶
ImageColorContrast - Modify image color: contrast (-100 to 100)
func ImageColorGrayscale ¶
func ImageColorGrayscale(image *Image)
ImageColorGrayscale - Modify image color: grayscale
func ImageColorInvert ¶
func ImageColorInvert(image *Image)
ImageColorInvert - Modify image color: invert
func ImageColorReplace ¶
ImageColorReplace - Modify image color: replace color
func ImageColorTint ¶
ImageColorTint - Modify image color: tint
func ImageDither ¶
ImageDither - Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
func ImageDrawRectangle ¶
ImageDrawRectangle - Draw rectangle within an image
func ImageDrawRectangleLines ¶
ImageDrawRectangleLines - Draw rectangle lines within an image
func ImageDrawText ¶
ImageDrawText - Draw text (default font) within an image (destination)
func ImageDrawTextEx ¶
func ImageDrawTextEx(dst *Image, position Vector2, font Font, text string, fontSize, spacing float32, color Color)
ImageDrawTextEx - Draw text (custom sprite font) within an image (destination)
func ImageFlipHorizontal ¶
func ImageFlipHorizontal(image *Image)
ImageFlipHorizontal - Flip image horizontally
func ImageFlipVertical ¶
func ImageFlipVertical(image *Image)
ImageFlipVertical - Flip image vertically
func ImageFormat ¶
func ImageFormat(image *Image, newFormat PixelFormat)
ImageFormat - Convert image data to desired format
func ImageMipmaps ¶
func ImageMipmaps(image *Image)
ImageMipmaps - Generate all mipmap levels for a provided image
func ImageResize ¶
ImageResize - Resize an image (bilinear filtering)
func ImageResizeCanvas ¶
ImageResizeCanvas - Resize canvas and fill with color
func ImageResizeNN ¶
ImageResizeNN - Resize an image (Nearest-Neighbor scaling algorithm)
func ImageRotateCCW ¶
func ImageRotateCCW(image *Image)
ImageRotateCCW - Rotate image counter-clockwise 90deg
func ImageToPOT ¶
ImageToPOT - Convert image to POT (power-of-two)
func InitVrSimulator ¶
func InitVrSimulator()
InitVrSimulator - Init VR simulator for selected device
func InitWindow ¶
InitWindow - Initialize Window and OpenGL Graphics
func IsAudioDeviceReady ¶
func IsAudioDeviceReady() bool
IsAudioDeviceReady - Check if audio device has been initialized successfully
func IsAudioStreamProcessed ¶
func IsAudioStreamProcessed(stream AudioStream) bool
IsAudioStreamProcessed - Check if any audio stream buffers requires refill
func IsCursorHidden ¶
func IsCursorHidden() bool
IsCursorHidden - Returns true if cursor is not visible
func IsFileDropped ¶
func IsFileDropped() bool
IsFileDropped - Check if a file have been dropped into window
func IsGamepadAvailable ¶
IsGamepadAvailable - Detect if a gamepad is available
func IsGamepadButtonDown ¶
IsGamepadButtonDown - Detect if a gamepad button is being pressed
func IsGamepadButtonPressed ¶
IsGamepadButtonPressed - Detect if a gamepad button has been pressed once
func IsGamepadButtonReleased ¶
IsGamepadButtonReleased - Detect if a gamepad button has been released once
func IsGamepadButtonUp ¶
IsGamepadButtonUp - Detect if a gamepad button is NOT being pressed
func IsGamepadName ¶
IsGamepadName - Check gamepad name (if available)
func IsGestureDetected ¶
IsGestureDetected - Check if a gesture have been detected
func IsKeyPressed ¶
IsKeyPressed - Detect if a key has been pressed once
func IsKeyReleased ¶
IsKeyReleased - Detect if a key has been released once
func IsMouseButtonDown ¶
IsMouseButtonDown - Detect if a mouse button is being pressed
func IsMouseButtonPressed ¶
IsMouseButtonPressed - Detect if a mouse button has been pressed once
func IsMouseButtonReleased ¶
IsMouseButtonReleased - Detect if a mouse button has been released once
func IsMouseButtonUp ¶
IsMouseButtonUp - Detect if a mouse button is NOT being pressed
func IsMusicPlaying ¶
IsMusicPlaying - Check if music is playing
func IsSoundPlaying ¶
IsSoundPlaying - Check if a sound is currently playing
func IsVrSimulatorReady ¶
func IsVrSimulatorReady() bool
IsVrSimulatorReady - Detect if VR simulator is ready
func IsWindowMinimized ¶
func IsWindowMinimized() bool
IsWindowMinimized - Detect if window has been minimized (or lost focus)
func IsWindowReady ¶
func IsWindowReady() bool
IsWindowReady - Check if window has been initialized successfully
func MatrixToFloat ¶
MatrixToFloat - Converts Matrix to float32 slice
func MeasureText ¶
MeasureText - Measure string width for default font
func PauseAudioStream ¶
func PauseAudioStream(stream AudioStream)
PauseAudioStream - Pause audio stream
func ResumeAudioStream ¶
func ResumeAudioStream(stream AudioStream)
ResumeAudioStream - Resume audio stream
func ResumeMusicStream ¶
func ResumeMusicStream(music Music)
ResumeMusicStream - Resume playing paused music
func SetCameraAltControl ¶
func SetCameraAltControl(altKey int32)
SetCameraAltControl - Set camera alt key to combine with mouse movement (free camera)
func SetCameraMode ¶
func SetCameraMode(camera Camera, mode CameraMode)
SetCameraMode - Set camera mode (multiple camera modes available)
func SetCameraMoveControls ¶
func SetCameraMoveControls(frontKey int32, backKey int32, rightKey int32, leftKey int32, upKey int32, downKey int32)
SetCameraMoveControls - Set camera move controls (1st person and 3rd person cameras)
func SetCameraPanControl ¶
func SetCameraPanControl(panKey int32)
SetCameraPanControl - Set camera pan key to combine with mouse movement (free camera)
func SetCameraSmoothZoomControl ¶
func SetCameraSmoothZoomControl(szKey int32)
SetCameraSmoothZoomControl - Set camera smooth zoom key to combine with mouse (free camera)
func SetConfigFlags ¶
func SetConfigFlags(flags byte)
SetConfigFlags - Setup some window configuration flags
func SetExitKey ¶
func SetExitKey(key int32)
SetExitKey - Set a custom key to exit program (default is ESC)
func SetGesturesEnabled ¶
func SetGesturesEnabled(gestureFlags uint32)
SetGesturesEnabled - Enable a set of gestures using flags
func SetMasterVolume ¶
func SetMasterVolume(volume float32)
SetMasterVolume - Set master volume (listener)
func SetMatrixModelview ¶
func SetMatrixModelview(view Matrix)
SetMatrixModelview - Set a custom modelview matrix (replaces internal modelview matrix)
func SetMatrixProjection ¶
func SetMatrixProjection(proj Matrix)
SetMatrixProjection - Set a custom projection matrix (replaces internal projection matrix)
func SetMusicLoopCount ¶
SetMusicLoopCount - Set music loop count (loop repeats) NOTE: If set to -1, means infinite loop
func SetMusicPitch ¶
SetMusicPitch - Set pitch for a music (1.0 is base level)
func SetMusicVolume ¶
SetMusicVolume - Set volume for music (1.0 is max level)
func SetShaderValue ¶
SetShaderValue - Set shader uniform value (float)
func SetShaderValueMatrix ¶
SetShaderValueMatrix - Set shader uniform value (matrix 4x4)
func SetShapesTexture ¶
SetShapesTexture - Define default texture used to draw shapes
func SetSoundPitch ¶
SetSoundPitch - Set pitch for a sound (1.0 is base level)
func SetSoundVolume ¶
SetSoundVolume - Set volume for a sound (1.0 is max level)
func SetTextureFilter ¶
func SetTextureFilter(texture Texture2D, filterMode TextureFilterMode)
SetTextureFilter - Set texture scaling filter mode
func SetTextureWrap ¶
func SetTextureWrap(texture Texture2D, wrapMode TextureWrapMode)
SetTextureWrap - Set texture wrapping mode
func SetWindowIcon ¶
func SetWindowIcon(image Image)
SetWindowIcon - Set icon for window (only PLATFORM_DESKTOP)
func SetWindowMinSize ¶
func SetWindowMinSize(w, h int)
SetWindowMinSize - Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
func SetWindowMonitor ¶
func SetWindowMonitor(monitor int)
SetWindowMonitor - Set monitor for the current window (fullscreen mode)
func SetWindowPosition ¶
func SetWindowPosition(x, y int)
SetWindowPosition - Set window position on screen (only PLATFORM_DESKTOP)
func SetWindowTitle ¶
func SetWindowTitle(title string)
SetWindowTitle - Set title for window (only PLATFORM_DESKTOP)
func StorageLoadValue ¶
StorageLoadValue - Storage load integer value (from defined position)
func StorageSaveValue ¶
func StorageSaveValue(position, value int32)
StorageSaveValue - Storage save integer value (to defined position)
func TakeScreenshot ¶
func TakeScreenshot(name string)
TakeScreenshot - Takes a screenshot of current screen (saved a .png)
func ToggleFullscreen ¶
func ToggleFullscreen()
ToggleFullscreen - Fullscreen toggle (only PLATFORM_DESKTOP)
func ToggleVrMode ¶
func ToggleVrMode()
ToggleVrMode - Enable/Disable VR experience (device or simulator)
func UnloadMaterial ¶
func UnloadMaterial(material Material)
UnloadMaterial - Unload material textures from VRAM
func UnloadMesh ¶
func UnloadMesh(mesh *Mesh)
UnloadMesh - Unload mesh from memory (RAM and/or VRAM)
func UnloadModel ¶
func UnloadModel(model Model)
UnloadModel - Unload model from memory (RAM and/or VRAM)
func UnloadMusicStream ¶
func UnloadMusicStream(music Music)
UnloadMusicStream - Unload music stream
func UnloadRenderTexture ¶
func UnloadRenderTexture(target RenderTexture2D)
UnloadRenderTexture - Unload render texture from GPU memory
func UnloadShader ¶
func UnloadShader(shader Shader)
UnloadShader - Unload a custom shader from memory
func UnloadTexture ¶
func UnloadTexture(texture Texture2D)
UnloadTexture - Unload texture from GPU memory
func UpdateAudioStream ¶
func UpdateAudioStream(stream AudioStream, data []float32, samplesCount int32)
UpdateAudioStream - Update audio stream buffers with data
func UpdateCamera ¶
func UpdateCamera(camera *Camera)
UpdateCamera - Update camera position for selected mode
func UpdateMusicStream ¶
func UpdateMusicStream(music Music)
UpdateMusicStream - Updates buffers for music streaming
func UpdateSound ¶
UpdateSound - Update sound buffer with new data
func UpdateTexture ¶
UpdateTexture - Update GPU texture with new data
func UpdateVrTracking ¶
func UpdateVrTracking(camera *Camera)
UpdateVrTracking - Update VR tracking (position and orientation) and camera
func Vector3ToFloat ¶
Vector3ToFloat - Converts Vector3 to float32 slice
func WaveFormat ¶
WaveFormat - Convert wave data to desired format
func WindowShouldClose ¶
func WindowShouldClose() bool
WindowShouldClose - Detect if KEY_ESCAPE pressed or Close icon pressed
Types ¶
type AudioStream ¶
type AudioStream struct { // Frequency (samples per second) SampleRate uint32 // Bit depth (bits per sample): 8, 16, 32 (24 not supported) SampleSize uint32 // Number of channels (1-mono, 2-stereo) Channels uint32 // Buffer Buffer *_Ctype_struct_rAudioBuffer }
AudioStream type NOTE: Useful to create custom audio streams not bound to a specific file
func InitAudioStream ¶
func InitAudioStream(sampleRate uint32, sampleSize uint32, channels uint32) AudioStream
InitAudioStream - Init audio stream (to stream raw audio pcm data)
type BoundingBox ¶
type BoundingBox struct { // Minimum vertex box-corner Min Vector3 // Maximum vertex box-corner Max Vector3 }
BoundingBox type
func MeshBoundingBox ¶
func MeshBoundingBox(mesh Mesh) BoundingBox
MeshBoundingBox - Compute mesh bounding box limits
func NewBoundingBox ¶
func NewBoundingBox(min, max Vector3) BoundingBox
NewBoundingBox - Returns new BoundingBox
type Camera2D ¶
type Camera2D struct { // Camera offset (displacement from target) Offset Vector2 // Camera target (rotation and zoom origin) Target Vector2 // Camera rotation in degrees Rotation float32 // Camera zoom (scaling), should be 1.0f by default Zoom float32 }
Camera2D type, defines a 2d camera
func NewCamera2D ¶
NewCamera2D - Returns new Camera2D
type Camera3D ¶
type Camera3D struct { // Camera position Position Vector3 // Camera target it looks-at Target Vector3 // Camera up vector (rotation over its axis) Up Vector3 // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic Fovy float32 // Camera type, controlling projection type, either CameraPerspective or CameraOrthographic. Type CameraType }
Camera3D type, defines a camera position/orientation in 3d space
func NewCamera3D ¶
func NewCamera3D(pos, target, up Vector3, fovy float32, ct CameraType) Camera3D
NewCamera3D - Returns new Camera3D
type CameraMode ¶
type CameraMode int32
CameraMode type
const ( CameraCustom CameraMode = iota CameraFree CameraOrbital CameraFirstPerson CameraThirdPerson )
Camera system modes
type CameraType ¶
type CameraType int32
CameraType type
const ( CameraPerspective CameraType = iota CameraOrthographic )
Camera projection modes
type CharInfo ¶
type CharInfo struct { // Character value (Unicode) Value int32 // Character rectangle in sprite font Rec Rectangle // Character offset X when drawing OffsetX int32 // Character offset Y when drawing OffsetY int32 // Character advance position X AdvanceX int32 }
CharInfo - Font character info
type Color ¶
Color type, RGBA (32bit)
func GetImageData ¶
GetImageData - Get pixel data from image as a Color slice
type Font ¶
type Font struct { // Base size (default chars height) BaseSize int32 // Number of characters CharsCount int32 // Characters texture atlas Texture Texture2D // Characters rectangles in texture Recs *Rectangle // Characters info data Chars *CharInfo }
Font type, includes texture and charSet array data
type Gestures ¶
type Gestures int32
Gestures type
const ( GestureNone Gestures = 0 GestureTap Gestures = 1 GestureDoubletap Gestures = 2 GestureHold Gestures = 4 GestureDrag Gestures = 8 GestureSwipeRight Gestures = 16 GestureSwipeLeft Gestures = 32 GestureSwipeUp Gestures = 64 GestureSwipeDown Gestures = 128 GesturePinchIn Gestures = 256 GesturePinchOut Gestures = 512 )
Gestures types NOTE: It could be used as flags to enable only some gestures
func GetGestureDetected ¶
func GetGestureDetected() Gestures
GetGestureDetected - Get latest detected gesture
type Image ¶
type Image struct { // Image base width Width int32 // Image base height Height int32 // Mipmap levels, 1 by default Mipmaps int32 // Data format (PixelFormat) Format PixelFormat // contains filtered or unexported fields }
Image type, bpp always RGBA (32bit) NOTE: Data stored in CPU memory (RAM)
func GenImageCellular ¶
GenImageCellular - Generate image: cellular algorithm. Bigger tileSize means bigger cells
func GenImageChecked ¶
GenImageChecked - Generate image: checked
func GenImageColor ¶
GenImageColor - Generate image: plain color
func GenImageGradientH ¶
GenImageGradientH - Generate image: horizontal gradient
func GenImageGradientRadial ¶
GenImageGradientRadial - Generate image: radial gradient
func GenImageGradientV ¶
GenImageGradientV - Generate image: vertical gradient
func GenImagePerlinNoise ¶
GenImagePerlinNoise - Generate image: perlin noise
func GenImageWhiteNoise ¶
GenImageWhiteNoise - Generate image: white noise
func GetTextureData ¶
GetTextureData - Get pixel data from GPU texture and return an Image
func ImageTextEx ¶
ImageTextEx - Create an image from text (custom sprite font)
func LoadImageEx ¶
LoadImageEx - Load image data from Color array data (RGBA - 32bit)
func LoadImagePro ¶
func LoadImagePro(data []byte, width, height int32, format PixelFormat) *Image
LoadImagePro - Load image from raw data with parameters
func LoadImageRaw ¶
func LoadImageRaw(fileName string, width, height int32, format PixelFormat, headerSize int32) *Image
LoadImageRaw - Load image data from RAW file
func NewImage ¶
func NewImage(data []byte, width, height, mipmaps int32, format PixelFormat) *Image
NewImage - Returns new Image
func NewImageFromImage ¶
NewImageFromImage - Returns new Image from Go image.Image
type Material ¶
type Material struct { // Shader Shader Shader // Maps Maps [MaxMaterialMaps]MaterialMap // Generic parameters (if required) Params *float32 }
Material type
func LoadMaterialDefault ¶
func LoadMaterialDefault() Material
LoadMaterialDefault - Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
func LoadMaterials ¶
LoadMaterials - Load material data (.MTL)
type MaterialMap ¶
type MaterialMap struct { // Texture Texture Texture2D // Color Color Color // Value Value float32 }
MaterialMap type
type Matrix ¶
type Matrix struct {
M0, M4, M8, M12 float32
M1, M5, M9, M13 float32
M2, M6, M10, M14 float32
M3, M7, M11, M15 float32
}
Matrix type (OpenGL style 4x4 - right handed, column major)
func GetCameraMatrix ¶
GetCameraMatrix - Returns camera transform matrix (view matrix)
type Mesh ¶
type Mesh struct { // Number of vertices stored in arrays VertexCount int32 // Number of triangles stored (indexed or not) TriangleCount int32 // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) Vertices *float32 // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) Texcoords *float32 // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) Texcoords2 *float32 // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) Normals *float32 // Vertex tangents (XYZ - 3 components per vertex) (shader-location = 4) Tangents *float32 // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) Colors *uint8 // Vertex indices (in case vertex data comes indexed) Indices *uint16 // AnimVertices AnimVertices *float32 // AnimNormals AnimNormals *float32 // BoneIds BoneIds *int32 // BoneWeights BoneWeights *float32 // OpenGL Vertex Array Object id VaoID uint32 // OpenGL Vertex Buffer Objects id (7 types of vertex data) VboID *uint32 }
Mesh - Vertex data definning a mesh
func GenMeshCube ¶
GenMeshCube - Generate cuboid mesh
func GenMeshCubicmap ¶
GenMeshCubicmap - Generate cubes-based map mesh from image data
func GenMeshCylinder ¶
GenMeshCylinder - Generate cylinder mesh
func GenMeshHeightmap ¶
GenMeshHeightmap - Generate heightmap mesh from image data
func GenMeshHemiSphere ¶
GenMeshHemiSphere - Generate half-sphere mesh (no bottom cap)
func GenMeshKnot ¶
GenMeshKnot - Generate trefoil knot mesh
func GenMeshPlane ¶
GenMeshPlane - Generate plane mesh (with subdivisions)
func GenMeshSphere ¶
GenMeshSphere - Generate sphere mesh (standard sphere)
func GenMeshTorus ¶
GenMeshTorus - Generate torus mesh
type Model ¶
type Model struct { // Local transform matrix Transform Matrix MeshCount int32 Meshes []Mesh MaterialCount int32 Materials []Material MeshMaterial *int32 BoneCount int32 Bones []BoneInfo BindPose []Transform }
func LoadModelFromMesh ¶
LoadModelFromMesh - Load model from mesh data
type Music ¶
type Music struct { CtxType int32 CtxData unsafe.Pointer SampleCount uint32 LoopCount uint32 Stream AudioStream }
Music type (file streaming from memory) NOTE: Anything longer than ~10 seconds should be streamed
func LoadMusicStream ¶
LoadMusicStream - Load music stream from file
type PixelFormat ¶
type PixelFormat int32
PixelFormat - Texture format
const ( // 8 bit per pixel (no alpha) UncompressedGrayscale PixelFormat = iota + 1 // 8*2 bpp (2 channels) UncompressedGrayAlpha // 16 bpp UncompressedR5g6b5 // 24 bpp UncompressedR8g8b8 // 16 bpp (1 bit alpha) UncompressedR5g5b5a1 // 16 bpp (4 bit alpha) UncompressedR4g4b4a4 // 32 bpp UncompressedR8g8b8a8 // 32 bpp (1 channel - float) UncompressedR32 // 32*3 bpp (3 channels - float) UncompressedR32g32b32 // 32*4 bpp (4 channels - float) UncompressedR32g32b32a32 // 4 bpp (no alpha) CompressedDxt1Rgb // 4 bpp (1 bit alpha) CompressedDxt1Rgba // 8 bpp CompressedDxt3Rgba // 8 bpp CompressedDxt5Rgba // 4 bpp CompressedEtc1Rgb // 4 bpp CompressedEtc2Rgb // 8 bpp CompressedEtc2EacRgba // 4 bpp CompressedPvrtRgb // 4 bpp CompressedPvrtRgba // 8 bpp CompressedAstc4x4Rgba // 2 bpp CompressedAstc8x8Rgba )
Texture formats NOTE: Support depends on OpenGL version and platform
type Quaternion ¶
Quaternion type
func NewQuaternion ¶
func NewQuaternion(x, y, z, w float32) Quaternion
NewQuaternion - Returns new Quaternion
type Ray ¶
Ray type (useful for raycast)
func GetMouseRay ¶
GetMouseRay - Returns a ray trace from mouse position
type Rectangle ¶
Rectangle type
func GetCollisionRec ¶
GetCollisionRec - Get collision rectangle for two rectangles collision
func NewRectangle ¶
NewRectangle - Returns new Rectangle
func (*Rectangle) ToInt32 ¶
func (r *Rectangle) ToInt32() RectangleInt32
ToInt32 converts rectangle to int32 variant
type RectangleInt32 ¶
RectangleInt32 type
func (*RectangleInt32) ToFloat32 ¶
func (r *RectangleInt32) ToFloat32() Rectangle
ToFloat32 converts rectangle to float32 variant
type RenderTexture2D ¶
type RenderTexture2D struct { // Render texture (fbo) id ID uint32 // Color buffer attachment texture Texture Texture2D // Depth buffer attachment texture Depth Texture2D }
RenderTexture2D type, for texture rendering
func LoadRenderTexture ¶
func LoadRenderTexture(width, height int32) RenderTexture2D
LoadRenderTexture - Load a texture to be used for rendering
func NewRenderTexture2D ¶
func NewRenderTexture2D(id uint32, texture, depth Texture2D) RenderTexture2D
NewRenderTexture2D - Returns new RenderTexture2D
type Shader ¶
type Shader struct { // Shader program id ID uint32 // Shader locations array Locs [MaxShaderLocations]int32 }
Shader type (generic shader)
func LoadShader ¶
LoadShader - Load a custom shader and bind default locations
func LoadShaderCode ¶
LoadShaderCode - Load shader from code strings and bind default locations
type Sound ¶
type Sound struct { SampleCount uint32 Stream AudioStream }
Sound source type
func LoadSoundFromWave ¶
LoadSoundFromWave - Load sound to memory from wave data
type Texture2D ¶
type Texture2D struct { // OpenGL texture id ID uint32 // Texture base width Width int32 // Texture base height Height int32 // Mipmap levels, 1 by default Mipmaps int32 // Data format (PixelFormat) Format PixelFormat }
Texture2D type, bpp always RGBA (32bit) NOTE: Data stored in GPU memory
func GenTextureBRDF ¶
GenTextureBRDF - Generate BRDF texture using cubemap data
func GenTextureCubemap ¶
GenTextureCubemap - Generate cubemap texture from HDR texture
func GenTextureIrradiance ¶
GenTextureIrradiance - Generate irradiance texture using cubemap data
func GenTexturePrefilter ¶
GenTexturePrefilter - Generate prefilter texture using cubemap data
func GetTextureDefault ¶
func GetTextureDefault() *Texture2D
GetTextureDefault - Get default texture
func LoadTexture ¶
LoadTexture - Load an image as texture into GPU memory
func LoadTextureFromImage ¶
LoadTextureFromImage - Load a texture from image data
func NewTexture2D ¶
func NewTexture2D(id uint32, width, height, mipmaps int32, format PixelFormat) Texture2D
NewTexture2D - Returns new Texture2D
type TextureFilterMode ¶
type TextureFilterMode int32
TextureFilterMode - Texture filter mode
const ( // No filter, just pixel aproximation FilterPoint TextureFilterMode = iota // Linear filtering FilterBilinear // Trilinear filtering (linear with mipmaps) FilterTrilinear // Anisotropic filtering 4x FilterAnisotropic4x // Anisotropic filtering 8x FilterAnisotropic8x // Anisotropic filtering 16x FilterAnisotropic16x )
Texture parameters: filter mode NOTE 1: Filtering considers mipmaps if available in the texture NOTE 2: Filter is accordingly set for minification and magnification
type TextureWrapMode ¶
type TextureWrapMode int32
TextureWrapMode - Texture wrap mode
const ( WrapRepeat TextureWrapMode = iota WrapClamp WrapMirror )
Texture parameters: wrap mode
type Vector2 ¶
Vector2 type
func GetGestureDragVector ¶
func GetGestureDragVector() Vector2
GetGestureDragVector - Get gesture drag vector
func GetGesturePinchVector ¶
func GetGesturePinchVector() Vector2
GetGesturePinchVector - Get gesture pinch delta
func GetMousePosition ¶
func GetMousePosition() Vector2
GetMousePosition - Returns mouse position XY
func GetTouchPosition ¶
GetTouchPosition - Returns touch position XY for a touch point index (relative to screen size)
func GetWorldToScreen ¶
GetWorldToScreen - Returns the screen space position from a 3d world space position
func MeasureTextEx ¶
MeasureTextEx - Measure string size for Font
type Vector3 ¶
Vector3 type
func ColorToHSV ¶
ColorToHSV - Returns HSV values for a Color NOTE: Hue is returned as degrees [0..360]
type Vector4 ¶
Vector4 type
func ColorNormalize ¶
ColorNormalize - Returns color normalized as float [0..1]
func GetImageDataNormalized ¶
GetImageDataNormalized - Get pixel data from image as Vector4 slice (float normalized)
type VrDeviceInfo ¶
type VrDeviceInfo struct { // HMD horizontal resolution in pixels HResolution int32 // HMD vertical resolution in pixels VResolution int32 // HMD horizontal size in meters HScreenSize float32 // HMD vertical size in meters VScreenSize float32 // HMD screen center in meters VScreenCenter float32 // HMD distance between eye and display in meters EyeToScreenDistance float32 // HMD lens separation distance in meters LensSeparationDistance float32 // HMD IPD (distance between pupils) in meters InterpupillaryDistance float32 // HMD lens distortion constant parameters LensDistortionValues [4]float32 // HMD chromatic aberration correction parameters ChromaAbCorrection [4]float32 }
VrDeviceInfo - Head-Mounted-Display device parameters
func NewVrDeviceInfo ¶
func NewVrDeviceInfo(hResolution, vResolution int32, hScreenSize, vScreenSize, vScreenCenter, eyeToScreenDistance, lensSeparationDistance, interpupillaryDistance float32, lensDistortionValues, chromaAbCorrection [4]float32) VrDeviceInfo
NewVrDeviceInfo - Returns new VrDeviceInfo
type Wave ¶
type Wave struct { // Number of samples SampleCount uint32 // Frequency (samples per second) SampleRate uint32 // Bit depth (bits per sample): 8, 16, 32 (24 not supported) SampleSize uint32 // Number of channels (1-mono, 2-stereo) Channels uint32 // contains filtered or unexported fields }
Wave type, defines audio wave data