Update library

This commit is contained in:
Milan Nikolic 2021-05-25 14:37:36 +02:00
parent 59d7351c8d
commit 6630170a3b
No known key found for this signature in database
GPG key ID: 9229D0EAA3AA4E75
10 changed files with 42 additions and 273 deletions

View file

@ -95,16 +95,6 @@ func ToggleFullscreen() {
C.ToggleFullscreen()
}
// UnhideWindow - Show the window
func UnhideWindow() {
C.UnhideWindow()
}
// HideWindow - Hide the window
func HideWindow() {
C.HideWindow()
}
// SetWindowIcon - Set icon for window (only PLATFORM_DESKTOP)
func SetWindowIcon(image Image) {
cimage := image.cptr()

View file

@ -156,22 +156,6 @@ func DrawGrid(slices int32, spacing float32) {
C.DrawGrid(cslices, cspacing)
}
// DrawGizmo - Draw simple gizmo
func DrawGizmo(position Vector3) {
cposition := position.cptr()
C.DrawGizmo(*cposition)
}
// LoadMeshes - Load mesh from file
func LoadMeshes(fileName string) Mesh {
cfileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cfileName))
ccount := C.int(0)
ret := C.LoadMeshes(cfileName, &ccount)
v := newMeshFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadModel - Load model from file
func LoadModel(fileName string) Model {
cfileName := C.CString(fileName)
@ -390,20 +374,20 @@ func DrawBillboard(camera Camera, texture Texture2D, center Vector3, size float3
}
// DrawBillboardRec - Draw a billboard texture defined by sourceRec
func DrawBillboardRec(camera Camera, texture Texture2D, sourceRec Rectangle, center Vector3, size float32, tint Color) {
func DrawBillboardRec(camera Camera, texture Texture2D, sourceRec Rectangle, center Vector3, size Vector2, tint Color) {
ccamera := camera.cptr()
ctexture := texture.cptr()
csourceRec := sourceRec.cptr()
ccenter := center.cptr()
csize := (C.float)(size)
csize := size.cptr()
ctint := tint.cptr()
C.DrawBillboardRec(*ccamera, *ctexture, *csourceRec, *ccenter, csize, *ctint)
C.DrawBillboardRec(*ccamera, *ctexture, *csourceRec, *ccenter, *csize, *ctint)
}
// MeshBoundingBox - Compute mesh bounding box limits
func MeshBoundingBox(mesh Mesh) BoundingBox {
// GetMeshBoundingBox - Compute mesh bounding box limits
func GetMeshBoundingBox(mesh Mesh) BoundingBox {
cmesh := mesh.cptr()
ret := C.MeshBoundingBox(*cmesh)
ret := C.GetMeshBoundingBox(*cmesh)
v := newBoundingBoxFromPointer(unsafe.Pointer(&ret))
return v
}

View file

@ -105,11 +105,6 @@ func IsWindowFocused() bool {
return v
}
// UndecorateWindow - Undecorate the window (only PLATFORM_DESKTOP)
func UndecorateWindow() {
C.UndecorateWindow()
}
// MaximizeWindow - Maximize the window, if resizable (only PLATFORM_DESKTOP)
func MaximizeWindow() {
C.MaximizeWindow()
@ -120,11 +115,6 @@ func RestoreWindow() {
C.RestoreWindow()
}
// DecorateWindow - Decorate the window (only PLATFORM_DESKTOP)
func DecorateWindow() {
C.DecorateWindow()
}
// GetMonitorRefreshRate - Get primary monitor refresh rate
func GetMonitorRefreshRate(monitor int) int {
cmonitor := (C.int)(monitor)

View file

@ -174,11 +174,11 @@ func WaveCrop(wave Wave, initSample int32, finalSample int32) {
C.WaveCrop(cwave, cinitSample, cfinalSample)
}
// GetWaveData - Get samples data from wave as a floats array
func GetWaveData(wave Wave) []float32 {
// LoadWaveSamples - Get samples data from wave as a floats array
func LoadWaveSamples(wave Wave) []float32 {
var data []float32
cwave := wave.cptr()
ret := C.GetWaveData(*cwave)
ret := C.LoadWaveSamples(*cwave)
sliceHeader := (*reflect.SliceHeader)((unsafe.Pointer(&data)))
sliceHeader.Cap = int(wave.SampleCount)
@ -233,10 +233,10 @@ func ResumeMusicStream(music Music) {
C.ResumeMusicStream(cmusic)
}
// IsMusicPlaying - Check if music is playing
func IsMusicPlaying(music Music) bool {
// IsMusicStreamPlaying - Check if music is playing
func IsMusicStreamPlaying(music Music) bool {
cmusic := *(*C.Music)(unsafe.Pointer(&music))
ret := C.IsMusicPlaying(cmusic)
ret := C.IsMusicStreamPlaying(cmusic)
v := bool(ret)
return v
}

View file

@ -1147,13 +1147,11 @@ type RenderTexture2D struct {
ID uint32
// Color buffer attachment texture
Texture Texture2D
// Depth buffer attachment texture
Depth Texture2D
}
// NewRenderTexture2D - Returns new RenderTexture2D
func NewRenderTexture2D(id uint32, texture, depth Texture2D) RenderTexture2D {
return RenderTexture2D{id, texture, depth}
func NewRenderTexture2D(id uint32, texture Texture2D) RenderTexture2D {
return RenderTexture2D{id, texture}
}
// newRenderTexture2DFromPointer - Returns new RenderTexture2D from pointer

View file

@ -2,6 +2,7 @@ package rl
/*
#include "raylib.h"
#include "rlgl.h"
#include <stdlib.h>
*/
import "C"
@ -38,15 +39,15 @@ func LoadShader(vsFileName string, fsFileName string) Shader {
return v
}
// LoadShaderCode - Load shader from code strings and bind default locations
func LoadShaderCode(vsCode string, fsCode string) Shader {
// LoadShaderFromMemory - Load shader from code strings and bind default locations
func LoadShaderFromMemory(vsCode string, fsCode string) Shader {
cvsCode := C.CString(vsCode)
defer C.free(unsafe.Pointer(cvsCode))
cfsCode := C.CString(fsCode)
defer C.free(unsafe.Pointer(cfsCode))
ret := C.LoadShaderCode(cvsCode, cfsCode)
ret := C.LoadShaderFromMemory(cvsCode, cfsCode)
v := newShaderFromPointer(unsafe.Pointer(&ret))
return v
@ -60,14 +61,14 @@ func UnloadShader(shader Shader) {
// GetShaderDefault - Get default shader
func GetShaderDefault() Shader {
ret := C.GetShaderDefault()
ret := C.rlGetShaderDefault()
v := newShaderFromPointer(unsafe.Pointer(&ret))
return v
}
// GetTextureDefault - Get default texture
func GetTextureDefault() *Texture2D {
ret := C.GetTextureDefault()
ret := C.rlGetTextureDefault()
v := newTexture2DFromPointer(unsafe.Pointer(&ret))
return &v
}
@ -103,56 +104,13 @@ func SetShaderValueMatrix(shader Shader, uniformLoc int32, mat Matrix) {
// SetMatrixProjection - Set a custom projection matrix (replaces internal projection matrix)
func SetMatrixProjection(proj Matrix) {
cproj := proj.cptr()
C.SetMatrixProjection(*cproj)
C.rlSetMatrixProjection(*cproj)
}
// SetMatrixModelview - Set a custom modelview matrix (replaces internal modelview matrix)
func SetMatrixModelview(view Matrix) {
cview := view.cptr()
C.SetMatrixModelview(*cview)
}
// GenTextureCubemap - Generate cubemap texture from HDR texture
func GenTextureCubemap(shader Shader, skyHDR Texture2D, size int) Texture2D {
cshader := shader.cptr()
cskyHDR := skyHDR.cptr()
csize := (C.int)(size)
ret := C.GenTextureCubemap(*cshader, *cskyHDR, csize)
v := newTexture2DFromPointer(unsafe.Pointer(&ret))
return v
}
// GenTextureIrradiance - Generate irradiance texture using cubemap data
func GenTextureIrradiance(shader Shader, cubemap Texture2D, size int) Texture2D {
cshader := shader.cptr()
ccubemap := cubemap.cptr()
csize := (C.int)(size)
ret := C.GenTextureIrradiance(*cshader, *ccubemap, csize)
v := newTexture2DFromPointer(unsafe.Pointer(&ret))
return v
}
// GenTexturePrefilter - Generate prefilter texture using cubemap data
func GenTexturePrefilter(shader Shader, cubemap Texture2D, size int) Texture2D {
cshader := shader.cptr()
ccubemap := cubemap.cptr()
csize := (C.int)(size)
ret := C.GenTexturePrefilter(*cshader, *ccubemap, csize)
v := newTexture2DFromPointer(unsafe.Pointer(&ret))
return v
}
// GenTextureBRDF - Generate BRDF texture using cubemap data
func GenTextureBRDF(shader Shader, size int) Texture2D {
cshader := shader.cptr()
csize := (C.int)(size)
ret := C.GenTextureBRDF(*cshader, csize)
v := newTexture2DFromPointer(unsafe.Pointer(&ret))
return v
C.rlSetMatrixModelview(*cview)
}
// BeginShaderMode - Begin custom shader drawing
@ -176,41 +134,3 @@ func BeginBlendMode(mode BlendMode) {
func EndBlendMode() {
C.EndBlendMode()
}
// InitVrSimulator - Init VR simulator for selected device
func InitVrSimulator() {
C.InitVrSimulator()
}
// CloseVrSimulator - Close VR simulator for current device
func CloseVrSimulator() {
C.CloseVrSimulator()
}
// IsVrSimulatorReady - Detect if VR simulator is ready
func IsVrSimulatorReady() bool {
ret := C.IsVrSimulatorReady()
v := bool(ret)
return v
}
// UpdateVrTracking - Update VR tracking (position and orientation) and camera
func UpdateVrTracking(camera *Camera) {
ccamera := camera.cptr()
C.UpdateVrTracking(ccamera)
}
// ToggleVrMode - Enable/Disable VR experience (device or simulator)
func ToggleVrMode() {
C.ToggleVrMode()
}
// BeginVrDrawing - Begin VR simulator stereo rendering
func BeginVrDrawing() {
C.BeginVrDrawing()
}
// EndVrDrawing - End VR simulator stereo rendering
func EndVrDrawing() {
C.EndVrDrawing()
}

View file

@ -1,106 +0,0 @@
// Vertex shader definition to embed, no external file required
static const char distortionVShaderStr[] =
#if defined(GRAPHICS_API_OPENGL_21)
"#version 120 \n"
#elif defined(GRAPHICS_API_OPENGL_ES2)
"#version 100 \n"
#endif
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
"attribute vec3 vertexPosition; \n"
"attribute vec2 vertexTexCoord; \n"
"attribute vec4 vertexColor; \n"
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
#elif defined(GRAPHICS_API_OPENGL_33)
"#version 330 \n"
"in vec3 vertexPosition; \n"
"in vec2 vertexTexCoord; \n"
"in vec4 vertexColor; \n"
"out vec2 fragTexCoord; \n"
"out vec4 fragColor; \n"
#endif
"uniform mat4 mvp; \n"
"void main() \n"
"{ \n"
" fragTexCoord = vertexTexCoord; \n"
" fragColor = vertexColor; \n"
" gl_Position = mvp*vec4(vertexPosition, 1.0); \n"
"} \n";
// Fragment shader definition to embed, no external file required
static const char distortionFShaderStr[] =
#if defined(GRAPHICS_API_OPENGL_21)
"#version 120 \n"
#elif defined(GRAPHICS_API_OPENGL_ES2)
"#version 100 \n"
"precision mediump float; \n" // precision required for OpenGL ES2 (WebGL)
#endif
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
"varying vec2 fragTexCoord; \n"
"varying vec4 fragColor; \n"
#elif defined(GRAPHICS_API_OPENGL_33)
"#version 330 \n"
"in vec2 fragTexCoord; \n"
"in vec4 fragColor; \n"
"out vec4 finalColor; \n"
#endif
"uniform sampler2D texture0; \n"
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
"uniform vec2 leftLensCenter; \n"
"uniform vec2 rightLensCenter; \n"
"uniform vec2 leftScreenCenter; \n"
"uniform vec2 rightScreenCenter; \n"
"uniform vec2 scale; \n"
"uniform vec2 scaleIn; \n"
"uniform vec4 hmdWarpParam; \n"
"uniform vec4 chromaAbParam; \n"
#elif defined(GRAPHICS_API_OPENGL_33)
"uniform vec2 leftLensCenter = vec2(0.288, 0.5); \n"
"uniform vec2 rightLensCenter = vec2(0.712, 0.5); \n"
"uniform vec2 leftScreenCenter = vec2(0.25, 0.5); \n"
"uniform vec2 rightScreenCenter = vec2(0.75, 0.5); \n"
"uniform vec2 scale = vec2(0.25, 0.45); \n"
"uniform vec2 scaleIn = vec2(4, 2.2222); \n"
"uniform vec4 hmdWarpParam = vec4(1, 0.22, 0.24, 0); \n"
"uniform vec4 chromaAbParam = vec4(0.996, -0.004, 1.014, 0.0); \n"
#endif
"void main() \n"
"{ \n"
" vec2 lensCenter = fragTexCoord.x < 0.5 ? leftLensCenter : rightLensCenter; \n"
" vec2 screenCenter = fragTexCoord.x < 0.5 ? leftScreenCenter : rightScreenCenter; \n"
" vec2 theta = (fragTexCoord - lensCenter)*scaleIn; \n"
" float rSq = theta.x*theta.x + theta.y*theta.y; \n"
" vec2 theta1 = theta*(hmdWarpParam.x + hmdWarpParam.y*rSq + hmdWarpParam.z*rSq*rSq + hmdWarpParam.w*rSq*rSq*rSq); \n"
" vec2 thetaBlue = theta1*(chromaAbParam.z + chromaAbParam.w*rSq); \n"
" vec2 tcBlue = lensCenter + scale*thetaBlue; \n"
" if (any(bvec2(clamp(tcBlue, screenCenter - vec2(0.25, 0.5), screenCenter + vec2(0.25, 0.5)) - tcBlue))) \n"
" { \n"
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
" gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); \n"
#elif defined(GRAPHICS_API_OPENGL_33)
" finalColor = vec4(0.0, 0.0, 0.0, 1.0); \n"
#endif
" } \n"
" else \n"
" { \n"
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
" float blue = texture2D(texture0, tcBlue).b; \n"
" vec2 tcGreen = lensCenter + scale*theta1; \n"
" float green = texture2D(texture0, tcGreen).g; \n"
#elif defined(GRAPHICS_API_OPENGL_33)
" float blue = texture(texture0, tcBlue).b; \n"
" vec2 tcGreen = lensCenter + scale*theta1; \n"
" float green = texture(texture0, tcGreen).g; \n"
#endif
" vec2 thetaRed = theta1*(chromaAbParam.x + chromaAbParam.y*rSq); \n"
" vec2 tcRed = lensCenter + scale*thetaRed; \n"
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
" float red = texture2D(texture0, tcRed).r; \n"
" gl_FragColor = vec4(red, green, blue, 1.0); \n"
#elif defined(GRAPHICS_API_OPENGL_33)
" float red = texture(texture0, tcRed).r; \n"
" finalColor = vec4(red, green, blue, 1.0); \n"
#endif
" } \n"
"} \n";

View file

@ -68,22 +68,22 @@ func DrawCircle(centerX, centerY int32, radius float32, color Color) {
}
// DrawCircleSector - Draw a piece of a circle
func DrawCircleSector(center Vector2, radius float32, startAngle, endAngle, segments int32, color Color) {
func DrawCircleSector(center Vector2, radius, startAngle, endAngle float32, segments int32, color Color) {
ccenter := center.cptr()
cradius := (C.float)(radius)
cstartAngle := (C.int)(startAngle)
cendAngle := (C.int)(endAngle)
cstartAngle := (C.float)(startAngle)
cendAngle := (C.float)(endAngle)
csegments := (C.int)(segments)
ccolor := color.cptr()
C.DrawCircleSector(*ccenter, cradius, cstartAngle, cendAngle, csegments, *ccolor)
}
// DrawCircleSectorLines -
func DrawCircleSectorLines(center Vector2, radius float32, startAngle, endAngle, segments int32, color Color) {
func DrawCircleSectorLines(center Vector2, radius, startAngle, endAngle float32, segments int32, color Color) {
ccenter := center.cptr()
cradius := (C.float)(radius)
cstartAngle := (C.int)(startAngle)
cendAngle := (C.int)(endAngle)
cstartAngle := (C.float)(startAngle)
cendAngle := (C.float)(endAngle)
csegments := (C.int)(segments)
ccolor := color.cptr()
C.DrawCircleSectorLines(*ccenter, cradius, cstartAngle, cendAngle, csegments, *ccolor)
@ -137,24 +137,24 @@ func DrawEllipseLines(centerX, centerY int32, radiusH, radiusV float32, color Co
}
// DrawRing -
func DrawRing(center Vector2, innerRadius, outerRadius float32, startAngle, endAngle, segments int32, color Color) {
func DrawRing(center Vector2, innerRadius, outerRadius, startAngle, endAngle float32, segments int32, color Color) {
ccenter := center.cptr()
cinnerRadius := (C.float)(innerRadius)
couterRadius := (C.float)(outerRadius)
cstartAngle := (C.int)(startAngle)
cendAngle := (C.int)(endAngle)
cstartAngle := (C.float)(startAngle)
cendAngle := (C.float)(endAngle)
csegments := (C.int)(segments)
ccolor := color.cptr()
C.DrawRing(*ccenter, cinnerRadius, couterRadius, cstartAngle, cendAngle, csegments, *ccolor)
}
// DrawRingLines -
func DrawRingLines(center Vector2, innerRadius, outerRadius float32, startAngle, endAngle, segments int32, color Color) {
func DrawRingLines(center Vector2, innerRadius, outerRadius, startAngle, endAngle float32, segments int32, color Color) {
ccenter := center.cptr()
cinnerRadius := (C.float)(innerRadius)
couterRadius := (C.float)(outerRadius)
cstartAngle := (C.int)(startAngle)
cendAngle := (C.int)(endAngle)
cstartAngle := (C.float)(startAngle)
cendAngle := (C.float)(endAngle)
csegments := (C.int)(segments)
ccolor := color.cptr()
C.DrawRingLines(*ccenter, cinnerRadius, couterRadius, cstartAngle, cendAngle, csegments, *ccolor)
@ -237,9 +237,9 @@ func DrawRectangleLines(posX, posY, width, height int32, color Color) {
}
// DrawRectangleLinesEx - Draw rectangle outline with extended parameters
func DrawRectangleLinesEx(rec Rectangle, lineThick int32, color Color) {
func DrawRectangleLinesEx(rec Rectangle, lineThick float32, color Color) {
crec := rec.cptr()
clineThick := (C.int)(lineThick)
clineThick := (C.float)(lineThick)
ccolor := color.cptr()
C.DrawRectangleLinesEx(*crec, clineThick, *ccolor)
}
@ -254,11 +254,11 @@ func DrawRectangleRounded(rec Rectangle, roundness float32, segments int32, colo
}
// DrawRectangleRoundedLines - Draw rectangle with rounded edges outline
func DrawRectangleRoundedLines(rec Rectangle, roundness float32, segments, lineThick int32, color Color) {
func DrawRectangleRoundedLines(rec Rectangle, roundness float32, segments, lineThick float32, color Color) {
crec := rec.cptr()
croundness := (C.float)(roundness)
csegments := (C.int)(segments)
clineThick := (C.int)(lineThick)
clineThick := (C.float)(lineThick)
ccolor := color.cptr()
C.DrawRectangleRoundedLines(*crec, croundness, csegments, clineThick, *ccolor)
}

View file

@ -56,14 +56,14 @@ func LoadFontFromImage(image Image, key Color, firstChar int32) Font {
}
// LoadFontData - Load font data for further use
func LoadFontData(fileName string, fontSize int32, fontChars *int32, charsCount, typ int32) *CharInfo {
cfileName := C.CString(fileName)
defer C.free(unsafe.Pointer(cfileName))
func LoadFontData(fileData []byte, dataSize int32, fontSize int32, fontChars *int32, charsCount, typ int32) *CharInfo {
cfileData := (*C.uchar)(unsafe.Pointer(&fileData[0]))
cdataSize := (C.int)(dataSize)
cfontSize := (C.int)(fontSize)
cfontChars := (*C.int)(unsafe.Pointer(fontChars))
ccharsCount := (C.int)(charsCount)
ctype := (C.int)(typ)
ret := C.LoadFontData(cfileName, cfontSize, cfontChars, ccharsCount, ctype)
ret := C.LoadFontData(cfileData, cdataSize, cfontSize, cfontChars, ccharsCount, ctype)
v := newCharInfoFromPointer(unsafe.Pointer(&ret))
return &v
}

View file

@ -113,13 +113,6 @@ func GetImageData(img *Image) []Color {
return (*[1 << 24]Color)(unsafe.Pointer(ret))[0 : img.Width*img.Height]
}
// GetImageDataNormalized - Get pixel data from image as Vector4 slice (float normalized)
func GetImageDataNormalized(img *Image) []Vector4 {
cimg := img.cptr()
ret := C.GetImageDataNormalized(*cimg)
return (*[1 << 24]Vector4)(unsafe.Pointer(ret))[0 : img.Width*img.Height]
}
// GetPixelDataSize - Get pixel data size in bytes (image or texture)
func GetPixelDataSize(width, height, format int32) int32 {
cwidth := (C.int)(width)