将多个纹理按照一定比例进行混合便形成了复合纹理。这里提供一个案例,介绍一下使用Qt的OpenGL模块如何实现复合纹理样式。案例中通过上下方向键可以调节混合比例,原始混合比例为0.2。通过复合纹理可以得到复杂的图像。案例对应的代码demo如下,欢迎参考。
opengl.h
#ifndef OPENGL_H
#define OPENGL_H
#include <QtWidgets/QWidget>
#include <QtOpenGL/QGLWidget>
#include <QtOpenGL/QGLFunctions>
#include <QtOpenGL\QGLShader>
#include <QtOpenGL\QGLBuffer>
#include <QtOpenGL\QGLShaderProgram>
#include <QKeyEvent>
class openGL : public QGLWidget, protected QGLFunctions
{
Q_OBJECT
public:
openGL(QWidget *parent = 0);
~openGL();
protected:
void initializeGL(); //初始化OpenGL
void resizeGL(int w, int h); //调整oeenGL的显示窗口
void paintGL(); //绘制opengl图像
void keyPressEvent(QKe