示例#1
0
文件: gldebug.go 项目: Miaque/mojo
func CreateProgram() (r0 Program) {
	defer func() {
		errstr := errDrain()
		log.Printf("gl.CreateProgram() %v%v", r0, errstr)
	}()
	return Program{Value: uint32(C.glCreateProgram())}
}
示例#2
0
func createProgram(vertShaderSrc string, fragShaderSrc string) C.GLuint {
	vertShader := loadShader(C.GL_VERTEX_SHADER, vertShaderSrc)
	fragShader := loadShader(C.GL_FRAGMENT_SHADER, fragShaderSrc)
	prog := C.glCreateProgram()
	if prog == 0 {
		panic("Failed to create shader program")
	}
	C.glAttachShader(prog, vertShader)
	checkGLError()
	C.glAttachShader(prog, fragShader)
	checkGLError()
	C.glLinkProgram(prog)
	var linkStatus C.GLint
	C.glGetProgramiv(prog, C.GL_LINK_STATUS, &linkStatus)
	if linkStatus != C.GL_TRUE {
		log := GetProgramInfoLog(prog)
		panic(fmt.Errorf("Failed to link program: %v", log))
	}
	return prog
}
示例#3
0
func CreateProgram() Program {
	return Program{Value: uint32(C.glCreateProgram())}
}
示例#4
0
文件: gles2.go 项目: remogatto/egles
func CreateProgram() uint32 {
	return uint32(C.glCreateProgram())
}
示例#5
0
文件: gl.go 项目: extrame/gl
// NewProgram creates an empty program
func NewProgram() *Program {
	return &Program{i: C.glCreateProgram()}
}
示例#6
0
func CreateProgram() Program {
	return Program{id: C.glCreateProgram()}
}
示例#7
0
文件: shader.go 项目: eaburns/gl
// CreateProgram creates a program object.
func CreateProgram() Program {
	return Program(C.glCreateProgram())
}
示例#8
0
文件: es2.go 项目: nick-fedesna/egles
func CreateProgram() uint {
	return uint(C.glCreateProgram())
}