摘要:
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other. Given an integer n, return all 阅读全文
摘要:
之前写过一篇 Android YUV图像转换算法和检测工具,里面实现了YUV420的四种格式的相互转换,和与RGB之间的转换。因为是直接用CPU计算的,所以对CPU有一定的消耗和占用。这里我们用OpenGL实现GPU转换。 我们用相机作为YUV420图像输入,上一篇 Android OpenGLES 阅读全文
摘要:
在看Box2D游戏引擎时,发现了一个很有意思的液体引擎 LiquidFun ,它是Box2D的扩展。给Box2D加上了粒子系统,并且粒子能实现液体的特性。 LiquidFun Github是一个Google的开源项目,LiquidFun官网里面有很多有趣的演示和很多资料,包括它的原理PPT讲解:它其 阅读全文
摘要:
小米手机播放音乐时锁屏页面可以设置音频可视化效果,这是用OpenGL绘制出来的,我们来实现一下。 首先简单分析一下原理: 图形的每一行代表一个声音片段,它就是一个一维数组,按照数值大小绘制不同的高度,就形成了一条“山脉”;获取到下一个声音片段后,将它绘制到下面一行,然后画面整体向上滚动就可以了。整体 阅读全文
摘要:
普通的OpenGL绘图时是绘制到当前帧上面,由于GL环境跟当前屏幕进行了关联,也就直接绘制到屏幕了。这样有两个问题:1. 如果有的帧计算得快,有的计算得慢,而屏幕刷新率是固定的,就会拖慢整体帧率;2. 在着色器里面只能处理当前位置的点,没办法处理当前点跟其他点的关系。 如果将OpenGL计算后的帧缓 阅读全文
摘要:
https://github.com/android/media-samples 安卓官方的视频解码器示例 球形视频在全景视频、VR等领域有应用,原理是:解码视频获取每一帧图像,将图像用OpenGL渲染成球形展示出来。下面实现一个简单的Demo,分为三步:展示球体、解码视频、播放球形视频。 1 球体 阅读全文
摘要:
OpenGL绘图一般是在主内存创建数据,计算后传给GPU内存,如果数据是频繁变化的,那么每一帧都要将数据用glBufferSubData方法复制到GPU。其实主内存数据可能是在一个固定的数组里,却要将这个数组反复复制到GPU。如果这个数组能放进GPU,在CPU计算完通知GPU刷新,就省去了复制的操作 阅读全文
摘要:
在B站上偶然看到一个这样的鱼群模拟的视频,很有意思。大自然很多东西都是类似分形、群体涌现的模式。我们可以用OpenGL简单地模拟一下,先实现一个二维模型,再尝试扩展到三维。 相关资料: https://blog.csdn.net/liweizhao/article/details/82106886 阅读全文
摘要:
https://www.jianshu.com/p/0b66c00d7073 iOS 计算和读取的例子 https://wiki.jikexueyuan.com/project/modern-opengl-tutorial/tutorial28.html PC上解释比较清晰的粒子系统 https:/ 阅读全文
摘要:
https://developer.arm.com/documentation/100587/0100/compute-shaders/compute-shaders-example ARM官方文档里的简单计算Demo https://blog.csdn.net/koibiki/article/de 阅读全文