func (v *VertexDecl) Add(attrib Attrib, num uint8, typ AttribType, normalized bool, asint bool) { C.bgfx_vertex_decl_add( &v.decl, C.bgfx_attrib_t(attrib), C.uint8_t(num), C.bgfx_attrib_type_t(typ), C._Bool(normalized), C._Bool(asint), ) }
func VertexUnpack(attrib Attrib, decl VertexDecl, slice interface{}, index int) (output [4]float32) { val := reflect.ValueOf(slice) if val.Kind() != reflect.Slice { panic(errors.New("bgfx: expected slice")) } C.bgfx_vertex_unpack( (*C.float)(unsafe.Pointer(&output)), C.bgfx_attrib_t(attrib), &decl.decl, unsafe.Pointer(val.Pointer()), C.uint32_t(index), ) return }
func VertexPack(input [4]float32, normalized bool, attrib Attrib, decl VertexDecl, slice interface{}, index int) { val := reflect.ValueOf(slice) if val.Kind() != reflect.Slice { panic(errors.New("bgfx: expected slice")) } C.bgfx_vertex_pack( (*C.float)(unsafe.Pointer(&input)), C._Bool(normalized), C.bgfx_attrib_t(attrib), &decl.decl, unsafe.Pointer(val.Pointer()), C.uint32_t(index), ) }