Qt如何实现多重纹理
Qt 实现 如何 多重 纹理
2023-09-14 09:05:10 时间
可以将多个纹理传给shader,下图是两个纹理叠加的效果
shader中定义如下:
uniform sampler2D U_MainTexture;
uniform sampler2D U_SubTexture;
varying vec2 M_coord;
void main()
{
gl_FragColor = texture2D(U_SubTexture, M_coord) * 0.8 +
texture2D(U_MainTexture, M_coord) * 0.2;
}
CUP中参数传递
// 传递0号纹理单元
OpenGLCore->glActiveTexture(GL_TEXTURE0);
OpenGLCore->glBindTexture(GL_TEXTURE_2D, m_Texture);
OpenGLCore->glUniform1i(m_TextureLocation, 0);
// 传递1号纹理单元
OpenGLCore->glActiveTexture(GL_TEXTURE1);
OpenGLCore->glBindTexture(GL_TEXTURE_2D, m_Texture2);
OpenGLCore->glUniform1i(m_Texture2Location, 1);
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,C++设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
相关文章
- [Qt教程] 第46篇 进阶(六) 国际化
- Qt之自定义界面(实现无边框、可移动)
- Qt中QMessageBox的使用与中文按钮显示方法(Qt提示框)
- Qt实现范围滑动条SuperSlider
- QT实现应用程序重启
- Qt编写自定义控件12-进度仪表盘
- Qt系列文章029-QCamera摄像头
- qt 5.14版本如何实现欧拉相机旋转3D模型
- Qt如何实现密码显示按钮
- Qt如何实现秒表项目
- Qt OpenGL 纹理映射
- Qt 通过重写QGraphicItem实现绘制、拖动、旋转、缩放椭圆
- Qt 实现点击主窗口内任意位置,在其位置弹窗弹窗,且弹窗必须在主窗口的换位内
- Qt实现俄罗斯方块游戏开发
- QT+OpenGL(01)--实现三角形渲染
- Qt之动画框架
- QT实现简单的上位机软件
- Qt实现控件的折叠收起和展开的功能
- 【Qt】qt5.12报错 error: ‘type_traits‘ file not found
- Qt之QTableWidget实现懒加载
- Qt状态机实现动画
- 【Qt】实现波浪动画效果
- Qt可执行程序写入版本信息
- Qt实现FTP下载
- Qt实现截图保存功能
- Qt多线程学习:创建多线程
- qt 中的QlistWidget
- 【Qt】SetUnhandledExceptionFilter设置程序异常筛选器函数