Lint
This commit is contained in:
parent
cca4bb4659
commit
61a393d4ce
8 changed files with 110 additions and 111 deletions
|
@ -43,6 +43,7 @@ func HideCursor() {
|
||||||
func IsCursorHidden() bool {
|
func IsCursorHidden() bool {
|
||||||
ret := C.IsCursorHidden()
|
ret := C.IsCursorHidden()
|
||||||
v := bool(ret)
|
v := bool(ret)
|
||||||
|
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ func IsCursorHidden() bool {
|
||||||
func IsCursorOnScreen() bool {
|
func IsCursorOnScreen() bool {
|
||||||
ret := C.IsCursorOnScreen()
|
ret := C.IsCursorOnScreen()
|
||||||
v := bool(ret)
|
v := bool(ret)
|
||||||
|
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +69,7 @@ func DisableCursor() {
|
||||||
func IsFileDropped() bool {
|
func IsFileDropped() bool {
|
||||||
ret := C.IsFileDropped()
|
ret := C.IsFileDropped()
|
||||||
v := bool(ret)
|
v := bool(ret)
|
||||||
|
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,5 +97,6 @@ func OpenAsset(name string) (Asset, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return f, nil
|
return f, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ type Wave struct {
|
||||||
// NewWave - Returns new Wave
|
// NewWave - Returns new Wave
|
||||||
func NewWave(sampleCount, sampleRate, sampleSize, channels uint32, data []byte) Wave {
|
func NewWave(sampleCount, sampleRate, sampleSize, channels uint32, data []byte) Wave {
|
||||||
d := unsafe.Pointer(&data[0])
|
d := unsafe.Pointer(&data[0])
|
||||||
|
|
||||||
return Wave{sampleCount, sampleRate, sampleSize, channels, d}
|
return Wave{sampleCount, sampleRate, sampleSize, channels, d}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -375,8 +376,8 @@ type Vector3 struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewVector3 - Returns new Vector3
|
// NewVector3 - Returns new Vector3
|
||||||
func NewVector3(X, Y, Z float32) Vector3 {
|
func NewVector3(x, y, z float32) Vector3 {
|
||||||
return Vector3{X, Y, Z}
|
return Vector3{x, y, z}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vector4 type
|
// Vector4 type
|
||||||
|
@ -388,8 +389,8 @@ type Vector4 struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewVector4 - Returns new Vector4
|
// NewVector4 - Returns new Vector4
|
||||||
func NewVector4(X, Y, Z, W float32) Vector4 {
|
func NewVector4(x, y, z, w float32) Vector4 {
|
||||||
return Vector4{X, Y, Z, W}
|
return Vector4{x, y, z, w}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Matrix type (OpenGL style 4x4 - right handed, column major)
|
// Matrix type (OpenGL style 4x4 - right handed, column major)
|
||||||
|
@ -677,7 +678,7 @@ type Material struct {
|
||||||
|
|
||||||
// GetMap - Get pointer to MaterialMap by map type
|
// GetMap - Get pointer to MaterialMap by map type
|
||||||
func (mt Material) GetMap(index int32) *MaterialMap {
|
func (mt Material) GetMap(index int32) *MaterialMap {
|
||||||
return (*MaterialMap)(unsafe.Pointer(uintptr(unsafe.Pointer(mt.Maps)) + uintptr(index)*uintptr(unsafe.Sizeof(MaterialMap{}))))
|
return (*MaterialMap)(unsafe.Pointer(uintptr(unsafe.Pointer(mt.Maps)) + uintptr(index)*unsafe.Sizeof(MaterialMap{})))
|
||||||
}
|
}
|
||||||
|
|
||||||
// MaterialMap type
|
// MaterialMap type
|
||||||
|
@ -978,6 +979,7 @@ type Image struct {
|
||||||
// NewImage - Returns new Image
|
// NewImage - Returns new Image
|
||||||
func NewImage(data []byte, width, height, mipmaps int32, format PixelFormat) *Image {
|
func NewImage(data []byte, width, height, mipmaps int32, format PixelFormat) *Image {
|
||||||
d := unsafe.Pointer(&data[0])
|
d := unsafe.Pointer(&data[0])
|
||||||
|
|
||||||
return &Image{d, width, height, mipmaps, format}
|
return &Image{d, width, height, mipmaps, format}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,30 +22,22 @@ func Clamp(value, min, max float32) float32 {
|
||||||
|
|
||||||
// Lerp - Calculate linear interpolation between two floats
|
// Lerp - Calculate linear interpolation between two floats
|
||||||
func Lerp(start, end, amount float32) float32 {
|
func Lerp(start, end, amount float32) float32 {
|
||||||
var result float32 = start + amount*(end-start)
|
return start + amount*(end-start)
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Normalize - Normalize input value within input range
|
// Normalize - Normalize input value within input range
|
||||||
func Normalize(value, start, end float32) float32 {
|
func Normalize(value, start, end float32) float32 {
|
||||||
var result float32 = (value - start) / (end - start)
|
return (value - start) / (end - start)
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remap - Remap input value within input range to output range
|
// Remap - Remap input value within input range to output range
|
||||||
func Remap(value, inputStart, inputEnd, outputStart, outputEnd float32) float32 {
|
func Remap(value, inputStart, inputEnd, outputStart, outputEnd float32) float32 {
|
||||||
var result float32 = (value-inputStart)/(inputEnd-inputStart)*(outputEnd-outputStart) + outputStart
|
return (value-inputStart)/(inputEnd-inputStart)*(outputEnd-outputStart) + outputStart
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrap - Wrap input value from min to max
|
// Wrap - Wrap input value from min to max
|
||||||
func Wrap(value, min, max float32) float32 {
|
func Wrap(value, min, max float32) float32 {
|
||||||
var result float32 = float32(float64(value) - float64(max-min)*math.Floor(float64((value-min)/(max-min))))
|
return float32(float64(value) - float64(max-min)*math.Floor(float64((value-min)/(max-min))))
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// FloatEquals - Check whether two given floats are almost equal
|
// FloatEquals - Check whether two given floats are almost equal
|
||||||
|
@ -111,6 +103,7 @@ func Vector2DistanceSqr(v1 Vector2, v2 Vector2) float32 {
|
||||||
// Vector2Angle - Calculate angle from two vectors in radians
|
// Vector2Angle - Calculate angle from two vectors in radians
|
||||||
func Vector2Angle(v1, v2 Vector2) float32 {
|
func Vector2Angle(v1, v2 Vector2) float32 {
|
||||||
result := math.Atan2(float64(v2.Y), float64(v2.X)) - math.Atan2(float64(v1.Y), float64(v1.X))
|
result := math.Atan2(float64(v2.Y), float64(v2.X)) - math.Atan2(float64(v1.Y), float64(v1.X))
|
||||||
|
|
||||||
return float32(result)
|
return float32(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,9 +142,9 @@ func Vector2Normalize(v Vector2) Vector2 {
|
||||||
func Vector2Transform(v Vector2, mat Matrix) Vector2 {
|
func Vector2Transform(v Vector2, mat Matrix) Vector2 {
|
||||||
var result = Vector2{}
|
var result = Vector2{}
|
||||||
|
|
||||||
var x float32 = v.X
|
var x = v.X
|
||||||
var y float32 = v.Y
|
var y = v.Y
|
||||||
var z float32 = 0
|
var z float32
|
||||||
|
|
||||||
result.X = mat.M0*x + mat.M4*y + mat.M8*z + mat.M12
|
result.X = mat.M0*x + mat.M4*y + mat.M8*z + mat.M12
|
||||||
result.Y = mat.M1*x + mat.M5*y + mat.M9*z + mat.M13
|
result.Y = mat.M1*x + mat.M5*y + mat.M9*z + mat.M13
|
||||||
|
@ -168,7 +161,7 @@ func Vector2Lerp(v1, v2 Vector2, amount float32) Vector2 {
|
||||||
func Vector2Reflect(v Vector2, normal Vector2) Vector2 {
|
func Vector2Reflect(v Vector2, normal Vector2) Vector2 {
|
||||||
var result = Vector2{}
|
var result = Vector2{}
|
||||||
|
|
||||||
var dotProduct float32 = v.X*normal.X + v.Y*normal.Y // Dot product
|
dotProduct := v.X*normal.X + v.Y*normal.Y // Dot product
|
||||||
|
|
||||||
result.X = v.X - 2.0*normal.X*dotProduct
|
result.X = v.X - 2.0*normal.X*dotProduct
|
||||||
result.Y = v.Y - 2.0*normal.Y*dotProduct
|
result.Y = v.Y - 2.0*normal.Y*dotProduct
|
||||||
|
@ -193,9 +186,9 @@ func Vector2Rotate(v Vector2, angle float32) Vector2 {
|
||||||
func Vector2MoveTowards(v Vector2, target Vector2, maxDistance float32) Vector2 {
|
func Vector2MoveTowards(v Vector2, target Vector2, maxDistance float32) Vector2 {
|
||||||
var result = Vector2{}
|
var result = Vector2{}
|
||||||
|
|
||||||
var dx float32 = target.X - v.X
|
dx := target.X - v.X
|
||||||
var dy float32 = target.Y - v.Y
|
dy := target.Y - v.Y
|
||||||
var value float32 = dx*dx + dy*dy
|
value := dx*dx + dy*dy
|
||||||
|
|
||||||
if value == 0 || maxDistance >= 0 && value <= maxDistance*maxDistance {
|
if value == 0 || maxDistance >= 0 && value <= maxDistance*maxDistance {
|
||||||
return target
|
return target
|
||||||
|
@ -228,16 +221,16 @@ func Vector2Clamp(v Vector2, min Vector2, max Vector2) Vector2 {
|
||||||
func Vector2ClampValue(v Vector2, min float32, max float32) Vector2 {
|
func Vector2ClampValue(v Vector2, min float32, max float32) Vector2 {
|
||||||
var result = v
|
var result = v
|
||||||
|
|
||||||
var length float32 = v.X*v.X + v.Y*v.Y
|
length := v.X*v.X + v.Y*v.Y
|
||||||
if length > 0.0 {
|
if length > 0.0 {
|
||||||
length = float32(math.Sqrt(float64(length)))
|
length = float32(math.Sqrt(float64(length)))
|
||||||
|
|
||||||
if length < min {
|
if length < min {
|
||||||
var scale float32 = min / length
|
scale := min / length
|
||||||
result.X = v.X * scale
|
result.X = v.X * scale
|
||||||
result.Y = v.Y * scale
|
result.Y = v.Y * scale
|
||||||
} else if length > max {
|
} else if length > max {
|
||||||
var scale float32 = max / length
|
scale := max / length
|
||||||
result.X = v.X * scale
|
result.X = v.X * scale
|
||||||
result.Y = v.Y * scale
|
result.Y = v.Y * scale
|
||||||
}
|
}
|
||||||
|
@ -371,9 +364,9 @@ func Vector3Distance(v1, v2 Vector3) float32 {
|
||||||
func Vector3DistanceSqr(v1 Vector3, v2 Vector3) float32 {
|
func Vector3DistanceSqr(v1 Vector3, v2 Vector3) float32 {
|
||||||
var result float32
|
var result float32
|
||||||
|
|
||||||
var dx float32 = v2.X - v1.X
|
dx := v2.X - v1.X
|
||||||
var dy float32 = v2.Y - v1.Y
|
dy := v2.Y - v1.Y
|
||||||
var dz float32 = v2.Z - v1.Z
|
dz := v2.Z - v1.Z
|
||||||
result = dx*dx + dy*dy + dz*dz
|
result = dx*dx + dy*dy + dz*dz
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
@ -644,38 +637,38 @@ func Vector3Unproject(source Vector3, projection Matrix, view Matrix) Vector3 {
|
||||||
|
|
||||||
// Calculate inverted matrix -> MatrixInvert(matViewProj);
|
// Calculate inverted matrix -> MatrixInvert(matViewProj);
|
||||||
// Cache the matrix values (speed optimization)
|
// Cache the matrix values (speed optimization)
|
||||||
var a00 float32 = matViewProj.M0
|
var a00 = matViewProj.M0
|
||||||
var a01 float32 = matViewProj.M1
|
var a01 = matViewProj.M1
|
||||||
var a02 float32 = matViewProj.M2
|
var a02 = matViewProj.M2
|
||||||
var a03 float32 = matViewProj.M3
|
var a03 = matViewProj.M3
|
||||||
var a10 float32 = matViewProj.M4
|
var a10 = matViewProj.M4
|
||||||
var a11 float32 = matViewProj.M5
|
var a11 = matViewProj.M5
|
||||||
var a12 float32 = matViewProj.M6
|
var a12 = matViewProj.M6
|
||||||
var a13 float32 = matViewProj.M7
|
var a13 = matViewProj.M7
|
||||||
var a20 float32 = matViewProj.M8
|
var a20 = matViewProj.M8
|
||||||
var a21 float32 = matViewProj.M9
|
var a21 = matViewProj.M9
|
||||||
var a22 float32 = matViewProj.M10
|
var a22 = matViewProj.M10
|
||||||
var a23 float32 = matViewProj.M11
|
var a23 = matViewProj.M11
|
||||||
var a30 float32 = matViewProj.M12
|
var a30 = matViewProj.M12
|
||||||
var a31 float32 = matViewProj.M13
|
var a31 = matViewProj.M13
|
||||||
var a32 float32 = matViewProj.M14
|
var a32 = matViewProj.M14
|
||||||
var a33 float32 = matViewProj.M15
|
var a33 = matViewProj.M15
|
||||||
|
|
||||||
var b00 float32 = a00*a11 - a01*a10
|
var b00 = a00*a11 - a01*a10
|
||||||
var b01 float32 = a00*a12 - a02*a10
|
var b01 = a00*a12 - a02*a10
|
||||||
var b02 float32 = a00*a13 - a03*a10
|
var b02 = a00*a13 - a03*a10
|
||||||
var b03 float32 = a01*a12 - a02*a11
|
var b03 = a01*a12 - a02*a11
|
||||||
var b04 float32 = a01*a13 - a03*a11
|
var b04 = a01*a13 - a03*a11
|
||||||
var b05 float32 = a02*a13 - a03*a12
|
var b05 = a02*a13 - a03*a12
|
||||||
var b06 float32 = a20*a31 - a21*a30
|
var b06 = a20*a31 - a21*a30
|
||||||
var b07 float32 = a20*a32 - a22*a30
|
var b07 = a20*a32 - a22*a30
|
||||||
var b08 float32 = a20*a33 - a23*a30
|
var b08 = a20*a33 - a23*a30
|
||||||
var b09 float32 = a21*a32 - a22*a31
|
var b09 = a21*a32 - a22*a31
|
||||||
var b10 float32 = a21*a33 - a23*a31
|
var b10 = a21*a33 - a23*a31
|
||||||
var b11 float32 = a22*a33 - a23*a32
|
var b11 = a22*a33 - a23*a32
|
||||||
|
|
||||||
// Calculate the invert determinant (inlined to avoid double-caching)
|
// Calculate the invert determinant (inlined to avoid double-caching)
|
||||||
var invDet float32 = 1.0 / (b00*b11 - b01*b10 + b02*b09 + b03*b08 - b04*b07 + b05*b06)
|
var invDet = 1.0 / (b00*b11 - b01*b10 + b02*b09 + b03*b08 - b04*b07 + b05*b06)
|
||||||
|
|
||||||
var matViewProjInv = Matrix{
|
var matViewProjInv = Matrix{
|
||||||
M0: (a11*b11 - a12*b10 + a13*b09) * invDet,
|
M0: (a11*b11 - a12*b10 + a13*b09) * invDet,
|
||||||
|
@ -744,17 +737,17 @@ func Vector3Clamp(v Vector3, min Vector3, max Vector3) Vector3 {
|
||||||
func Vector3ClampValue(v Vector3, min float32, max float32) Vector3 {
|
func Vector3ClampValue(v Vector3, min float32, max float32) Vector3 {
|
||||||
var result = v
|
var result = v
|
||||||
|
|
||||||
var length float32 = v.X*v.X + v.Y*v.Y + v.Z*v.Z
|
length := v.X*v.X + v.Y*v.Y + v.Z*v.Z
|
||||||
if length > 0.0 {
|
if length > 0.0 {
|
||||||
length = float32(math.Sqrt(float64(length)))
|
length = float32(math.Sqrt(float64(length)))
|
||||||
|
|
||||||
if length < min {
|
if length < min {
|
||||||
var scale float32 = min / length
|
scale := min / length
|
||||||
result.X = v.X * scale
|
result.X = v.X * scale
|
||||||
result.Y = v.Y * scale
|
result.Y = v.Y * scale
|
||||||
result.Z = v.Z * scale
|
result.Z = v.Z * scale
|
||||||
} else if length > max {
|
} else if length > max {
|
||||||
var scale float32 = max / length
|
scale := max / length
|
||||||
result.X = v.X * scale
|
result.X = v.X * scale
|
||||||
result.Y = v.Y * scale
|
result.Y = v.Y * scale
|
||||||
result.Z = v.Z * scale
|
result.Z = v.Z * scale
|
||||||
|
@ -779,8 +772,8 @@ func Vector3Equals(p Vector3, q Vector3) bool {
|
||||||
func Vector3Refract(v Vector3, n Vector3, r float32) Vector3 {
|
func Vector3Refract(v Vector3, n Vector3, r float32) Vector3 {
|
||||||
var result = Vector3{}
|
var result = Vector3{}
|
||||||
|
|
||||||
var dot float32 = v.X*n.X + v.Y*n.Y + v.Z*n.Z
|
dot := v.X*n.X + v.Y*n.Y + v.Z*n.Z
|
||||||
var d float32 = 1.0 - r*r*(1.0-dot*dot)
|
d := 1.0 - r*r*(1.0-dot*dot)
|
||||||
|
|
||||||
if d >= 0.0 {
|
if d >= 0.0 {
|
||||||
d = float32(math.Sqrt(float64(d)))
|
d = float32(math.Sqrt(float64(d)))
|
||||||
|
@ -1201,12 +1194,12 @@ func MatrixRotateXYZ(ang Vector3) Matrix {
|
||||||
func MatrixRotateZYX(angle Vector3) Matrix {
|
func MatrixRotateZYX(angle Vector3) Matrix {
|
||||||
var result = Matrix{}
|
var result = Matrix{}
|
||||||
|
|
||||||
var cz float32 = float32(math.Cos(float64(angle.Z)))
|
var cz = float32(math.Cos(float64(angle.Z)))
|
||||||
var sz float32 = float32(math.Sin(float64(angle.Z)))
|
var sz = float32(math.Sin(float64(angle.Z)))
|
||||||
var cy float32 = float32(math.Cos(float64(angle.Y)))
|
var cy = float32(math.Cos(float64(angle.Y)))
|
||||||
var sy float32 = float32(math.Sin(float64(angle.Y)))
|
var sy = float32(math.Sin(float64(angle.Y)))
|
||||||
var cx float32 = float32(math.Cos(float64(angle.X)))
|
var cx = float32(math.Cos(float64(angle.X)))
|
||||||
var sx float32 = float32(math.Sin(float64(angle.X)))
|
var sx = float32(math.Sin(float64(angle.X)))
|
||||||
|
|
||||||
result.M0 = cz * cy
|
result.M0 = cz * cy
|
||||||
result.M4 = cz*sy*sx - cx*sz
|
result.M4 = cz*sy*sx - cx*sz
|
||||||
|
@ -1502,12 +1495,12 @@ func QuaternionNlerp(q1 Quaternion, q2 Quaternion, amount float32) Quaternion {
|
||||||
result.W = q1.W + amount*(q2.W-q1.W)
|
result.W = q1.W + amount*(q2.W-q1.W)
|
||||||
|
|
||||||
// QuaternionNormalize(q);
|
// QuaternionNormalize(q);
|
||||||
var q = result
|
q := result
|
||||||
var length float32 = float32(math.Sqrt(float64(q.X*q.X + q.Y*q.Y + q.Z*q.Z + q.W*q.W)))
|
length := float32(math.Sqrt(float64(q.X*q.X + q.Y*q.Y + q.Z*q.Z + q.W*q.W)))
|
||||||
if length == 0.0 {
|
if length == 0.0 {
|
||||||
length = 1.0
|
length = 1.0
|
||||||
}
|
}
|
||||||
var ilength float32 = 1.0 / length
|
ilength := 1.0 / length
|
||||||
|
|
||||||
result.X = q.X * ilength
|
result.X = q.X * ilength
|
||||||
result.Y = q.Y * ilength
|
result.Y = q.Y * ilength
|
||||||
|
@ -1552,8 +1545,8 @@ func QuaternionSlerp(q1, q2 Quaternion, amount float32) Quaternion {
|
||||||
func QuaternionFromVector3ToVector3(from Vector3, to Vector3) Quaternion {
|
func QuaternionFromVector3ToVector3(from Vector3, to Vector3) Quaternion {
|
||||||
var result = Quaternion{}
|
var result = Quaternion{}
|
||||||
|
|
||||||
var cos2Theta float32 = from.X*to.X + from.Y*to.Y + from.Z*to.Z // Vector3DotProduct(from, to)
|
cos2Theta := from.X*to.X + from.Y*to.Y + from.Z*to.Z // Vector3DotProduct(from, to)
|
||||||
var cross = Vector3{X: from.Y*to.Z - from.Z*to.Y, Y: from.Z*to.X - from.X*to.Z, Z: from.X*to.Y - from.Y*to.X} // Vector3CrossProduct(from, to)
|
cross := Vector3{X: from.Y*to.Z - from.Z*to.Y, Y: from.Z*to.X - from.X*to.Z, Z: from.X*to.Y - from.Y*to.X} // Vector3CrossProduct(from, to)
|
||||||
|
|
||||||
result.X = cross.X
|
result.X = cross.X
|
||||||
result.Y = cross.Y
|
result.Y = cross.Y
|
||||||
|
@ -1562,12 +1555,12 @@ func QuaternionFromVector3ToVector3(from Vector3, to Vector3) Quaternion {
|
||||||
|
|
||||||
// QuaternionNormalize(q);
|
// QuaternionNormalize(q);
|
||||||
// NOTE: Normalize to essentially nlerp the original and identity to 0.5
|
// NOTE: Normalize to essentially nlerp the original and identity to 0.5
|
||||||
var q = result
|
q := result
|
||||||
var length float32 = float32(math.Sqrt(float64(q.X*q.X + q.Y*q.Y + q.Z*q.Z + q.W*q.W)))
|
length := float32(math.Sqrt(float64(q.X*q.X + q.Y*q.Y + q.Z*q.Z + q.W*q.W)))
|
||||||
if length == 0.0 {
|
if length == 0.0 {
|
||||||
length = 1.0
|
length = 1.0
|
||||||
}
|
}
|
||||||
var ilength float32 = 1.0 / length
|
ilength := 1.0 / length
|
||||||
|
|
||||||
result.X = q.X * ilength
|
result.X = q.X * ilength
|
||||||
result.Y = q.Y * ilength
|
result.Y = q.Y * ilength
|
||||||
|
|
|
@ -125,14 +125,14 @@ func CameraPitch(camera *Camera, angle float32, lockView uint8, rotateAroundTarg
|
||||||
// to allow only viewing straight up or down.
|
// to allow only viewing straight up or down.
|
||||||
|
|
||||||
// Clamp view up
|
// Clamp view up
|
||||||
var maxAngleUp float32 = Vector3Angle(up, targetPosition)
|
maxAngleUp := Vector3Angle(up, targetPosition)
|
||||||
maxAngleUp = maxAngleUp - 0.001 // avoid numerical errors
|
maxAngleUp = maxAngleUp - 0.001 // avoid numerical errors
|
||||||
if angle > maxAngleUp {
|
if angle > maxAngleUp {
|
||||||
angle = maxAngleUp
|
angle = maxAngleUp
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clamp view down
|
// Clamp view down
|
||||||
var maxAngleDown float32 = Vector3Angle(Vector3Negate(up), targetPosition)
|
maxAngleDown := Vector3Angle(Vector3Negate(up), targetPosition)
|
||||||
maxAngleDown = maxAngleDown * -1.0 // downwards angle is negative
|
maxAngleDown = maxAngleDown * -1.0 // downwards angle is negative
|
||||||
maxAngleDown = maxAngleDown + 0.001 // avoid numerical errors
|
maxAngleDown = maxAngleDown + 0.001 // avoid numerical errors
|
||||||
if angle < maxAngleDown {
|
if angle < maxAngleDown {
|
||||||
|
|
|
@ -294,7 +294,7 @@ func SetWindowOpacity(opacity float32) {
|
||||||
|
|
||||||
// GetWindowHandle - Get native window handle
|
// GetWindowHandle - Get native window handle
|
||||||
func GetWindowHandle() unsafe.Pointer {
|
func GetWindowHandle() unsafe.Pointer {
|
||||||
v := unsafe.Pointer((C.GetWindowHandle()))
|
v := C.GetWindowHandle()
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -204,10 +204,10 @@ func DrawCylinderWiresEx(startPos Vector3, endPos Vector3, startRadius float32,
|
||||||
// DrawCapsule - Draw a capsule with the center of its sphere caps at startPos and endPos
|
// DrawCapsule - Draw a capsule with the center of its sphere caps at startPos and endPos
|
||||||
func DrawCapsule(startPos, endPos Vector3, radius float32, slices, rings int32, col color.RGBA) {
|
func DrawCapsule(startPos, endPos Vector3, radius float32, slices, rings int32, col color.RGBA) {
|
||||||
cstartPos := startPos.cptr()
|
cstartPos := startPos.cptr()
|
||||||
cendPos := startPos.cptr()
|
cendPos := endPos.cptr()
|
||||||
cradius := (C.float)(radius)
|
cradius := (C.float)(radius)
|
||||||
cslices := (C.int)(slices)
|
cslices := (C.int)(slices)
|
||||||
crings := (C.int)(slices)
|
crings := (C.int)(rings)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawCapsule(*cstartPos, *cendPos, cradius, cslices, crings, *ccolor)
|
C.DrawCapsule(*cstartPos, *cendPos, cradius, cslices, crings, *ccolor)
|
||||||
}
|
}
|
||||||
|
@ -215,10 +215,10 @@ func DrawCapsule(startPos, endPos Vector3, radius float32, slices, rings int32,
|
||||||
// DrawCapsuleWires - Draw capsule wireframe with the center of its sphere caps at startPos and endPos
|
// DrawCapsuleWires - Draw capsule wireframe with the center of its sphere caps at startPos and endPos
|
||||||
func DrawCapsuleWires(startPos, endPos Vector3, radius float32, slices, rings int32, col color.RGBA) {
|
func DrawCapsuleWires(startPos, endPos Vector3, radius float32, slices, rings int32, col color.RGBA) {
|
||||||
cstartPos := startPos.cptr()
|
cstartPos := startPos.cptr()
|
||||||
cendPos := startPos.cptr()
|
cendPos := endPos.cptr()
|
||||||
cradius := (C.float)(radius)
|
cradius := (C.float)(radius)
|
||||||
cslices := (C.int)(slices)
|
cslices := (C.int)(slices)
|
||||||
crings := (C.int)(slices)
|
crings := (C.int)(rings)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawCapsuleWires(*cstartPos, *cendPos, cradius, cslices, crings, *ccolor)
|
C.DrawCapsuleWires(*cstartPos, *cendPos, cradius, cslices, crings, *ccolor)
|
||||||
}
|
}
|
||||||
|
@ -368,7 +368,7 @@ func DrawBillboardPro(camera Camera, texture Texture2D, sourceRec Rectangle, pos
|
||||||
|
|
||||||
// List of VaoIDs of meshes created by calling UploadMesh()
|
// List of VaoIDs of meshes created by calling UploadMesh()
|
||||||
// Used by UnloadMesh() to determine if mesh is go-managed or C-allocated
|
// Used by UnloadMesh() to determine if mesh is go-managed or C-allocated
|
||||||
var goManagedMeshIDs []uint32 = make([]uint32, 0)
|
var goManagedMeshIDs = make([]uint32, 0)
|
||||||
|
|
||||||
// UploadMesh - Upload vertex data into a VAO (if supported) and VBO
|
// UploadMesh - Upload vertex data into a VAO (if supported) and VBO
|
||||||
func UploadMesh(mesh *Mesh, dynamic bool) {
|
func UploadMesh(mesh *Mesh, dynamic bool) {
|
||||||
|
|
|
@ -404,8 +404,8 @@ func DrawSplineSegmentLinear(p1, p2 Vector2, thick float32, col color.RGBA) {
|
||||||
func DrawSplineSegmentBasis(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
func DrawSplineSegmentBasis(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
cthick := (C.float)(thick)
|
cthick := (C.float)(thick)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawSplineSegmentBasis(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
C.DrawSplineSegmentBasis(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
||||||
|
@ -415,8 +415,8 @@ func DrawSplineSegmentBasis(p1, p2, p3, p4 Vector2, thick float32, col color.RGB
|
||||||
func DrawSplineSegmentCatmullRom(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
func DrawSplineSegmentCatmullRom(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
cthick := (C.float)(thick)
|
cthick := (C.float)(thick)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawSplineSegmentCatmullRom(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
C.DrawSplineSegmentCatmullRom(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
||||||
|
@ -426,7 +426,7 @@ func DrawSplineSegmentCatmullRom(p1, p2, p3, p4 Vector2, thick float32, col colo
|
||||||
func DrawSplineSegmentBezierQuadratic(p1, p2, p3 Vector2, thick float32, col color.RGBA) {
|
func DrawSplineSegmentBezierQuadratic(p1, p2, p3 Vector2, thick float32, col color.RGBA) {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cthick := (C.float)(thick)
|
cthick := (C.float)(thick)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawSplineSegmentBezierQuadratic(*cp1, *cp2, *cp3, cthick, *ccolor)
|
C.DrawSplineSegmentBezierQuadratic(*cp1, *cp2, *cp3, cthick, *ccolor)
|
||||||
|
@ -436,8 +436,8 @@ func DrawSplineSegmentBezierQuadratic(p1, p2, p3 Vector2, thick float32, col col
|
||||||
func DrawSplineSegmentBezierCubic(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
func DrawSplineSegmentBezierCubic(p1, p2, p3, p4 Vector2, thick float32, col color.RGBA) {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
cthick := (C.float)(thick)
|
cthick := (C.float)(thick)
|
||||||
ccolor := colorCptr(col)
|
ccolor := colorCptr(col)
|
||||||
C.DrawSplineSegmentBezierCubic(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
C.DrawSplineSegmentBezierCubic(*cp1, *cp2, *cp3, *cp4, cthick, *ccolor)
|
||||||
|
@ -457,8 +457,8 @@ func GetSplinePointLinear(p1, p2 Vector2, t float32) Vector2 {
|
||||||
func GetSplinePointBasis(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
func GetSplinePointBasis(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
ct := (C.float)(t)
|
ct := (C.float)(t)
|
||||||
ret := C.GetSplinePointBasis(*cp1, *cp2, *cp3, *cp4, ct)
|
ret := C.GetSplinePointBasis(*cp1, *cp2, *cp3, *cp4, ct)
|
||||||
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
||||||
|
@ -469,8 +469,8 @@ func GetSplinePointBasis(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
||||||
func GetSplinePointCatmullRom(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
func GetSplinePointCatmullRom(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
ct := (C.float)(t)
|
ct := (C.float)(t)
|
||||||
ret := C.GetSplinePointCatmullRom(*cp1, *cp2, *cp3, *cp4, ct)
|
ret := C.GetSplinePointCatmullRom(*cp1, *cp2, *cp3, *cp4, ct)
|
||||||
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
||||||
|
@ -481,7 +481,7 @@ func GetSplinePointCatmullRom(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
||||||
func GetSplinePointBezierQuad(p1, p2, p3 Vector2, t float32) Vector2 {
|
func GetSplinePointBezierQuad(p1, p2, p3 Vector2, t float32) Vector2 {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
ct := (C.float)(t)
|
ct := (C.float)(t)
|
||||||
ret := C.GetSplinePointBezierQuad(*cp1, *cp2, *cp3, ct)
|
ret := C.GetSplinePointBezierQuad(*cp1, *cp2, *cp3, ct)
|
||||||
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
||||||
|
@ -492,8 +492,8 @@ func GetSplinePointBezierQuad(p1, p2, p3 Vector2, t float32) Vector2 {
|
||||||
func GetSplinePointBezierCubic(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
func GetSplinePointBezierCubic(p1, p2, p3, p4 Vector2, t float32) Vector2 {
|
||||||
cp1 := p1.cptr()
|
cp1 := p1.cptr()
|
||||||
cp2 := p2.cptr()
|
cp2 := p2.cptr()
|
||||||
cp3 := p2.cptr()
|
cp3 := p3.cptr()
|
||||||
cp4 := p2.cptr()
|
cp4 := p4.cptr()
|
||||||
ct := (C.float)(t)
|
ct := (C.float)(t)
|
||||||
ret := C.GetSplinePointBezierCubic(*cp1, *cp2, *cp3, *cp4, ct)
|
ret := C.GetSplinePointBezierCubic(*cp1, *cp2, *cp3, *cp4, ct)
|
||||||
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
v := newVector2FromPointer(unsafe.Pointer(&ret))
|
||||||
|
|
|
@ -19,8 +19,8 @@ func SetTraceLogCallback(fn TraceLogCallbackFun) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//export internalTraceLogCallbackGo
|
//export internalTraceLogCallbackGo
|
||||||
func internalTraceLogCallbackGo(logType C.int, cstr unsafe.Pointer, len C.int) {
|
func internalTraceLogCallbackGo(logType C.int, cstr unsafe.Pointer, length C.int) {
|
||||||
str := string(C.GoBytes(cstr, len))
|
str := string(C.GoBytes(cstr, length))
|
||||||
lt := int(logType)
|
lt := int(logType)
|
||||||
internalTraceLogCallbackFun(lt, str)
|
internalTraceLogCallbackFun(lt, str)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue