Android Opengl ES2,颜色代替纹理中的位图

Z城堡

我在Android应用程序中需要一个8x8x8 LED立方体。我找到了一个OpenGl教程,其中有一个led立方体,但它在纹理上使用了位图。我可以将其更改为简单的颜色吗?纹理助手是这样的:

fun loadTexture(context: Context, resourceId: Int): Int {
    val textureHandle = IntArray(1)
    GLES20.glGenTextures(1, textureHandle, 0)
    if (textureHandle[0] == 0) {
        throw RuntimeException("Error generating texture name.")
    }
    val options = BitmapFactory.Options()
    options.inScaled = false // No pre-scaling

    // Read in the resource
    val bitmap = BitmapFactory.decodeResource(context.resources, resourceId, options)

    // Bind to the texture in OpenGL
    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0])

    // Set filtering
    GLES20.glTexParameteri(
        GLES20.GL_TEXTURE_2D,
        GLES20.GL_TEXTURE_MIN_FILTER,
        GLES20.GL_NEAREST
    )
    GLES20.glTexParameteri(
        GLES20.GL_TEXTURE_2D,
        GLES20.GL_TEXTURE_MAG_FILTER,
        GLES20.GL_NEAREST
    )

    // Load the bitmap into the bound texture.
    GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0)

    // Recycle the bitmap, since its data has been loaded into OpenGL.
    bitmap.recycle()
    return textureHandle[0]
}
亚历克斯诺夫
fun loadTexture() {        
    val textureId = IntArray(1)

    val color = byteArrayOf(0, 0, 127)
    val bufferColor = ByteBuffer.allocateDirect(3)
    bufferColor.put(color).position(0)
    
    GLES20.glGenTextures(1, textureId, 0)
    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureId[0])

    GLES20.glTexImage2D(GLES30.GL_TEXTURE_2D, 0,
        GLES20.GL_RGB, 1, 1, 0, GLES30.GL_RGB,
        GLES20.GL_UNSIGNED_BYTE, bufferColor)

    return textureId[0]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使RGB纹理显示在OpenGL ES2中

来自分类Dev

Android OpenGL ES2。0VBO无法渲染

来自分类Dev

Android OpenGL纹理重叠

来自分类Dev

Android Opengl 圆形纹理

来自分类Dev

旋转了Android OpenGL ES 2纹理象限

来自分类Dev

Android OpenGL.ES纹理/图像绘图

来自分类Dev

Android:性能问题多纹理 Opengl ES

来自分类Dev

如何在Android的OpenGL ES中渲染深度纹理

来自分类Dev

如何在 Android 的 OpenGL ES 2.0 中检查上传的纹理?

来自分类Dev

Android OpenGL圆纹理加倍

来自分类Dev

Android OpenGL:如何更改贴在纹理上的位图?

来自分类Dev

Android OpenGL尝试纹理化多个不同的位图

来自分类Dev

使用OpenGL ES 2时Android上纹理中的黑色Alpha

来自分类Dev

金字塔在android opengl ES2下渲染期间变形

来自分类Dev

OpenGL纹理在某些android设备上扭曲了颜色

来自分类Dev

Android Surfaceflinger和openGL ES

来自分类Dev

Android OpenGL ES无法绘图

来自分类Dev

在android中的OpenGL中缩小

来自分类Dev

在android中的OpenGL中缩小

来自分类Dev

在android中的OpenGL中缩小

来自分类Dev

适用于Alpha的Android OpenGL ES的纹理压缩策略

来自分类Dev

Android OpenGL ES 2.0纹理设置似乎不起作用

来自分类Dev

适用于Alpha的Android OpenGL ES的纹理压缩策略

来自分类Dev

Android上的OpenGL ES 2.0:无法加载纹理

来自分类Dev

Android OpenGL透明纹理绘制黑色

来自分类Dev

无法在Android OpenGL ES 2.0中画点

来自分类Dev

无法在Android OpenGL ES 2.0中画点

来自分类Dev

Android OpenGL ES中的灰度色深

来自分类Dev

随着时间的流逝,Android OpenGL 2滚动纹理质量下降