opengl使用compute shader的生成纹理,解决残影的问题
在做AR云渲染的项目中,经常会有残影出现,定位问题吧。
在我们项目中,使用到了compute shader来定制一些纹理的输出,每帧的写纹理可能没有覆盖纹理的每个像素,这样就造成了问题,下一帧的渲染这个纹理时,由于没有清理纹理缓存,造成残影的出现。
尝试使用glClearColor与glClear去做清理,清理不掉。
在看其他项目c/c++中,把这个纹理绑定到framebuffer上,在使用glClearColor与glClear去做清理,还是清理不掉。
最后想到2个比较粗暴简单的方法:
方法一:每次渲染,都强制用0进行赋值一次。代码中,我们纹理是GL_R32UI格式的,所以用int类型就行赋值。其他格式的原理一样。
private IntBuffer mEmptyBuffer;int[] mEmptyData = new int[width * height];mEmptyBuffer = ByteBuffer.allocateDirect(4 * mEmptyData.length).order(ByteOrder.nativeOrder()).asIntBuffer();mEmptyBuffer.put(mEmptyData);mEmptyBuffer.rewind();GLES32.glBindTexture(GLES32.GL_TEXTURE_2D, mCsImageIDs[0]);GLES32.glTexSubImage2D(GLES32.GL_TEXTURE_2D, 0, 0, 0, width, height, GLES32.GL_RED_INTEGER, GLES32.GL_UNSIGNED_INT, mEmptyBuffer);GLES32.glBindTexture(GLES32.GL_TEXTURE_2D, 0);
方法二:
纹理ID每次渲染都重新生成,用完之后使用glDeleteTextures进行删除,这样能够保证渲染时都是用最新的纹理进行渲染的。
当然,方法都不是很好的方法,看看大家有没有更好的方法,留言之,多谢。
opengl使用compute shader的生成纹理,解决残影的问题相关推荐
- android device monitor命令行窗口在哪里_Vulkan在Android使用Compute shader
oeip 相关功能只能运行在window平台,想移植到android平台,暂时选择vulkan做为图像处理,主要一是里面有单独的计算管线且支持好,二是熟悉下最新的渲染技术思路. 这个 demo(git ...
- cad拖动有残影_LCD 残影问题分析及常见解决办法
<LCD 残影问题分析及常见解决办法>由会员分享,可在线阅读,更多相关<LCD 残影问题分析及常见解决办法(2页珍藏版)>请在人人文库网上搜索. 1.LCD 残影问题分析及常见 ...
- OpenGL Compute Shader计算着色器的实例
OpenGL Compute Shader计算着色器 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_GL3W #include &l ...
- OpenGL Compute Shader Raytracing 计算着色器光线追踪的实例
OpenGL Compute Shader Raytracing 计算着色器光线追踪 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_ ...
- OpenGL Compute Shader Particle System计算着色器粒子系统的实例
OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...
- OpenGL Compute Shader Image Processing计算着色器图像处理的实例
OpenGL Compute Shader Image Processing计算着色器图像处理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include & ...
- OpenGL ES3.1使用计算着色器(Compute Shader)
OpenGL ES3.1使用计算着色器(Compute Shader) 1.基本介绍 OpenGL ES从3.1版本开始支持计算着色器 工作模型有全局工作组和本地工作组,全局工作组包含 ...
- Opengl入门基础-shader着色器画方形并且填颜色
文章目录 一.目的 二.结果 三.详细过程 下载 一.目的 opengl shader画方形并且填颜色 二.结果 成功画方形并用shader填充彩色 三.详细过程 https://blog.csdn. ...
- Compute Shader次世代优化方案
这是侑虎科技第498篇文章,感谢作者凯奥斯供稿.欢迎转发分享,未经作者授权请勿转载.如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨.(QQ群:793972859) 作者主页:https://z ...
最新文章
- 辽师836c语言真题,2018年武汉科技大学考研真题硕士研究生入学考试试题
- tarjan详解(转)
- python redis 消息队列
- 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
- C语言Node lt T gt,c语言论坛填空;#includelt;stdio.hgt;# 爱问知识人
- 区块链和加密货币产业_区块链:不仅仅用于加密货币
- 开发者友好性和易用性
- cgi web页面传入命令
- redhat7挂载光盘
- jdbc 连接阿里云mysql数据库_java jdbc连接数据库
- 乌班图(Ubuntu 16.04)系统安装简述
- 全面解析抖音直播各类玩法;新人也能快速直播。
- 编程速记(2):Pytorch篇-Tenor与numpy的互相转换
- 获取IFeatureWorkspace所有要素类、表
- 联想小新22H2版跳过联网方法最新方法
- 安全日志分析的五种类型
- 计算机三级网络技术知识点
- 05.Shell字符串处理
- Java读取配置文件中文乱码的问题
- mxnet rec文件内容分析
热门文章
- 这70个Java必背英语单词不会_英语不好没关系,背过这70个单词学java足够了!
- uefi安装linux 知乎,安装Archlinux+UEFI启动
- java me下载_Java ME SDK下载_Java ME SDK官方下载-太平洋下载中心
- php 织梦模板 防盗,织梦dedecms商业教程 织梦DedeCMS模板防盗的四种方法
- PHP包管理工具Composer(作曲家)
- 【python】Linux离线安装anaconda3
- Exception in thread main java.lang.UnsupportedClassVersionError: org/apache/tools/ant/launch/Launc
- Linux PXE网络装机+Kickstart(centos版)
- git 使用技巧总结
- 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;Task3:谓词、CASE