From 4bb9631420b2745938d99071be2ff7956ece4284 Mon Sep 17 00:00:00 2001 From: Snowminx Date: Sun, 24 Dec 2023 12:40:03 -0800 Subject: [PATCH 1/4] feat: update rtextures.go to have the func LoadTextureCubemap. --- raylib/rtextures.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/raylib/rtextures.go b/raylib/rtextures.go index 6945a83..afbc4c3 100644 --- a/raylib/rtextures.go +++ b/raylib/rtextures.go @@ -184,6 +184,13 @@ func LoadRenderTexture(width, height int32) RenderTexture2D { return v } +// LoadTextureCubemap - Loads a texture for a cubemap using given layout +func LoadTextureCubemap(image Image, layout int32) Texture2D { + ret := C.LoadTextureCubemap(image, layout) + v := newTexture2DFromPointer(unsafe.Pointer(&ret)) + return v +} + // UnloadImage - Unload image from CPU memory (RAM) func UnloadImage(image *Image) { cimage := image.cptr() From 656b4a4a8d0837df29d5785c60ec04e1d0ae3a4f Mon Sep 17 00:00:00 2001 From: Snowminx Date: Sun, 24 Dec 2023 18:36:56 -0800 Subject: [PATCH 2/4] fix: update to convert params to cgo --- raylib/rtextures.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/raylib/rtextures.go b/raylib/rtextures.go index afbc4c3..0bf775b 100644 --- a/raylib/rtextures.go +++ b/raylib/rtextures.go @@ -185,8 +185,10 @@ func LoadRenderTexture(width, height int32) RenderTexture2D { } // LoadTextureCubemap - Loads a texture for a cubemap using given layout -func LoadTextureCubemap(image Image, layout int32) Texture2D { - ret := C.LoadTextureCubemap(image, layout) +func LoadTextureCubemap(image *Image, layout int32) Texture2D { + cimage := image.cptr() + clayout := (C.int)(layout) + ret := C.LoadTextureCubemap(cimage, clayout) v := newTexture2DFromPointer(unsafe.Pointer(&ret)) return v } From 1cee1d0534ba25cc53f8e77e35c0f02e592d00a0 Mon Sep 17 00:00:00 2001 From: Snowminx Date: Sun, 24 Dec 2023 19:21:57 -0800 Subject: [PATCH 3/4] fix: pass by value to c function --- raylib/rtextures.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raylib/rtextures.go b/raylib/rtextures.go index 0bf775b..0068c62 100644 --- a/raylib/rtextures.go +++ b/raylib/rtextures.go @@ -188,7 +188,7 @@ func LoadRenderTexture(width, height int32) RenderTexture2D { func LoadTextureCubemap(image *Image, layout int32) Texture2D { cimage := image.cptr() clayout := (C.int)(layout) - ret := C.LoadTextureCubemap(cimage, clayout) + ret := C.LoadTextureCubemap(*cimage, clayout) v := newTexture2DFromPointer(unsafe.Pointer(&ret)) return v } From 48241c48d28cb4a58c95d6f5f0252685145cfc94 Mon Sep 17 00:00:00 2001 From: Snowminx Date: Fri, 29 Dec 2023 20:42:43 -0800 Subject: [PATCH 4/4] fix: update purego signature to match --- raylib/raylib_purego.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/raylib/raylib_purego.go b/raylib/raylib_purego.go index f49f4ae..f70512e 100644 --- a/raylib/raylib_purego.go +++ b/raylib/raylib_purego.go @@ -2637,9 +2637,9 @@ func LoadTextureFromImage(image *Image) Texture2D { } // LoadTextureCubemap - Load cubemap from image, multiple image cubemap layouts supported -func LoadTextureCubemap(image Image, layout int32) Texture2D { +func LoadTextureCubemap(image *Image, layout int32) Texture2D { var texture Texture2D - loadTextureCubemap(uintptr(unsafe.Pointer(&texture)), uintptr(unsafe.Pointer(&image)), layout) + loadTextureCubemap(uintptr(unsafe.Pointer(&texture)), uintptr(unsafe.Pointer(image)), layout) return texture }