raylib

package
v0.0.0-...-6f808ed Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2017 License: Zlib Imports: 22 Imported by: 0

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() {
	raylib.InitWindow(800, 450, "raylib [core] example - basic window")

	raylib.SetTargetFPS(60)

	for !raylib.WindowShouldClose() {
		raylib.BeginDrawing()

		raylib.ClearBackground(raylib.RayWhite)

		raylib.DrawText("Congrats! You created your first window!", 190, 200, 20, raylib.LightGray)

		raylib.EndDrawing()
	}

	raylib.CloseWindow()
}

Index

Constants

View Source
const (
	Pi      = 3.1415927
	Deg2rad = 0.017453292
	Rad2deg = 57.295776

	FlagShowLogo = 1
	// Set to run program in fullscreen
	FlagFullscreenMode = 2
	// Set to allow resizable window
	FlagWindowResizable = 4
	// Set to show window decoration (frame and buttons)
	FlagWindowDecorated = 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
	KeyBackspace    = 259
	KeyRight        = 262
	KeyLeft         = 263
	KeyDown         = 264
	KeyUp           = 265
	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
	KeyRightShift   = 344
	KeyRightControl = 345
	KeyRightAlt     = 346

	// Keyboard Alpha Numeric Keys
	KeyZero  = 48
	KeyOne   = 49
	KeyTwo   = 50
	KeyThree = 51
	KeyFour  = 52
	KeyFive  = 53
	KeySix   = 54
	KeySeven = 55
	KeyEight = 56
	KeyNine  = 57
	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

	// 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

View Source
const (
	LocVertexPosition = iota
	LocVertexTexcoord01
	LocVertexTexcoord02
	LocVertexNormal
	LocVertexTangent
	LocVertexColor
	LocMatrixMvp
	LocMatrixModel
	LocMatrixView
	LocMatrixProjection
	LocVectorView
	LocColorDiffuse
	LocColorSpecular
	LocColorAmbient
	LocMapAlbedo
	LocMapMetalness
	LocMapNormal
	LocMapRoughness
	LocMapOccusion
	LocMapEmission
	LocMapHeight
	LocMapCubemap
	LocMapIrradiance
	LocMapPrefilter
	LocMapBrdf
)

Shader location point type

View Source
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

View Source
const (
	MapDiffuse     = MapAlbedo
	MapSpecular    = MapMetalness
	LocMapDiffuse  = LocMapAlbedo
	LocMapSpecular = LocMapMetalness
)

Material map type

View Source
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

View Source
const (
	LogInfo = iota
	LogWarning
	LogError
	LogDebug
)

Log message types

Variables

View Source
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 Begin2dMode

func Begin2dMode(camera Camera2D)

Begin2dMode - Initialize 2D mode with custom camera

func Begin3dMode

func Begin3dMode(camera Camera)

Begin3dMode - Initializes 3D mode for drawing (Camera setup)

func BeginBlendMode

func BeginBlendMode(mode BlendMode)

BeginBlendMode - Begin blending mode (alpha, additive, multiplied)

func BeginDrawing

func BeginDrawing()

BeginDrawing - Setup drawing canvas to start drawing

func BeginShaderMode

func BeginShaderMode(shader Shader)

BeginShaderMode - Begin custom shader drawing

func BeginTextureMode

func BeginTextureMode(target RenderTexture2D)

BeginTextureMode - Initializes render texture for drawing

func BeginVrDrawing

func BeginVrDrawing()

BeginVrDrawing - Begin VR simulator stereo rendering

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

func CheckCollisionCircleRec(center Vector2, radius float32, rec Rectangle) bool

CheckCollisionCircleRec - Check collision between circle and rectangle

func CheckCollisionCircles

func CheckCollisionCircles(center1 Vector2, radius1 float32, center2 Vector2, radius2 float32) bool

CheckCollisionCircles - Check collision between two circles

func CheckCollisionPointCircle

func CheckCollisionPointCircle(point Vector2, center Vector2, radius float32) bool

CheckCollisionPointCircle - Check if point is inside circle

func CheckCollisionPointRec

func CheckCollisionPointRec(point Vector2, rec Rectangle) bool

CheckCollisionPointRec - Check if point is inside rectangle

func CheckCollisionPointTriangle

func CheckCollisionPointTriangle(point, p1, p2, p3 Vector2) bool

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

func CheckCollisionRaySphere(ray Ray, spherePosition Vector3, sphereRadius float32) bool

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

func CheckCollisionRecs(rec1, rec2 Rectangle) bool

CheckCollisionRecs - Check collision between two rectangles

func CheckCollisionSpheres

func CheckCollisionSpheres(centerA Vector3, radiusA float32, centerB Vector3, radiusB float32) bool

CheckCollisionSpheres - Detect collision between two spheres

func ClearBackground

func ClearBackground(color Color)

ClearBackground - Sets Background Color

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 CloseWindow

func CloseWindow()

CloseWindow - Close Window and Terminate Context

func ColorToFloat

func ColorToFloat(color Color) []float32

ColorToFloat - Converts Color to float32 slice and normalizes

func DisableCursor

func DisableCursor()

DisableCursor - Disables cursor

func DrawBillboard

func DrawBillboard(camera Camera, texture Texture2D, center Vector3, size float32, tint Color)

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

func DrawCircle(centerX, centerY int32, radius float32, color Color)

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

func DrawCircleGradient(centerX, centerY int32, radius float32, color1, color2 Color)

DrawCircleGradient - Draw a gradient-filled circle

func DrawCircleLines

func DrawCircleLines(centerX, centerY int32, radius float32, color Color)

DrawCircleLines - Draw circle outline

func DrawCircleV

func DrawCircleV(center Vector2, radius float32, color Color)

DrawCircleV - Draw a color-filled circle (Vector version)

func DrawCube

func DrawCube(position Vector3, width float32, height float32, length float32, color Color)

DrawCube - Draw cube

func DrawCubeTexture

func DrawCubeTexture(texture Texture2D, position Vector3, width float32, height float32, length float32, color Color)

DrawCubeTexture - Draw cube textured

func DrawCubeV

func DrawCubeV(position Vector3, size Vector3, color Color)

DrawCubeV - Draw cube (Vector version)

func DrawCubeWires

func DrawCubeWires(position Vector3, width float32, height float32, length float32, color Color)

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 DrawFPS

func DrawFPS(posX int32, posY int32)

DrawFPS - Shows current FPS

func DrawGizmo

func DrawGizmo(position Vector3)

DrawGizmo - Draw simple gizmo

func DrawGrid

func DrawGrid(slices int32, spacing float32)

DrawGrid - Draw a grid (centered at (0, 0, 0))

func DrawLine

func DrawLine(startPosX, startPosY, endPosX, endPosY int32, color Color)

DrawLine - Draw a line

func DrawLine3D

func DrawLine3D(startPos Vector3, endPos Vector3, color Color)

DrawLine3D - Draw a line in 3D world space

func DrawLineBezier

func DrawLineBezier(startPos, endPos Vector2, thick float32, color Color)

DrawLineBezier - Draw a line using cubic-bezier curves in-out

func DrawLineEx

func DrawLineEx(startPos, endPos Vector2, thick float32, color Color)

DrawLineEx - Draw a line defining thickness

func DrawLineV

func DrawLineV(startPos, endPos Vector2, color Color)

DrawLineV - Draw a line (Vector version)

func DrawModel

func DrawModel(model Model, position Vector3, scale float32, tint Color)

DrawModel - Draw a model (with texture if set)

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

func DrawModelWires(model Model, position Vector3, scale float32, tint Color)

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 DrawPixel

func DrawPixel(posX, posY int32, color Color)

DrawPixel - Draw a pixel

func DrawPixelV

func DrawPixelV(position Vector2, color Color)

DrawPixelV - Draw a pixel (Vector version)

func DrawPlane

func DrawPlane(centerPos Vector3, size Vector2, color Color)

DrawPlane - Draw a plane XZ

func DrawPoly

func DrawPoly(center Vector2, sides int32, radius, rotation float32, color Color)

DrawPoly - Draw a regular polygon (Vector version)

func DrawPolyEx

func DrawPolyEx(points []Vector2, numPoints int32, color Color)

DrawPolyEx - Draw a closed polygon defined by points

func DrawPolyExLines

func DrawPolyExLines(points []Vector2, numPoints int32, color Color)

DrawPolyExLines - Draw polygon lines

func DrawRay

func DrawRay(ray Ray, color Color)

DrawRay - Draw a ray line

func DrawRectangle

func DrawRectangle(posX, posY, width, height int32, color Color)

DrawRectangle - Draw a color-filled rectangle

func DrawRectangleGradientEx

func DrawRectangleGradientEx(rec Rectangle, color1, color2, color3, color4 Color)

DrawRectangleGradientEx - Draw a gradient-filled rectangle with custom vertex colors

func DrawRectangleGradientH

func DrawRectangleGradientH(posX, posY, width, height int32, color1, color2 Color)

DrawRectangleGradientH - Draw a horizontal-gradient-filled rectangle

func DrawRectangleGradientV

func DrawRectangleGradientV(posX, posY, width, height int32, color1, color2 Color)

DrawRectangleGradientV - Draw a vertical-gradient-filled rectangle

func DrawRectangleLines

func DrawRectangleLines(posX, posY, width, height int32, color Color)

DrawRectangleLines - Draw rectangle outline

func DrawRectanglePro

func DrawRectanglePro(rec Rectangle, origin Vector2, rotation float32, color Color)

DrawRectanglePro - Draw a color-filled rectangle with pro parameters

func DrawRectangleRec

func DrawRectangleRec(rec Rectangle, color Color)

DrawRectangleRec - Draw a color-filled rectangle

func DrawRectangleT

func DrawRectangleT(posX, posY, width, height int32, color Color)

DrawRectangleT - Draw rectangle using text character

func DrawRectangleV

func DrawRectangleV(position Vector2, size Vector2, color Color)

DrawRectangleV - Draw a color-filled rectangle (Vector version)

func DrawSphere

func DrawSphere(centerPos Vector3, radius float32, color Color)

DrawSphere - Draw sphere

func DrawSphereEx

func DrawSphereEx(centerPos Vector3, radius float32, rings int32, slices int32, color Color)

DrawSphereEx - Draw sphere with extended parameters

func DrawSphereWires

func DrawSphereWires(centerPos Vector3, radius float32, rings int32, slices int32, color Color)

DrawSphereWires - Draw sphere wires

func DrawText

func DrawText(text string, posX int32, posY int32, fontSize int32, color Color)

DrawText - Draw text (using default font)

func DrawTextEx

func DrawTextEx(spriteFont SpriteFont, text string, position Vector2, fontSize float32, spacing int32, tint Color)

DrawTextEx - Draw text using SpriteFont and additional parameters

func DrawTexture

func DrawTexture(texture Texture2D, posX int32, posY int32, tint Color)

DrawTexture - Draw a Texture2D

func DrawTextureEx

func DrawTextureEx(texture Texture2D, position Vector2, rotation, scale float32, tint Color)

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

func DrawTextureRec(texture Texture2D, sourceRec Rectangle, position Vector2, tint Color)

DrawTextureRec - Draw a part of a texture defined by a rectangle

func DrawTextureV

func DrawTextureV(texture Texture2D, position Vector2, tint Color)

DrawTextureV - Draw a Texture2D with position defined as Vector2

func DrawTriangle

func DrawTriangle(v1, v2, v3 Vector2, color Color)

DrawTriangle - Draw a color-filled triangle

func DrawTriangleLines

func DrawTriangleLines(v1, v2, v3 Vector2, color Color)

DrawTriangleLines - Draw triangle outline

func EnableCursor

func EnableCursor()

EnableCursor - Enables cursor

func End2dMode

func End2dMode()

End2dMode - Ends 2D mode custom camera usage

func End3dMode

func End3dMode()

End3dMode - Ends 3D mode and returns to default 2D orthographic mode

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 EndShaderMode

func EndShaderMode()

EndShaderMode - End custom shader drawing (use default shader)

func EndTextureMode

func EndTextureMode()

EndTextureMode - Ends drawing to render texture

func EndVrDrawing

func EndVrDrawing()

EndVrDrawing - End VR simulator stereo rendering

func GenTextureMipmaps

func GenTextureMipmaps(texture *Texture2D)

GenTextureMipmaps - Generate GPU mipmaps for a texture

func GetDroppedFiles

func GetDroppedFiles(count *int32) []string

GetDroppedFiles - Retrieve dropped files into window

func GetFPS

func GetFPS() float32

GetFPS - Returns current FPS

func GetFrameTime

func GetFrameTime() float32

GetFrameTime - Returns time in seconds for one frame

func GetGamepadAxisCount

func GetGamepadAxisCount(gamepad int32) int32

GetGamepadAxisCount - Return gamepad axis count for a gamepad

func GetGamepadAxisMovement

func GetGamepadAxisMovement(gamepad, axis int32) float32

GetGamepadAxisMovement - Return axis movement value for a gamepad axis

func GetGamepadButtonPressed

func GetGamepadButtonPressed() int32

GetGamepadButtonPressed - Get the last gamepad button pressed

func GetGamepadName

func GetGamepadName(gamepad int32) string

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 GetHexValue

func GetHexValue(color Color) int32

GetHexValue - Returns hexadecimal value for a Color

func GetImageData

func GetImageData(image *Image) unsafe.Pointer

GetImageData - Get pixel data from image

func GetKeyPressed

func GetKeyPressed() int32

GetKeyPressed - Get latest key pressed

func GetLogging

func GetLogging() int

func GetMouseWheelMove

func GetMouseWheelMove() int32

GetMouseWheelMove - Returns mouse wheel movement Y

func GetMouseX

func GetMouseX() int32

GetMouseX - Returns mouse position X

func GetMouseY

func GetMouseY() int32

GetMouseY - Returns mouse position Y

func GetMusicTimeLength

func GetMusicTimeLength(music Music) float32

GetMusicTimeLength - Get music time length (in seconds)

func GetMusicTimePlayed

func GetMusicTimePlayed(music Music) float32

GetMusicTimePlayed - Get current music time played (in seconds)

func GetRandomValue

func GetRandomValue(min, max int32) int32

GetRandomValue - Returns a random value between min and max (both included)

func GetScreenHeight

func GetScreenHeight() int32

GetScreenHeight - Get current screen height

func GetScreenWidth

func GetScreenWidth() int32

GetScreenWidth - Get current screen width

func GetShaderLocation

func GetShaderLocation(shader Shader, uniformName string) int32

GetShaderLocation - Get shader uniform location

func GetSurfaceHeight

func GetSurfaceHeight() int32

GetSurfaceHeight - Get current screen height

func GetSurfaceWidth

func GetSurfaceWidth() int32

GetSurfaceWidth - Get current screen width

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

func GetWaveData(wave Wave) []float32

GetWaveData - Get samples data from wave as a floats array

func HideCursor

func HideCursor()

HideCursor - Hides cursor

func HomeDir

func HomeDir() string

HomeDir - Returns user home directory

func ImageAlphaMask

func ImageAlphaMask(image, alphaMask *Image)

ImageAlphaMask - Apply alpha mask to image

func ImageColorBrightness

func ImageColorBrightness(image *Image, brightness int32)

ImageColorBrightness - Modify image color: brightness (-255 to 255)

func ImageColorContrast

func ImageColorContrast(image *Image, contrast float32)

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 ImageColorTint

func ImageColorTint(image *Image, color Color)

ImageColorTint - Modify image color: tint

func ImageCrop

func ImageCrop(image *Image, crop Rectangle)

ImageCrop - Crop an image to a defined rectangle

func ImageDither

func ImageDither(image *Image, rBpp, gBpp, bBpp, aBpp int32)

ImageDither - Dither image data to 16bpp or lower (Floyd-Steinberg dithering)

func ImageDraw

func ImageDraw(dst, src *Image, srcRec, dstRec Rectangle)

ImageDraw - Draw a source image within a destination image

func ImageDrawText

func ImageDrawText(dst *Image, position Vector2, text string, fontSize int32, color Color)

ImageDrawText - Draw text (default font) within an image (destination)

func ImageDrawTextEx

func ImageDrawTextEx(dst *Image, position Vector2, font SpriteFont, text string, fontSize float32, spacing int32, 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 int32)

ImageFormat - Convert image data to desired format

func ImageResize

func ImageResize(image *Image, newWidth, newHeight int32)

ImageResize - Resize an image (bilinear filtering)

func ImageResizeNN

func ImageResizeNN(image *Image, newWidth, newHeight int32)

ImageResizeNN - Resize an image (Nearest-Neighbor scaling algorithm)

func ImageToPOT

func ImageToPOT(image *Image, fillColor Color)

ImageToPOT - Convert image to POT (power-of-two)

func InitAudioDevice

func InitAudioDevice()

InitAudioDevice - Initialize audio device and context

func InitVrSimulator

func InitVrSimulator(vrDeviceInfo VrDeviceInfo)

InitVrSimulator - Init VR simulator for selected device

func InitWindow

func InitWindow(width int32, height int32, t interface{})

InitWindow - Initialize Window and OpenGL Graphics

func IsAudioBufferProcessed

func IsAudioBufferProcessed(stream AudioStream) bool

IsAudioBufferProcessed - Check if any audio stream buffers requires refill

func IsAudioDeviceReady

func IsAudioDeviceReady() bool

IsAudioDeviceReady - Check if audio device has been initialized successfully

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

func IsGamepadAvailable(gamepad int32) bool

IsGamepadAvailable - Detect if a gamepad is available

func IsGamepadButtonDown

func IsGamepadButtonDown(gamepad, button int32) bool

IsGamepadButtonDown - Detect if a gamepad button is being pressed

func IsGamepadButtonPressed

func IsGamepadButtonPressed(gamepad, button int32) bool

IsGamepadButtonPressed - Detect if a gamepad button has been pressed once

func IsGamepadButtonReleased

func IsGamepadButtonReleased(gamepad, button int32) bool

IsGamepadButtonReleased - Detect if a gamepad button has been released once

func IsGamepadButtonUp

func IsGamepadButtonUp(gamepad, button int32) bool

IsGamepadButtonUp - Detect if a gamepad button is NOT being pressed

func IsGamepadName

func IsGamepadName(gamepad int32, name string) bool

IsGamepadName - Check gamepad name (if available)

func IsGestureDetected

func IsGestureDetected(gesture Gestures) bool

IsGestureDetected - Check if a gesture have been detected

func IsKeyDown

func IsKeyDown(key int32) bool

IsKeyDown - Detect if a key is being pressed

func IsKeyPressed

func IsKeyPressed(key int32) bool

IsKeyPressed - Detect if a key has been pressed once

func IsKeyReleased

func IsKeyReleased(key int32) bool

IsKeyReleased - Detect if a key has been released once

func IsKeyUp

func IsKeyUp(key int32) bool

IsKeyUp - Detect if a key is NOT being pressed

func IsMouseButtonDown

func IsMouseButtonDown(button int32) bool

IsMouseButtonDown - Detect if a mouse button is being pressed

func IsMouseButtonPressed

func IsMouseButtonPressed(button int32) bool

IsMouseButtonPressed - Detect if a mouse button has been pressed once

func IsMouseButtonReleased

func IsMouseButtonReleased(button int32) bool

IsMouseButtonReleased - Detect if a mouse button has been released once

func IsMouseButtonUp

func IsMouseButtonUp(button int32) bool

IsMouseButtonUp - Detect if a mouse button is NOT being pressed

func IsMusicPlaying

func IsMusicPlaying(music Music) bool

IsMusicPlaying - Check if music is playing

func IsSoundPlaying

func IsSoundPlaying(sound Sound) bool

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 LoadResource

func LoadResource(reader io.ReadSeeker, rresID int, key []byte) (data rres.Data)

LoadResource - Load resource from file by id NOTE: Returns uncompressed data with parameters, search resource by id

func MatrixToFloat

func MatrixToFloat(mat Matrix) []float32

MatrixToFloat - Converts Matrix to float32 slice

func MeasureText

func MeasureText(text string, fontSize int32) int32

MeasureText - Measure string width for default font

func PauseAudioStream

func PauseAudioStream(stream AudioStream)

PauseAudioStream - Pause audio stream

func PauseMusicStream

func PauseMusicStream(music Music)

PauseMusicStream - Pause music playing

func PauseSound

func PauseSound(sound Sound)

PauseSound - Pause a sound

func PlayAudioStream

func PlayAudioStream(stream AudioStream)

PlayAudioStream - Play audio stream

func PlayMusicStream

func PlayMusicStream(music Music)

PlayMusicStream - Start music playing

func PlaySound

func PlaySound(sound Sound)

PlaySound - Play a sound

func ResumeAudioStream

func ResumeAudioStream(stream AudioStream)

ResumeAudioStream - Resume audio stream

func ResumeMusicStream

func ResumeMusicStream(music Music)

ResumeMusicStream - Resume playing paused music

func ResumeSound

func ResumeSound(sound Sound)

ResumeSound - Resume a paused sound

func SaveImageAs

func SaveImageAs(name string, image Image)

SaveImageAs - Save image to a PNG file

func SetCallbackFunc

func SetCallbackFunc(func(unsafe.Pointer))

SetCallbackFunc - Sets callback function

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 SetDebug

func SetDebug(enabled bool)

SetDebug - Set debug messages

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 SetLogging

func SetLogging(level int)

func SetLoggingGo

func SetLoggingGo(lvl int)

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 SetMousePosition

func SetMousePosition(position Vector2)

SetMousePosition - Set mouse position XY

func SetMusicLoopCount

func SetMusicLoopCount(music Music, count float32)

SetMusicLoopCount - Set music loop count (loop repeats) NOTE: If set to -1, means infinite loop

func SetMusicPitch

func SetMusicPitch(music Music, pitch float32)

SetMusicPitch - Set pitch for a music (1.0 is base level)

func SetMusicVolume

func SetMusicVolume(music Music, volume float32)

SetMusicVolume - Set volume for music (1.0 is max level)

func SetShaderValue

func SetShaderValue(shader Shader, uniformLoc int32, value []float32, size int32)

SetShaderValue - Set shader uniform value (float)

func SetShaderValueMatrix

func SetShaderValueMatrix(shader Shader, uniformLoc int32, mat Matrix)

SetShaderValueMatrix - Set shader uniform value (matrix 4x4)

func SetShaderValuei

func SetShaderValuei(shader Shader, uniformLoc int32, value []int32, size int32)

SetShaderValuei - Set shader uniform value (int)

func SetSoundPitch

func SetSoundPitch(sound Sound, pitch float32)

SetSoundPitch - Set pitch for a sound (1.0 is base level)

func SetSoundVolume

func SetSoundVolume(sound Sound, volume float32)

SetSoundVolume - Set volume for a sound (1.0 is max level)

func SetTargetFPS

func SetTargetFPS(fps int32)

SetTargetFPS - Set target FPS (maximum)

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 SetWindowMonitor

func SetWindowMonitor(monitor int32)

SetWindowMonitor - Set monitor for the current window (fullscreen mode)

func SetWindowPosition

func SetWindowPosition(x, y int32)

SetWindowPosition - Set window position on screen (only PLATFORM_DESKTOP)

func SetWindowResizable

func SetWindowResizable(state bool)

SetWindowResizable - Sets the resizability state.

func SetWindowTitle

func SetWindowTitle(title string)

SetWindowTitle - Set title for window (only PLATFORM_DESKTOP)

func ShowCursor

func ShowCursor()

ShowCursor - Shows cursor

func ShowLogo()

ShowLogo - Activates raylib logo at startup (can be done with flags)

func StopAudioStream

func StopAudioStream(stream AudioStream)

StopAudioStream - Stop audio stream

func StopMusicStream

func StopMusicStream(music Music)

StopMusicStream - Stop music playing

func StopSound

func StopSound(sound Sound)

StopSound - Stop playing a sound

func StorageLoadValue

func StorageLoadValue(position int32) int32

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 TraceLog

func TraceLog(msgType int, text string, v ...interface{})

TraceLog - Show trace log messages (INFO, WARNING, ERROR, DEBUG)

func UnloadImage

func UnloadImage(image *Image)

UnloadImage - Unload image from CPU memory (RAM)

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 UnloadSound

func UnloadSound(sound Sound)

UnloadSound - Unload sound

func UnloadSpriteFont

func UnloadSpriteFont(spriteFont SpriteFont)

UnloadSpriteFont - Unload SpriteFont from GPU memory (VRAM)

func UnloadTexture

func UnloadTexture(texture Texture2D)

UnloadTexture - Unload texture from GPU memory

func UnloadWave

func UnloadWave(wave Wave)

UnloadWave - Unload wave data

func UpdateAudioStream

func UpdateAudioStream(stream AudioStream, data unsafe.Pointer, 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

func UpdateSound(sound Sound, data unsafe.Pointer, samplesCount int32)

UpdateSound - Update sound buffer with new data

func UpdateTexture

func UpdateTexture(texture Texture2D, pixels unsafe.Pointer)

UpdateTexture - Update GPU texture with new data

func UpdateVrTracking

func UpdateVrTracking(camera *Camera)

UpdateVrTracking - Update VR tracking (position and orientation) and camera

func UpdateWindow

func UpdateWindow(title string)

UpdateWindow - Reloads the window with new settings set. (window resizablity, etc.)

func Vector3ToFloat

func Vector3ToFloat(vec Vector3) []float32

Vector3ToFloat - Converts Vector3 to float32 slice

func WaveCrop

func WaveCrop(wave Wave, initSample int32, finalSample int32)

WaveCrop - Crop a wave to defined samples range

func WaveFormat

func WaveFormat(wave Wave, sampleRate int32, sampleSize int32, channels int32)

WaveFormat - Convert wave data to desired format

func WindowShouldClose

func WindowShouldClose() bool

WindowShouldClose - Detect if KEY_ESCAPE pressed or Close icon pressed

Types

type Asset

type Asset interface {
	io.ReadSeeker
	io.Closer
}

Asset file

func OpenAsset

func OpenAsset(name string) (Asset, error)

OpenAsset - Open asset

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
	// OpenAL audio format specifier
	Format int32
	// OpenAL audio source id
	Source uint32
	// OpenAL audio buffers (double buffering)
	Buffers [2]uint32
}

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)

func NewAudioStream

func NewAudioStream(sampleRate, sampleSize, channels uint32, format int32, source uint32, buffers [2]uint32) AudioStream

NewAudioStream - Returns new AudioStream

func NewAudioStreamFromPointer

func NewAudioStreamFromPointer(ptr unsafe.Pointer) AudioStream

NewAudioStreamFromPointer - Returns new AudioStream from pointer

type BlendMode

type BlendMode int32

BlendMode type

const (
	BlendAlpha      BlendMode = C.BLEND_ALPHA
	BlendAdditive   BlendMode = C.BLEND_ADDITIVE
	BlendMultiplied BlendMode = C.BLEND_MULTIPLIED
)

Color blending modes (pre-defined)

type BoundingBox

type BoundingBox struct {
	// Minimum vertex box-corner
	Min Vector3
	// Maximum vertex box-corner
	Max Vector3
}

BoundingBox type

func CalculateBoundingBox

func CalculateBoundingBox(mesh Mesh) BoundingBox

CalculateBoundingBox - Calculate mesh bounding box limits

func NewBoundingBox

func NewBoundingBox(min, max Vector3) BoundingBox

NewBoundingBox - Returns new BoundingBox

func NewBoundingBoxFromPointer

func NewBoundingBoxFromPointer(ptr unsafe.Pointer) BoundingBox

NewBoundingBoxFromPointer - Returns new BoundingBox from pointer

type Camera

type Camera 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)
	Fovy float32
}

Camera type, defines a camera position/orientation in 3d space

func NewCamera

func NewCamera(pos, target, up Vector3, fovy float32) Camera

NewCamera - Returns new Camera

func NewCameraFromPointer

func NewCameraFromPointer(ptr unsafe.Pointer) Camera

NewCameraFromPointer - Returns new Camera from pointer

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

func NewCamera2D(offset, target Vector2, rotation, zoom float32) Camera2D

NewCamera2D - Returns new Camera2D

func NewCamera2DFromPointer

func NewCamera2DFromPointer(ptr unsafe.Pointer) Camera2D

NewCamera2DFromPointer - Returns new Camera2D from pointer

type CameraMode

type CameraMode int32

CameraMode type

const (
	CameraCustom      CameraMode = C.CAMERA_CUSTOM
	CameraFree        CameraMode = C.CAMERA_FREE
	CameraOrbital     CameraMode = C.CAMERA_ORBITAL
	CameraFirstPerson CameraMode = C.CAMERA_FIRST_PERSON
	CameraThirdPerson CameraMode = C.CAMERA_THIRD_PERSON
)

Camera system 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 - SpriteFont character info

func NewCharInfo

func NewCharInfo(value int32, rec Rectangle, offsetX, offsetY, advanceX int32) CharInfo

NewCharInfo - Returns new SpriteFont

func NewCharInfoFromPointer

func NewCharInfoFromPointer(ptr unsafe.Pointer) CharInfo

NewCharInfoFromPointer - Returns new SpriteFont from pointer

type Color

type Color struct {
	R uint8
	G uint8
	B uint8
	A uint8
}

Color type, RGBA (32bit)

func Fade

func Fade(color Color, alpha float32) Color

Fade - Color fade-in or fade-out, alpha goes from 0.0f to 1.0f

func GetColor

func GetColor(hexValue int32) Color

GetColor - Returns a Color struct from hexadecimal value

func NewColor

func NewColor(r, g, b, a uint8) Color

NewColor - Returns new Color

func NewColorFromPointer

func NewColorFromPointer(ptr unsafe.Pointer) Color

NewColorFromPointer - Returns new Color from pointer

type Gestures

type Gestures int32

Gestures type

const (
	GestureNone       Gestures = C.GESTURE_NONE
	GestureTap        Gestures = C.GESTURE_TAP
	GestureDoubletap  Gestures = C.GESTURE_DOUBLETAP
	GestureHold       Gestures = C.GESTURE_HOLD
	GestureDrag       Gestures = C.GESTURE_DRAG
	GestureSwipeRight Gestures = C.GESTURE_SWIPE_RIGHT
	GestureSwipeLeft  Gestures = C.GESTURE_SWIPE_LEFT
	GestureSwipeUp    Gestures = C.GESTURE_SWIPE_UP
	GestureSwipeDown  Gestures = C.GESTURE_SWIPE_DOWN
	GesturePinchIn    Gestures = C.GESTURE_PINCH_IN
	GesturePinchOut   Gestures = C.GESTURE_PINCH_OUT
)

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 raw data
	Data unsafe.Pointer
	// Image base width
	Width int32
	// Image base height
	Height int32
	// Mipmap levels, 1 by default
	Mipmaps int32
	// Data format (TextureFormat)
	Format TextureFormat
}

Image type, bpp always RGBA (32bit) NOTE: Data stored in CPU memory (RAM)

func GenImageCellular

func GenImageCellular(width, height, tileSize int) *Image

GenImageCellular - Generate image: cellular algorithm. Bigger tileSize means bigger cells

func GenImageChecked

func GenImageChecked(width, height, checksX, checksY int, col1, col2 Color) *Image

GenImageChecked - Generate image: checked

func GenImageGradientH

func GenImageGradientH(width, height int, left, right Color) *Image

GenImageGradientH - Generate image: horizontal gradient

func GenImageGradientRadial

func GenImageGradientRadial(width, height int, density float32, inner, outer Color) *Image

GenImageGradientRadial - Generate image: radial gradient

func GenImageGradientV

func GenImageGradientV(width, height int, top, bottom Color) *Image

GenImageGradientV - Generate image: vertical gradient

func GenImagePerlinNoise

func GenImagePerlinNoise(width, height int, scale float32) *Image

GenImagePerlinNoise - Generate image: perlin noise

func GenImageWhiteNoise

func GenImageWhiteNoise(width, height int, factor float32) *Image

GenImageWhiteNoise - Generate image: white noise

func GetTextureData

func GetTextureData(texture Texture2D) *Image

GetTextureData - Get pixel data from GPU texture and return an Image

func ImageCopy

func ImageCopy(image *Image) *Image

ImageCopy - Create an image duplicate (useful for transformations)

func ImageText

func ImageText(text string, fontSize int32, color Color) *Image

ImageText - Create an image from text (default font)

func ImageTextEx

func ImageTextEx(font SpriteFont, text string, fontSize float32, spacing int32, tint Color) *Image

ImageTextEx - Create an image from text (custom sprite font)

func LoadImage

func LoadImage(fileName string) *Image

LoadImage - Load an image into CPU memory (RAM)

func LoadImageEx

func LoadImageEx(pixels []Color, width, height int32) *Image

LoadImageEx - Load image data from Color array data (RGBA - 32bit)

func LoadImagePro

func LoadImagePro(data []byte, width, height int32, format TextureFormat) *Image

LoadImagePro - Load image from raw data with parameters

func LoadImageRaw

func LoadImageRaw(fileName string, width, height int32, format TextureFormat, headerSize int32) *Image

LoadImageRaw - Load image data from RAW file

func NewImage

func NewImage(data unsafe.Pointer, width, height, mipmaps int32, format TextureFormat) *Image

NewImage - Returns new Image

func NewImageFromImage

func NewImageFromImage(img image.Image) *Image

NewImageFromImage - Returns new Image from Go image.Image

func NewImageFromPointer

func NewImageFromPointer(ptr unsafe.Pointer) *Image

NewImageFromPointer - Returns new Image from pointer

func (*Image) ToImage

func (i *Image) ToImage() image.Image

ToImage converts a Image to Go image.Image

type Mat2

type Mat2 struct {
	M00 float32
	M01 float32
	M10 float32
	M11 float32
}

Mat2 type (used for polygon shape rotation matrix)

func NewMat2

func NewMat2(m0, m1, m10, m11 float32) Mat2

NewMat2 - Returns new Mat2

type Material

type Material struct {
	// Shader
	Shader Shader
	// Maps
	Maps [MaxMaterialMaps]MaterialMap

	// Generic parameters (if required)
	Params *[]float32
	// contains filtered or unexported fields
}

Material type

func LoadMaterial

func LoadMaterial(fileName string) Material

LoadMaterial - Load material data (.MTL)

func LoadMaterialDefault

func LoadMaterialDefault() Material

LoadMaterialDefault - Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)

func NewMaterial

func NewMaterial(shader Shader, maps [MaxMaterialMaps]MaterialMap, params *[]float32) Material

NewMaterial - Returns new Material

func NewMaterialFromPointer

func NewMaterialFromPointer(ptr unsafe.Pointer) Material

NewMaterialFromPointer - Returns new Material from pointer

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

func GetCameraMatrix(camera Camera) Matrix

GetCameraMatrix - Returns camera transform matrix (view matrix)

func NewMatrix

func NewMatrix(m0, m4, m8, m12, m1, m5, m9, m13, m2, m6, m10, m14, m3, m7, m11, m15 float32) Matrix

NewMatrix - Returns new Matrix

func NewMatrixFromPointer

func NewMatrixFromPointer(ptr unsafe.Pointer) Matrix

NewMatrixFromPointer - Returns new Matrix from pointer

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
	// OpenGL Vertex Array Object id
	VaoID uint32
	// OpenGL Vertex Buffer Objects id (7 types of vertex data)
	VboID [7]uint32
}

Mesh - Vertex data definning a mesh

func GenMeshCube

func GenMeshCube(width, height, length float32) Mesh

GenMeshCube - Generate cuboid mesh

func GenMeshCubicmap

func GenMeshCubicmap(cubicmap Image, size Vector3) Mesh

GenMeshCubicmap - Generate cubes-based map mesh from image data

func GenMeshCylinder

func GenMeshCylinder(radius, height float32, slices int) Mesh

GenMeshCylinder - Generate cylinder mesh

func GenMeshHeightmap

func GenMeshHeightmap(heightmap Image, size Vector3) Mesh

GenMeshHeightmap - Generate heightmap mesh from image data

func GenMeshHemiSphere

func GenMeshHemiSphere(radius float32, rings, slices int) Mesh

GenMeshHemiSphere - Generate half-sphere mesh (no bottom cap)

func GenMeshKnot

func GenMeshKnot(radius, size float32, radSeg, sides int) Mesh

GenMeshKnot - Generate trefoil knot mesh

func GenMeshPlane

func GenMeshPlane(width, length float32, resX, resZ int) Mesh

GenMeshPlane - Generate plane mesh (with subdivisions)

func GenMeshSphere

func GenMeshSphere(radius float32, rings, slices int) Mesh

GenMeshSphere - Generate sphere mesh (standard sphere)

func GenMeshTorus

func GenMeshTorus(radius, size float32, radSeg, sides int) Mesh

GenMeshTorus - Generate torus mesh

func LoadMesh

func LoadMesh(fileName string) Mesh

LoadMesh - Load mesh from file

func NewMesh

func NewMesh(vertexCount, triangleCount int32, vertices, texcoords, texcoords2, normals, tangents *[]float32, colors *[]uint8, indices *[]uint16, vaoID uint32, vboID [7]uint32) Mesh

NewMesh - Returns new Mesh

func NewMeshFromPointer

func NewMeshFromPointer(ptr unsafe.Pointer) Mesh

NewMeshFromPointer - Returns new Mesh from pointer

type Model

type Model struct {
	// Vertex data buffers (RAM and VRAM)
	Mesh Mesh
	// Local transform matrix
	Transform Matrix
	// Shader and textures data
	Material Material
	// contains filtered or unexported fields
}

Model type

func LoadModel

func LoadModel(fileName string) Model

LoadModel - Load model from file

func LoadModelFromMesh

func LoadModelFromMesh(data Mesh) Model

LoadModelFromMesh - Load model from mesh data

func NewModel

func NewModel(mesh Mesh, transform Matrix, material Material) Model

NewModel - Returns new Model

func NewModelFromPointer

func NewModelFromPointer(ptr unsafe.Pointer) Model

NewModelFromPointer - Returns new Model from pointer

type Music

type Music C.Music

Music type (file streaming from memory) NOTE: Anything longer than ~10 seconds should be streamed

func LoadMusicStream

func LoadMusicStream(fileName string) Music

LoadMusicStream - Load music stream from file

type Quaternion

type Quaternion struct {
	X float32
	Y float32
	Z float32
	W float32
}

Quaternion type

func NewQuaternion

func NewQuaternion(x, y, z, w float32) Quaternion

NewQuaternion - Returns new Quaternion

type Ray

type Ray struct {
	// Ray position (origin)
	Position Vector3
	// Ray direction
	Direction Vector3
}

Ray type (useful for raycast)

func GetMouseRay

func GetMouseRay(mousePosition Vector2, camera Camera) Ray

GetMouseRay - Returns a ray trace from mouse position

func NewRay

func NewRay(position, direction Vector3) Ray

NewRay - Returns new Ray

func NewRayFromPointer

func NewRayFromPointer(ptr unsafe.Pointer) Ray

NewRayFromPointer - Returns new Ray from pointer

type Rectangle

type Rectangle struct {
	X      int32
	Y      int32
	Width  int32
	Height int32
}

Rectangle type

func GetCollisionRec

func GetCollisionRec(rec1, rec2 Rectangle) Rectangle

GetCollisionRec - Get collision rectangle for two rectangles collision

func NewRectangle

func NewRectangle(x, y, width, height int32) Rectangle

NewRectangle - Returns new Rectangle

func NewRectangleFromPointer

func NewRectangleFromPointer(ptr unsafe.Pointer) Rectangle

NewRectangleFromPointer - Returns new Rectangle from pointer

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

func NewRenderTexture2DFromPointer

func NewRenderTexture2DFromPointer(ptr unsafe.Pointer) RenderTexture2D

NewRenderTexture2DFromPointer - Returns new RenderTexture2D from pointer

type Shader

type Shader struct {
	// Shader program id
	ID uint32
	// Shader locations array
	Locs [MaxShaderLocations]int32
}

Shader type (generic shader)

func GetShaderDefault

func GetShaderDefault() Shader

GetShaderDefault - Get default shader

func LoadShader

func LoadShader(vsFileName string, fsFileName string) Shader

LoadShader - Load a custom shader and bind default locations

func NewShader

func NewShader(id uint32, locs [MaxShaderLocations]int32) Shader

NewShader - Returns new Shader

func NewShaderFromPointer

func NewShaderFromPointer(ptr unsafe.Pointer) Shader

NewShaderFromPointer - Returns new Shader from pointer

type Sound

type Sound struct {
	// OpenAL audio source id
	Source uint32
	// OpenAL audio buffer id
	Buffer uint32
	// OpenAL audio format specifier
	Format int32
}

Sound source type

func LoadSound

func LoadSound(fileName string) Sound

LoadSound - Load sound to memory

func LoadSoundFromWave

func LoadSoundFromWave(wave Wave) Sound

LoadSoundFromWave - Load sound to memory from wave data

func NewSound

func NewSound(source, buffer uint32, format int32) Sound

NewSound - Returns new Sound

func NewSoundFromPointer

func NewSoundFromPointer(ptr unsafe.Pointer) Sound

NewSoundFromPointer - Returns new Sound from pointer

type SpriteFont

type SpriteFont struct {
	// Font texture
	Texture Texture2D
	// Base size (default chars height)
	BaseSize int32
	// Number of characters
	CharsCount int32
	// Characters info data
	Chars *CharInfo
}

SpriteFont type, includes texture and charSet array data

func GetDefaultFont

func GetDefaultFont() SpriteFont

GetDefaultFont - Get the default SpriteFont

func LoadSpriteFont

func LoadSpriteFont(fileName string) SpriteFont

LoadSpriteFont - Load a SpriteFont image into GPU memory (VRAM)

func LoadSpriteFontEx

func LoadSpriteFontEx(fileName string, fontSize int32, charsCount int32, fontChars *int32) SpriteFont

LoadSpriteFontEx - Load SpriteFont from file with extended parameters

func NewSpriteFont

func NewSpriteFont(texture Texture2D, baseSize, charsCount int32, chars *CharInfo) SpriteFont

NewSpriteFont - Returns new SpriteFont

func NewSpriteFontFromPointer

func NewSpriteFontFromPointer(ptr unsafe.Pointer) SpriteFont

NewSpriteFontFromPointer - Returns new SpriteFont from pointer

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 (TextureFormat)
	Format TextureFormat
}

Texture2D type, bpp always RGBA (32bit) NOTE: Data stored in GPU memory

func GenTextureBRDF

func GenTextureBRDF(shader Shader, cubemap Texture2D, size int) Texture2D

GenTextureBRDF - Generate BRDF texture using cubemap data

func GenTextureCubemap

func GenTextureCubemap(shader Shader, skyHDR Texture2D, size int) Texture2D

GenTextureCubemap - Generate cubemap texture from HDR texture

func GenTextureIrradiance

func GenTextureIrradiance(shader Shader, cubemap Texture2D, size int) Texture2D

GenTextureIrradiance - Generate irradiance texture using cubemap data

func GenTexturePrefilter

func GenTexturePrefilter(shader Shader, cubemap Texture2D, size int) Texture2D

GenTexturePrefilter - Generate prefilter texture using cubemap data

func GetTextureDefault

func GetTextureDefault() *Texture2D

GetTextureDefault - Get default texture

func LoadTexture

func LoadTexture(fileName string) Texture2D

LoadTexture - Load an image as texture into GPU memory

func LoadTextureFromImage

func LoadTextureFromImage(image *Image) Texture2D

LoadTextureFromImage - Load a texture from image data

func NewTexture2D

func NewTexture2D(id uint32, width, height, mipmaps int32, format TextureFormat) Texture2D

NewTexture2D - Returns new Texture2D

func NewTexture2DFromPointer

func NewTexture2DFromPointer(ptr unsafe.Pointer) Texture2D

NewTexture2DFromPointer - Returns new Texture2D from pointer

type TextureFilterMode

type TextureFilterMode int32

TextureFilterMode - Texture filter mode

const (
	// No filter, just pixel aproximation
	FilterPoint TextureFilterMode = C.FILTER_POINT
	// Linear filtering
	FilterBilinear TextureFilterMode = C.FILTER_BILINEAR
	// Trilinear filtering (linear with mipmaps)
	FilterTrilinear TextureFilterMode = C.FILTER_TRILINEAR
	// Anisotropic filtering 4x
	FilterAnisotropic4x TextureFilterMode = C.FILTER_ANISOTROPIC_4X
	// Anisotropic filtering 8x
	FilterAnisotropic8x TextureFilterMode = C.FILTER_ANISOTROPIC_8X
	// Anisotropic filtering 16x
	FilterAnisotropic16x TextureFilterMode = C.FILTER_ANISOTROPIC_16X
)

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 TextureFormat

type TextureFormat int32

TextureFormat - Texture format

const (
	// 8 bit per pixel (no alpha)
	UncompressedGrayscale TextureFormat = C.UNCOMPRESSED_GRAYSCALE
	// 16 bpp (2 channels)
	UncompressedGrayAlpha TextureFormat = C.UNCOMPRESSED_GRAY_ALPHA
	// 16 bpp
	UncompressedR5g6b5 TextureFormat = C.UNCOMPRESSED_R5G6B5
	// 24 bpp
	UncompressedR8g8b8 TextureFormat = C.UNCOMPRESSED_R8G8B8
	// 16 bpp (1 bit alpha)
	UncompressedR5g5b5a1 TextureFormat = C.UNCOMPRESSED_R5G5B5A1
	// 16 bpp (4 bit alpha)
	UncompressedR4g4b4a4 TextureFormat = C.UNCOMPRESSED_R4G4B4A4
	// 32 bpp
	UncompressedR8g8b8a8 TextureFormat = C.UNCOMPRESSED_R8G8B8A8
	// 4 bpp (no alpha)
	CompressedDxt1Rgb TextureFormat = C.COMPRESSED_DXT1_RGB
	// 4 bpp (1 bit alpha)
	CompressedDxt1Rgba TextureFormat = C.COMPRESSED_DXT1_RGBA
	// 8 bpp
	CompressedDxt3Rgba TextureFormat = C.COMPRESSED_DXT3_RGBA
	// 8 bpp
	CompressedDxt5Rgba TextureFormat = C.COMPRESSED_DXT5_RGBA
	// 4 bpp
	CompressedEtc1Rgb TextureFormat = C.COMPRESSED_ETC1_RGB
	// 4 bpp
	CompressedEtc2Rgb TextureFormat = C.COMPRESSED_ETC2_RGB
	// 8 bpp
	CompressedEtc2EacRgba TextureFormat = C.COMPRESSED_ETC2_EAC_RGBA
	// 4 bpp
	CompressedPvrtRgb TextureFormat = C.COMPRESSED_PVRT_RGB
	// 4 bpp
	CompressedPvrtRgba TextureFormat = C.COMPRESSED_PVRT_RGBA
	// 8 bpp
	CompressedAstc4x4Rgba TextureFormat = C.COMPRESSED_ASTC_4x4_RGBA
	// 2 bpp
	CompressedAstc8x8Rgba TextureFormat = C.COMPRESSED_ASTC_8x8_RGBA
)

Texture formats NOTE: Support depends on OpenGL version and platform

type TextureWrapMode

type TextureWrapMode int32

TextureWrapMode - Texture wrap mode

const (
	WrapRepeat TextureWrapMode = C.WRAP_REPEAT
	WrapClamp  TextureWrapMode = C.WRAP_CLAMP
	WrapMirror TextureWrapMode = C.WRAP_MIRROR
)

Texture parameters: wrap mode

type Vector2

type Vector2 struct {
	X float32
	Y float32
}

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

func GetTouchPosition(index int32) Vector2

GetTouchPosition - Returns touch position XY for a touch point index (relative to screen size)

func GetWorldToScreen

func GetWorldToScreen(position Vector3, camera Camera) Vector2

GetWorldToScreen - Returns the screen space position from a 3d world space position

func MeasureTextEx

func MeasureTextEx(spriteFont SpriteFont, text string, fontSize float32, spacing int32) Vector2

MeasureTextEx - Measure string size for SpriteFont

func NewVector2

func NewVector2(x, y float32) Vector2

NewVector2 - Returns new Vector2

func NewVector2FromPointer

func NewVector2FromPointer(ptr unsafe.Pointer) Vector2

NewVector2FromPointer - Returns new Vector2 from pointer

type Vector3

type Vector3 struct {
	X float32
	Y float32
	Z float32
}

Vector3 type

func NewVector3

func NewVector3(X, Y, Z float32) Vector3

NewVector3 - Returns new Vector3

func NewVector3FromPointer

func NewVector3FromPointer(ptr unsafe.Pointer) Vector3

NewVector3FromPointer - Returns new Vector3 from pointer

type VrDevice

type VrDevice int32

VrDevice type

const (
	HmdDefaultDevice VrDevice = iota
	HmdOculusRiftDk2
	HmdOculusRiftCv1
	HmdOculusGo
	HmdValveHtcVive
	HmdSonyPsvr
)

Head Mounted Display devices

type VrDeviceInfo

type VrDeviceInfo struct {
	// contains filtered or unexported fields
}

VrDeviceInfo - Head-Mounted-Display device parameters

func GetVrDeviceInfo

func GetVrDeviceInfo(vrDevice VrDevice) VrDeviceInfo

GetVrDeviceInfo - Get VR device information for some standard devices

func NewVrDeviceInfo

func NewVrDeviceInfo(hResolution, vResolution int, hScreenSize, vScreenSize, vScreenCenter, eyeToScreenDistance,
	lensSeparationDistance, interpupillaryDistance float32, lensDistortionValues, chromaAbCorrection [4]float32) VrDeviceInfo

NewVrDeviceInfo - Returns new VrDeviceInfo

func NewVrDeviceInfoFromPointer

func NewVrDeviceInfoFromPointer(ptr unsafe.Pointer) VrDeviceInfo

NewVrDeviceInfoFromPointer - Returns new VrDeviceInfo from pointer

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
	// Buffer data pointer
	Data unsafe.Pointer
}

Wave type, defines audio wave data

func LoadWave

func LoadWave(fileName string) Wave

LoadWave - Load wave data from file into RAM

func LoadWaveEx

func LoadWaveEx(data []byte, sampleCount int32, sampleRate int32, sampleSize int32, channels int32) Wave

LoadWaveEx - Load wave data from float array data (32bit)

func NewWave

func NewWave(sampleCount, sampleRate, sampleSize, channels uint32, data unsafe.Pointer) Wave

NewWave - Returns new Wave

func NewWaveFromPointer

func NewWaveFromPointer(ptr unsafe.Pointer) Wave

NewWaveFromPointer - Returns new Wave from pointer

func WaveCopy

func WaveCopy(wave Wave) Wave

WaveCopy - Copy a wave to a new wave

type WindowInfo

type WindowInfo struct {
	Title        string
	IsMinimized  bool
	IsFullscreen bool
	IsResizable  bool
	Size         WindowSizeInfo
}

WindowInfo contains useful information about the game window.

func GetGameWindowInfo

func GetGameWindowInfo() WindowInfo

GetGameWindowInfo - Gets the info about the window.

func NewWindowInfoFromPointer

func NewWindowInfoFromPointer(ptr unsafe.Pointer) WindowInfo

NewWindowInfoFromPointer - Returns new WindowInfo from pointer

type WindowSizeInfo

type WindowSizeInfo struct {
	Position   Vector2
	WindowSize Vector2
	CanvasSize Vector2
}

WindowSizeInfo contains useful information about the size and position of the window.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL