Android-Opengl 实现图片滤镜功能
16lz
2021-01-26
在GPUIMage里面已经实现了2D图片滤镜功能,由于项目的是全景图片,所以只好将GPUImage里面的滤镜功能的shader文件拿来自己用。
在此记录一下每次切换滤镜的时候纹理加载的流程
GLES20.glUseProgram(mProgram); GLES20.glDetachShader(mProgram, oldFshId);//detach old shader id int fshId = this.loadShader(GLES20.GL_FRAGMENT_SHADER, newFragmentShader);//load new fragment shader GLES20.glAttachShader(mProgram, fshId);// attach new shader id GLES20.glLinkProgram(mProgram); GLES20.glDeleteShader(fshId); filterInputTextureUniform2 = GLES20.glGetUniformLocation(mProgram, "inputImageTexture2"); filterInputTextureUniform3 = GLES20.glGetUniformLocation(mProgram, "inputImageTexture3"); filterInputTextureUniform4 = GLES20.glGetUniformLocation(mProgram, "inputImageTexture4"); filterInputTextureUniform5 = GLES20.glGetUniformLocation(mProgram, "inputImageTexture5"); filterInputTextureUniform6 = GLES20.glGetUniformLocation(mProgram, "inputImageTexture6"); GLES20.glActiveTexture(GLES20.GL_TEXTURE0); GLES20.glBindTexture(GL_TEXTURE_2D, msTextureId); GLES20.glUniform1i(msTextureLoc, 0);
因为只是修改滤镜,所以只需要重新加载纹理坐标,顶点坐标不需要修改。
更多相关文章
- 一起学android openg 纹理
- DDMS
- 在cocos2d-x2.0上用shader实现灰度图
- view中显示部分区域
- Android(安卓)点击View Rotate旋转带视图动画
- Android(安卓)图片与屏幕坐标点
- android 自动化测试之MonkeyRunner学习(二)
- android opengl 实现相机的实时滤镜
- android 线段与矩形碰撞检测