作者:shibukaw
项目:g
func TexImage2D(target Enum, level int, width, height int, format Enum, ty Enum, data []byte) {
p := unsafe.Pointer(nil)
if len(data) > 0 {
p = unsafe.Pointer(&data[0])
}
C.glTexImage2D(target.c(), C.GLint(level), C.GLint(format), C.GLsizei(width), C.GLsizei(height), 0, format.c(), ty.c(), p)
}
作者:nick-fedesn
项目:egle
func CopyTexSubImage2D(target uint, level, xoffset, yoffset,
x, y, width, height int) {
C.glCopyTexSubImage2D(
C.GLenum(target), C.GLint(level),
C.GLint(xoffset), C.GLint(yoffset),
C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height))
}
作者:jacksca
项目:go-gles
func TexImage2D(target TextureTarget, level int, internalformat InternalFormat, width, height int, format TextureFormat, datatype DataType, pixels []uint8) {
if pixels != nil {
C.glTexImage2D(C.GLenum(target), C.GLint(level), C.GLint(internalformat), C.GLsizei(width), C.GLsizei(height), 0, C.GLenum(format), C.GLenum(datatype), unsafe.Pointer(&pixels[0]))
} else {
C.glTexImage2D(C.GLenum(target), C.GLint(level), C.GLint(internalformat), C.GLsizei(width), C.GLsizei(height), 0, C.GLenum(format), C.GLenum(datatype), unsafe.Pointer(nil))
}
}
作者:Miaqu
项目:moj
func ReadPixels(dst []byte, x, y, width, height int, format, ty Enum) {
defer func() {
errstr := errDrain()
log.Printf("gl.ReadPixels(len(%d), %v, %v, %v, %v, %v, %v) %v", len(dst), x, y, width, height, format, ty, errstr)
}()
C.glReadPixels(C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height), format.c(), ty.c(), unsafe.Pointer(&dst[0]))
}
作者:TriangleG
项目:golang.or
func Uniform3i(location, v0, v1, v2 int32) {
defer func() {
errstr := errDrain()
log.Printf("gl.Uniform3i(%v, %v, %v, %v) %v", location, v0, v1, v2, errstr)
}()
C.glUniform3i(C.GLint(location), C.GLint(v0), C.GLint(v1), C.GLint(v2))
}
作者:james4
项目:g
//void glMap1d (GLenum target, float64 u1, float64 u2, int stride, int order, const float64 *points)
func Map1d(target GLenum, u1 float64, u2 float64, stride int, order int, points []float64) {
if len(points) == 0 {
panic("Invalid points size")
}
C.glMap1d(C.GLenum(target), C.GLdouble(u1), C.GLdouble(u2),
C.GLint(stride), C.GLint(order), (*C.GLdouble)(&points[0]))
}
作者:nick-fedesn
项目:egle
func CopyTexImage2D(target uint, level int, internalformat uint,
x, y, width, height, border int) {
C.glCopyTexImage2D(
C.GLenum(target), C.GLint(level), C.GLenum(internalformat),
C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height),
C.GLint(border))
}
作者:james4
项目:g
//void glMap1f (GLenum target, float32 u1, float32 u2, int stride, int order, const float32 *points)
func Map1f(target GLenum, u1 float32, u2 float32, stride int, order int, points []float32) {
if len(points) == 0 {
panic("Invalid points size")
}
C.glMap1f(C.GLenum(target), C.GLfloat(u1), C.GLfloat(u2), C.GLint(stride),
C.GLint(order), (*C.GLfloat)(&points[0]))
}
作者:remogatt
项目:egle
func Uniform2i(
location int32, x int32, y int32) {
C.glUniform2i(
C.GLint(location),
C.GLint(x),
C.GLint(y))
}
作者:Miaqu
项目:moj
func CopyTexSubImage2D(target Enum, level, xoffset, yoffset, x, y, width, height int) {
defer func() {
errstr := errDrain()
log.Printf("gl.CopyTexSubImage2D(%v, %v, %v, %v, %v, %v, %v, %v) %v", target, level, xoffset, yoffset, x, y, width, height, errstr)
}()
C.glCopyTexSubImage2D(target.c(), C.GLint(level), C.GLint(xoffset), C.GLint(yoffset), C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height))
}
作者:Miaqu
项目:moj
func CompressedTexSubImage2D(target Enum, level, xoffset, yoffset, width, height int, format Enum, data []byte) {
defer func() {
errstr := errDrain()
log.Printf("gl.CompressedTexSubImage2D(%v, %v, %v, %v, %v, %v, %v, len(%d)) %v", target, level, xoffset, yoffset, width, height, format, len(data), errstr)
}()
C.glCompressedTexSubImage2D(target.c(), C.GLint(level), C.GLint(xoffset), C.GLint(yoffset), C.GLsizei(width), C.GLsizei(height), format.c(), C.GLsizei(len(data)), unsafe.Pointer(&data[0]))
}
作者:Miaqu
项目:moj
func Uniform4i(dst Uniform, v0, v1, v2, v3 int32) {
defer func() {
errstr := errDrain()
log.Printf("gl.Uniform4i(%v, %v, %v, %v, %v) %v", dst, v0, v1, v2, v3, errstr)
}()
C.glUniform4i(dst.c(), C.GLint(v0), C.GLint(v1), C.GLint(v2), C.GLint(v3))
}
作者:Miaqu
项目:moj
func Viewport(x, y, width, height int) {
defer func() {
errstr := errDrain()
log.Printf("gl.Viewport(%v, %v, %v, %v) %v", x, y, width, height, errstr)
}()
C.glViewport(C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height))
}
作者:Miaqu
项目:moj
func TexSubImage2D(target Enum, level int, x, y, width, height int, format, ty Enum, data []byte) {
defer func() {
errstr := errDrain()
log.Printf("gl.TexSubImage2D(%v, %v, %v, %v, %v, %v, %v, %v, len(%d)) %v", target, level, x, y, width, height, format, ty, len(data), errstr)
}()
C.glTexSubImage2D(target.c(), C.GLint(level), C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height), format.c(), ty.c(), unsafe.Pointer(&data[0]))
}
作者:Miaqu
项目:moj
func Uniform2i(dst Uniform, v0, v1 int) {
defer func() {
errstr := errDrain()
log.Printf("gl.Uniform2i(%v, %v, %v) %v", dst, v0, v1, errstr)
}()
C.glUniform2i(dst.c(), C.GLint(v0), C.GLint(v1))
}
作者:Miaqu
项目:moj
func Scissor(x, y, width, height int32) {
defer func() {
errstr := errDrain()
log.Printf("gl.Scissor(%v, %v, %v, %v) %v", x, y, width, height, errstr)
}()
C.glScissor(C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height))
}
作者:Miaqu
项目:moj
func CopyTexImage2D(target Enum, level int, internalformat Enum, x, y, width, height, border int) {
defer func() {
errstr := errDrain()
log.Printf("gl.CopyTexImage2D(%v, %v, %v, %v, %v, %v, %v, %v) %v", target, level, internalformat, x, y, width, height, border, errstr)
}()
C.glCopyTexImage2D(target.c(), C.GLint(level), internalformat.c(), C.GLint(x), C.GLint(y), C.GLsizei(width), C.GLsizei(height), C.GLint(border))
}
作者:jacksca
项目:go-gles
func ReadAlpha(image *image.Alpha) {
alignment := C.GLint(0)
C.glGetIntegerv(C.GL_PACK_ALIGNMENT, &alignment)
align := C.GLint(1)
for align < alignment && image.Stride%(int(align)*2) == 0 {
align *= 2
}
// need smaller alignment
if align < alignment {
C.glPixelStorei(C.GL_PACK_ALIGNMENT, align)
}
C.glReadPixels(C.GLint(image.Rect.Min.X), C.GLint(image.Rect.Min.Y),
C.GLsizei(image.Rect.Dx()), C.GLsizei(image.Rect.Dy()),
C.GL_ALPHA, C.GL_UNSIGNED_BYTE, unsafe.Pointer(&image.Pix[0]))
// restore alignment
if align < alignment {
C.glPixelStorei(C.GL_PACK_ALIGNMENT, alignment)
}
}
作者:remogatt
项目:egle
func Viewport(
x int32, y int32, width Sizei, height Sizei) {
C.glViewport(
C.GLint(x),
C.GLint(y),
C.GLsizei(width),
C.GLsizei(height))
}
作者:nick-fedesn
项目:egle
func CompressedTexImage2D(target uint, level int, internalformat uint,
width, height, border, imageSize int, data Void) {
C.glCompressedTexImage2D(
C.GLenum(target), C.GLint(level), C.GLenum(internalformat),
C.GLsizei(width), C.GLsizei(height),
C.GLint(border), C.GLsizei(imageSize),
unsafe.Pointer(data))
}