OpenGL ES for Android (立方体贴图)

简介

我们前面学过纹理贴图,我们可以用6个2D纹理的纹理构建成立方体,而立方体贴图本身就是包含6个2D纹理的纹理,它优势在于可以通过一个方向向量来进行索引/采样。只要在立方体贴图的中心点,就能使用立方体的实际位置向量来对立方体贴图进行采样。

创建立方体贴图

与2D纹理区别不大,创建立方体贴图同样是创建纹理,只是我们的glBindTexture的方法的参数要变为GLES20.GL_TEXTURE_CUBE_MAP,然后同样要处理环绕和过滤方式。与2D纹理不同的是,它需要用6张图片来分别设置立方体的六个面,同样是使用GLUtils.texImage2D方法,它的target参数如下表

OpenGL ES for Android (立方体贴图)_第1张图片

我们把创建立方体贴图的同样封装一下,代码如下:

    /**
     * 立方体贴图
     * @param context context
     * @param resIds  贴图集合,顺序是:
     *                
  • 右{@link GLES20#GL_TEXTURE_CUBE_MAP_POSITIVE_X}
  • *
  • 左{@link GLES20#GL_TEXTURE_CUBE_MAP_NEGATIVE_X}
  • *
  • 上{@link

你可能感兴趣的:(Android,OpenGL,java,android)