本文整理汇总了Golang中golang.org/x/mobile/gl.Context.TexImage2D方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.TexImage2D方法的具体用法?Golang Context.TexImage2D怎么用?Golang Context.TexImage2D使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类golang.org/x/mobile/gl.Context
的用法示例。
在下文中一共展示了Context.TexImage2D方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: loadTexture
func loadTexture(glctx gl.Context) {
a, err := asset.Open("key.jpeg")
if err != nil {
log.Fatal(err)
}
defer a.Close()
img, _, err := image.Decode(a)
if err != nil {
log.Fatal(err)
}
rect := img.Bounds()
rgba := image.NewRGBA(rect)
draw.Draw(rgba, rect, img, rect.Min, draw.Src)
tex := glctx.CreateTexture()
glctx.ActiveTexture(gl.TEXTURE0)
glctx.BindTexture(gl.TEXTURE_2D, tex)
glctx.TexImage2D(gl.TEXTURE_2D, 0, 859, 610, gl.RGBA, gl.UNSIGNED_BYTE, rgba.Pix)
glctx.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR)
glctx.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR)
glctx.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)
glctx.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE)
glctx.ActiveTexture(gl.TEXTURE0)
glctx.BindTexture(gl.TEXTURE_2D, tex)
glctx.TexImage2D(
gl.TEXTURE_2D, 0,
rect.Max.X-rect.Min.X, rect.Max.Y-rect.Min.Y,
gl.RGBA, gl.UNSIGNED_BYTE, rgba.Pix)
}
示例2: Update
func (tex Texture) Update(ctx gl.Context, lvl int, width int, height int, data []byte) {
ctx.TexImage2D(gl.TEXTURE_2D, lvl, width, height, gl.RGBA, gl.UNSIGNED_BYTE, data)
if lvl > 0 {
ctx.GenerateMipmap(gl.TEXTURE_2D)
}
}
示例3: Update
func (tex Texture) Update(ctx gl.Context, width int, height int, data []byte) {
ctx.TexImage2D(gl.TEXTURE_2D, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, data)
}