From e5537960f0d789fc3cc172848387563550f8fd61 Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Fri, 29 Nov 2024 17:56:43 +0100 Subject: [PATCH] rlgl: rlBlitFramebuffer and rlBindFramebuffer added --- raylib/rlgl_cgo.go | 10 ++++++++++ raylib/rlgl_purego.go | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/raylib/rlgl_cgo.go b/raylib/rlgl_cgo.go index a314050..1b1f5c4 100644 --- a/raylib/rlgl_cgo.go +++ b/raylib/rlgl_cgo.go @@ -340,6 +340,16 @@ func ActiveDrawBuffers(count int32) { C.rlActiveDrawBuffers(ccount) } +// BlitFramebuffer - Blit active framebuffer to main framebuffer +func BlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask int32) { + C.rlBlitFramebuffer(C.int(srcX), C.int(srcY), C.int(srcWidth), C.int(srcHeight), C.int(dstX), C.int(dstY), C.int(dstWidth), C.int(dstHeight), C.int(bufferMask)) +} + +// BindFramebuffer - Bind framebuffer (FBO) +func BindFramebuffer(target, framebuffer uint32) { + C.rlBindFramebuffer(C.uint(target), C.uint(framebuffer)) +} + // EnableColorBlend - Enable color blending func EnableColorBlend() { C.rlEnableColorBlend() diff --git a/raylib/rlgl_purego.go b/raylib/rlgl_purego.go index dce8a1d..ad39b08 100644 --- a/raylib/rlgl_purego.go +++ b/raylib/rlgl_purego.go @@ -54,6 +54,8 @@ var rlEnableFramebuffer func(id uint32) var rlDisableFramebuffer func() var rlGetActiveFramebuffer func() uint32 var rlActiveDrawBuffers func(count int32) +var rlBlitFramebuffer func(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask int32) +var rlBindFramebuffer func(target, framebuffer uint32) var rlEnableColorBlend func() var rlDisableColorBlend func() var rlEnableDepthTest func() @@ -181,6 +183,8 @@ func initRlglPurego() { purego.RegisterLibFunc(&rlDisableFramebuffer, raylibDll, "rlDisableFramebuffer") purego.RegisterLibFunc(&rlGetActiveFramebuffer, raylibDll, "rlGetActiveFramebuffer") purego.RegisterLibFunc(&rlActiveDrawBuffers, raylibDll, "rlActiveDrawBuffers") + purego.RegisterLibFunc(&rlBlitFramebuffer, raylibDll, "rlBlitFramebuffer") + purego.RegisterLibFunc(&rlBindFramebuffer, raylibDll, "rlBindFramebuffer") purego.RegisterLibFunc(&rlEnableColorBlend, raylibDll, "rlEnableColorBlend") purego.RegisterLibFunc(&rlDisableColorBlend, raylibDll, "rlDisableColorBlend") purego.RegisterLibFunc(&rlEnableDepthTest, raylibDll, "rlEnableDepthTest") @@ -499,6 +503,16 @@ func ActiveDrawBuffers(count int32) { rlActiveDrawBuffers(count) } +// BlitFramebuffer - Blit active framebuffer to main framebuffer +func BlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask int32) { + rlBlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask) +} + +// BindFramebuffer - Bind framebuffer (FBO) +func BindFramebuffer(target, framebuffer uint32) { + rlBindFramebuffer(target, framebuffer) +} + // EnableColorBlend - Enable color blending func EnableColorBlend() { rlEnableColorBlend()