找回密码
 立即注册
收起左侧

qt creator快速入门第三版 源代码12-6运行不出结果

2
回复
4249
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2019-9-30 10:48:14 显示全部楼层 |阅读模式
1Qter豆
QOpenGLShader::compile(Fragment): ERROR: 3:5: 'texture' : no matching overloaded function found - implicit conversion not allowed
ERROR: 3:5: 'assign' :  cannot convert from 'const highp float' to 'FragUserData 4-component vector of highp float'


*** Problematic Fragment shader source code ***
#version 110
#define lowp
#define mediump
#define highp
#line 1
uniform sampler2D tex;                     
in vec4 texCoord;                          
out vec4 fColor;                           
void main() {                              
   fColor = texture(tex, texCoord);        
}                                          

***
QOpenGLShader::link: Attached fragment shader is not compiled.

QOpenGLShader::link: Attached fragment shader is not compiled.

QOpenGLShaderProgram::attributeLocation(vPosition): shader program is not linked
QOpenGLShaderProgram::attributeLocation(vTexCoord): shader program is not linked
QOpenGLShaderProgram::uniformLocation(tex): shader program is not linked
QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked
QOpenGLShaderProgram::attributeLocation(vPosition): shader program is not linked
QOpenGLShaderProgram::attributeLocation(vTexCoord): shader program is not linked
QOpenGLShaderProgram::uniformLocation(tex): shader program is not linked
QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked

最佳答案

查看完整内容

修改代码试试: // 创建顶点着色器 QOpenGLShader *vshader = new QOpenGLShader(QOpenGLShader::Vertex, this); const char *vsrc = "#version 330\n" "in vec4 vPosition; \n" "in vec2 vTexCoord; \n" "out vec2 texCoord; \n" "uniform mat4 matrix; \n" ...
回复

使用道具 举报

累计签到:1564 天
连续签到:1 天
2019-9-30 10:48:15 显示全部楼层
修改代码试试:

// 创建顶点着色器
    QOpenGLShader *vshader = new QOpenGLShader(QOpenGLShader::Vertex, this);
    const char *vsrc =
            "#version 330\n"
            "in vec4 vPosition;                        \n"
            "in vec2 vTexCoord;                        \n"
            "out vec2 texCoord;                        \n"
            "uniform mat4 matrix;                      \n"
            "void main() {                             \n"
            "   texCoord = vTexCoord;                  \n"
            "   gl_Position = matrix * vPosition;      \n"
            "}                                         \n";
    vshader->compileSourceCode(vsrc);
    // 创建片段着色器
    QOpenGLShader *fshader = new QOpenGLShader(QOpenGLShader::Fragment, this);
    const char *fsrc =
            "#version 330\n"
            "uniform sampler2D tex;                     \n"
            "in vec2 texCoord;                          \n"
            "out vec4 fColor;                           \n"
            "void main() {                              \n"
            "   fColor = texture(tex, texCoord);        \n"
            "}                                          \n";
    fshader->compileSourceCode(fsrc);
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2019-10-8 15:15:35 显示全部楼层
感谢博主,现在可以运行出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了