예제 #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
파일: gl_opengles.go 프로젝트: tanema/amore
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
파일: shader.go 프로젝트: jackscan/go-gles3
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())
}