Shader移植开发
文章平均质量分 77
记录自研Shader特效软件ShaderLab的开发工作
-Xavier-
这个作者很懒,什么都没留下…
展开
-
Qt中postevent造成内存泄漏问题的通用解决方案
需要绘制OpenGL实时渲染的图像,由于OpenGL渲染基本都放在循环语句内,直接放在主线程会导致界面卡死不响应,所以考虑另开一个线程在后台渲染,再把渲染好的图像在循环语句内通过postevent发送给前端的Widget。结果是内存泄漏非常严重,QEvent不会自动释放,以一秒60帧来算,粗略估计就是一秒造成60张600x800图片大小的内存泄漏,非常恐怖!这里就要注意一点了,如果你自定义的QEvent类在构造的时候从堆内申请内存,一定要定义该Event的析构函数释放从堆内申请的内存!原创 2023-07-30 09:41:27 · 780 阅读 · 0 评论 -
OpenGL 保存渲染的结果为图片
对于案例,因为正好快要过生日的原因,打算从Shadertoy上参考渲染蛋糕的Shader移植到本地OpenGL,移植方法可以参考。常被用来导入OpenGL纹理图片,对于保存像素格式数据到BMP、JPEG、JPG等图片格式数据我们可以使用对应的。最后一个参数传入我们写入像素数据的区块首地址,必须预先用malloc分配合适的大小。,由于函数的实现都已经放在头文件中,只需要在包含头文件前确保宏。第五个参数指定了像素数据的格式,可以传入的值有。第六个指针指定了数据的类型,必须为以下值之一。原创 2023-07-27 04:17:10 · 566 阅读 · 0 评论