gpt4 book ai didi

android - 如何在 OpenGL ES 中的纹理上添加一些像素

转载 作者:行者123 更新时间:2023-11-30 02:41:11 25 4
gpt4 key购买 nike

我正在制作一个 Android 应用程序来添加一行,例如标题:

Header

(这是一条由一些彩色像素组成的线,有点放大了)

在这个的左上角:

Main texture

我不知道是否可以使用 OpenGL 在纹理顶部添加一些像素。或者我们必须把它放在一个位图中,加载它到纹理,然后将它与主纹理结合。

最佳答案

要绘制一行像素,最好的方法是从它们创建一个纹理,然后像绘制任何其他纹理一样绘制它们。根据您的具体用例,至少有两种方法:

  1. 如果您总是想在现有纹理上渲染该行像素,并且在相对于原始纹理内容的相同位置,您可以使用 glTexSubImage2D() 修改该纹理。假设您有一个字节数组 rowBytes,其中包含您要添加的 nPixels 像素行的 RGB 值。绑定(bind)现有的纹理,然后调用:

    GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, nPixels, 1,
    GLES20.G_RBB, GLES20.GL_UNSIGNED_BYTE,
    ByteBuffer.wrap(rowBytes));
  2. 使用您用于任何其他纹理的标准调用(glGenTexturesglBindTextureglTexImage2D)为行创建一个新纹理>).对于单行像素,将高度指定为 1。然后以与渲染现有纹理相同的方式渲染纹理,通常是为要覆盖的区域渲染带纹理的四边形。

关于android - 如何在 OpenGL ES 中的纹理上添加一些像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com