DrawModelPoints() and DrawModelPointsEx() added

This commit is contained in:
JupiterRider 2024-11-24 15:43:30 +01:00
parent 22bfaf1652
commit c9a7c5c130
2 changed files with 34 additions and 0 deletions

View file

@ -419,6 +419,8 @@ var drawModel func(model uintptr, position uintptr, scale float32, tint uintptr)
var drawModelEx func(model uintptr, position uintptr, rotationAxis uintptr, rotationAngle float32, scale uintptr, tint uintptr)
var drawModelWires func(model uintptr, position uintptr, scale float32, tint uintptr)
var drawModelWiresEx func(model uintptr, position uintptr, rotationAxis uintptr, rotationAngle float32, scale uintptr, tint uintptr)
var drawModelPoints func(model uintptr, position uintptr, scale float32, tint uintptr)
var drawModelPointsEx func(model uintptr, position uintptr, rotationAxis uintptr, rotationAngle float32, scale uintptr, tint uintptr)
var drawBoundingBox func(box uintptr, col uintptr)
var drawBillboard func(camera uintptr, texture uintptr, position uintptr, scale float32, tint uintptr)
var drawBillboardRec func(camera uintptr, texture uintptr, source uintptr, position uintptr, size uintptr, tint uintptr)
@ -932,6 +934,8 @@ func init() {
purego.RegisterLibFunc(&drawModelEx, raylibDll, "DrawModelEx")
purego.RegisterLibFunc(&drawModelWires, raylibDll, "DrawModelWires")
purego.RegisterLibFunc(&drawModelWiresEx, raylibDll, "DrawModelWiresEx")
purego.RegisterLibFunc(&drawModelPoints, raylibDll, "DrawModelPoints")
purego.RegisterLibFunc(&drawModelPointsEx, raylibDll, "DrawModelPointsEx")
purego.RegisterLibFunc(&drawBoundingBox, raylibDll, "DrawBoundingBox")
purego.RegisterLibFunc(&drawBillboard, raylibDll, "DrawBillboard")
purego.RegisterLibFunc(&drawBillboardRec, raylibDll, "DrawBillboardRec")
@ -3286,6 +3290,16 @@ func DrawModelWiresEx(model Model, position Vector3, rotationAxis Vector3, rotat
drawModelWiresEx(uintptr(unsafe.Pointer(&model)), uintptr(unsafe.Pointer(&position)), uintptr(unsafe.Pointer(&rotationAxis)), rotationAngle, uintptr(unsafe.Pointer(&scale)), *(*uintptr)(unsafe.Pointer(&tint)))
}
// DrawModelPoints - Draw a model as points
func DrawModelPoints(model Model, position Vector3, scale float32, tint color.RGBA) {
drawModelPoints(uintptr(unsafe.Pointer(&model)), uintptr(unsafe.Pointer(&position)), scale, *(*uintptr)(unsafe.Pointer(&tint)))
}
// DrawModelPointsEx - Draw a model as points with extended parameters
func DrawModelPointsEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, scale Vector3, tint color.RGBA) {
drawModelPointsEx(uintptr(unsafe.Pointer(&model)), uintptr(unsafe.Pointer(&position)), uintptr(unsafe.Pointer(&rotationAxis)), rotationAngle, uintptr(unsafe.Pointer(&scale)), *(*uintptr)(unsafe.Pointer(&tint)))
}
// DrawBoundingBox - Draw bounding box (wires)
func DrawBoundingBox(box BoundingBox, col color.RGBA) {
drawBoundingBox(uintptr(unsafe.Pointer(&box)), *(*uintptr)(unsafe.Pointer(&col)))

View file

@ -331,6 +331,26 @@ func DrawModelWiresEx(model Model, position Vector3, rotationAxis Vector3, rotat
C.DrawModelWiresEx(*cmodel, *cposition, *crotationAxis, crotationAngle, *cscale, *ctint)
}
// DrawModelPoints - Draw a model as points
func DrawModelPoints(model Model, position Vector3, scale float32, tint color.RGBA) {
cmodel := model.cptr()
cposition := position.cptr()
cscale := (C.float)(scale)
ctint := colorCptr(tint)
C.DrawModelPoints(*cmodel, *cposition, cscale, *ctint)
}
// DrawModelPointsEx - Draw a model as points with extended parameters
func DrawModelPointsEx(model Model, position Vector3, rotationAxis Vector3, rotationAngle float32, scale Vector3, tint color.RGBA) {
cmodel := model.cptr()
cposition := position.cptr()
crotationAxis := rotationAxis.cptr()
crotationAngle := (C.float)(rotationAngle)
cscale := scale.cptr()
ctint := colorCptr(tint)
C.DrawModelPointsEx(*cmodel, *cposition, *crotationAxis, crotationAngle, *cscale, *ctint)
}
// DrawBoundingBox - Draw bounding box (wires)
func DrawBoundingBox(box BoundingBox, col color.RGBA) {
cbox := box.cptr()