本文整理汇总了Golang中github.com/gopherjs/webgl.Context.CompileShader方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.CompileShader方法的具体用法?Golang Context.CompileShader怎么用?Golang Context.CompileShader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gopherjs/webgl.Context
的用法示例。
在下文中一共展示了Context.CompileShader方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setupShaders
func setupShaders(gl *webgl.Context) *js.Object {
vs := gl.CreateShader(gl.VERTEX_SHADER)
gl.ShaderSource(vs, vsSource)
gl.CompileShader(vs)
if gl.GetShaderParameter(vs, gl.COMPILE_STATUS).Bool() == false {
throw(errors.New(gl.GetShaderInfoLog(vs)))
}
ps := gl.CreateShader(gl.FRAGMENT_SHADER)
gl.ShaderSource(ps, psSource)
gl.CompileShader(ps)
if gl.GetShaderParameter(ps, gl.COMPILE_STATUS).Bool() == false {
throw(errors.New(gl.GetShaderInfoLog(ps)))
}
program := gl.CreateProgram()
gl.AttachShader(program, vs)
gl.AttachShader(program, ps)
gl.LinkProgram(program)
gl.UseProgram(program)
return program
}
示例2: getShader
func getShader(gl *webgl.Context, typ int, source string) (*js.Object, bool) {
shader := gl.CreateShader(typ)
gl.ShaderSource(shader, source)
gl.CompileShader(shader)
if !gl.GetShaderParameter(shader, gl.COMPILE_STATUS).Bool() {
js.Global.Call("alert", gl.GetShaderInfoLog(shader))
return nil, false
}
return shader, true
}