carpy-breakout/pkg/globject/vertex.go

40 lines
652 B
Go

package globject
import (
"github.com/go-gl/mathgl/mgl32"
)
const VertexSize int32 = 8
type Vertex struct {
Position mgl32.Vec3
Normal mgl32.Vec3
Texture mgl32.Vec2
}
func NewVertex(px, py, pz, nx, ny, nz, tx, ty float32) *Vertex {
vertex := Vertex{
Position: mgl32.Vec3{px, py, pz},
Normal: mgl32.Vec3{nx, ny, nz},
Texture: mgl32.Vec2{tx, ty},
}
return &vertex
}
func (v *Vertex) GetVertexArray() []float32 {
a := make([]float32, VertexSize)
a[0] = v.Position[0]
a[1] = v.Position[1]
a[2] = v.Position[2]
a[3] = v.Normal[0]
a[4] = v.Normal[1]
a[5] = v.Normal[2]
a[6] = v.Texture[0]
a[7] = v.Texture[1]
return a
}