func (c *Context) NewProgram(shaders []Shader) (Program, error) { gl := c.gl p := gl.CreateProgram() if p.Value == 0 { return Program{}, errors.New("opengl: glCreateProgram failed") } for _, shader := range shaders { gl.AttachShader(p, mgl.Shader(shader)) } gl.LinkProgram(p) v := gl.GetProgrami(p, mgl.LINK_STATUS) if v == mgl.FALSE { return Program{}, errors.New("opengl: program error") } return Program(p), nil }
func (c *Context) DeleteShader(s Shader) { gl := c.gl gl.DeleteShader(mgl.Shader(s)) }