在做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的生成纹理,解决残影的问题相关推荐

  1. android device monitor命令行窗口在哪里_Vulkan在Android使用Compute shader

    oeip 相关功能只能运行在window平台,想移植到android平台,暂时选择vulkan做为图像处理,主要一是里面有单独的计算管线且支持好,二是熟悉下最新的渲染技术思路. 这个 demo(git ...

  2. cad拖动有残影_LCD 残影问题分析及常见解决办法

    <LCD 残影问题分析及常见解决办法>由会员分享,可在线阅读,更多相关<LCD 残影问题分析及常见解决办法(2页珍藏版)>请在人人文库网上搜索. 1.LCD 残影问题分析及常见 ...

  3. OpenGL Compute Shader计算着色器的实例

    OpenGL Compute Shader计算着色器 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_GL3W #include &l ...

  4. OpenGL Compute Shader Raytracing 计算着色器光线追踪的实例

    OpenGL Compute Shader Raytracing 计算着色器光线追踪 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_ ...

  5. OpenGL Compute Shader Particle System计算着色器粒子系统的实例

    OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...

  6. OpenGL Compute Shader Image Processing计算着色器图像处理的实例

    OpenGL Compute Shader Image Processing计算着色器图像处理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include & ...

  7. OpenGL ES3.1使用计算着色器(Compute Shader)

    OpenGL ES3.1使用计算着色器(Compute Shader) 1.基本介绍 OpenGL ES从3.1版本开始支持计算着色器         工作模型有全局工作组和本地工作组,全局工作组包含 ...

  8. Opengl入门基础-shader着色器画方形并且填颜色

    文章目录 一.目的 二.结果 三.详细过程 下载 一.目的 opengl shader画方形并且填颜色 二.结果 成功画方形并用shader填充彩色 三.详细过程 https://blog.csdn. ...

  9. Compute Shader次世代优化方案

    这是侑虎科技第498篇文章,感谢作者凯奥斯供稿.欢迎转发分享,未经作者授权请勿转载.如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨.(QQ群:793972859) 作者主页:https://z ...

最新文章

  1. 辽师836c语言真题,2018年武汉科技大学考研真题硕士研究生入学考试试题
  2. tarjan详解(转)
  3. python redis 消息队列
  4. 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
  5. C语言Node lt T gt,c语言论坛填空;#includelt;stdio.hgt;# 爱问知识人
  6. 区块链和加密货币产业_区块链:不仅仅用于加密货币
  7. 开发者友好性和易用性
  8. cgi web页面传入命令
  9. redhat7挂载光盘
  10. jdbc 连接阿里云mysql数据库_java jdbc连接数据库
  11. 乌班图(Ubuntu 16.04)系统安装简述
  12. 全面解析抖音直播各类玩法;新人也能快速直播。
  13. 编程速记(2):Pytorch篇-Tenor与numpy的互相转换
  14. 获取IFeatureWorkspace所有要素类、表
  15. 联想小新22H2版跳过联网方法最新方法
  16. 安全日志分析的五种类型
  17. 计算机三级网络技术知识点
  18. 05.Shell字符串处理
  19. Java读取配置文件中文乱码的问题
  20. mxnet rec文件内容分析

热门文章

  1. 这70个Java必背英语单词不会_英语不好没关系,背过这70个单词学java足够了!
  2. uefi安装linux 知乎,安装Archlinux+UEFI启动
  3. java me下载_Java ME SDK下载_Java ME SDK官方下载-太平洋下载中心
  4. php 织梦模板 防盗,织梦dedecms商业教程 织梦DedeCMS模板防盗的四种方法
  5. PHP包管理工具Composer(作曲家)
  6. 【python】Linux离线安装anaconda3
  7. Exception in thread main java.lang.UnsupportedClassVersionError: org/apache/tools/ant/launch/Launc
  8. Linux PXE网络装机+Kickstart(centos版)
  9. git 使用技巧总结
  10. 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql;Task3:谓词、CASE