MultMatrix for purego added

This commit is contained in:
JupiterRider 2024-05-22 15:37:00 +02:00
parent 5314a4a209
commit 86d08a7b86
3 changed files with 32 additions and 24 deletions

View file

@ -16,6 +16,7 @@ var rlLoadIdentity func()
var rlTranslatef func(x float32, y float32, z float32)
var rlRotatef func(angle float32, x float32, y float32, z float32)
var rlScalef func(x float32, y float32, z float32)
var rlMultMatrixf func(matf *float32)
var rlFrustum func(left float64, right float64, bottom float64, top float64, znear float64, zfar float64)
var rlOrtho func(left float64, right float64, bottom float64, top float64, znear float64, zfar float64)
var rlViewport func(x int32, y int32, width int32, height int32)
@ -138,6 +139,7 @@ func initRlglPurego() {
purego.RegisterLibFunc(&rlTranslatef, raylibDll, "rlTranslatef")
purego.RegisterLibFunc(&rlRotatef, raylibDll, "rlRotatef")
purego.RegisterLibFunc(&rlScalef, raylibDll, "rlScalef")
purego.RegisterLibFunc(&rlMultMatrixf, raylibDll, "rlMultMatrixf")
purego.RegisterLibFunc(&rlFrustum, raylibDll, "rlFrustum")
purego.RegisterLibFunc(&rlOrtho, raylibDll, "rlOrtho")
purego.RegisterLibFunc(&rlViewport, raylibDll, "rlViewport")
@ -298,6 +300,12 @@ func Scalef(x float32, y float32, z float32) {
rlScalef(x, y, z)
}
// MultMatrix - Multiply the current matrix by another matrix
func MultMatrix(m Matrix) {
f := MatrixToFloat(m)
rlMultMatrixf((*float32)(&f[0]))
}
// Frustum .
func Frustum(left float64, right float64, bottom float64, top float64, znear float64, zfar float64) {
rlFrustum(left, right, bottom, top, znear, zfar)