func New(vert, frag string) *Program { ass.True(util.GlSupportsVersion(2, 0)) vsh := NewShader(true) fsh := NewShader(false) vsrc, fsrc := vertShaderSource(vert), fragShaderSource(frag) vsrc = PreprocessShaderSource(vsrc) fsrc = PreprocessShaderSource(fsrc) vsh.Source(vsrc) fsh.Source(fsrc) vsh.Compile() fsh.Compile() prog := new(Program) prog.vparam, prog.fparam = vert, frag //save params prog.id = gl.CreateProgram() prog.AttachShader(vsh) prog.AttachShader(fsh) prog.Link() if GUsedProgram == nil { GUsedProgram = prog } return prog }
func New() *Vbo { ass.True(util.GlSupportsVersion(1, 4)) v := new(Vbo) v.InitData() return v }