【问题标题】:Get TexCoords of vertices in fragment shader在片段着色器中获取顶点的 TexCoords
【发布时间】:2014-09-12 12:11:20
【问题描述】:

是否有办法在片段着色器中获取顶点的 TexCoords 或将它们从顶点着色器提供给片段着色器,而不将它们从正常代码提供给顶点着色器?

【问题讨论】:

    标签: opengl textures shader lwjgl


    【解决方案1】:

    如果您阅读过任何教程,您就会知道这是任何合理的纹理都非常需要的。

    对比:

    attribute vec2 in_texCoord;
    out vec2 fs_texCoord;
    
    main () {
        fs_texCoord = in_texCoord;
    }
    

    FS:

    in vec2 fs_texCoord;
    out vec4 out_color;
    
    main () {
        out_color = vec4(fs_texCoord, 0.0, 1.0);
    }
    

    关于插值/过滤的所有规则仍然适用。

    【讨论】:

    • 这样我必须把它们交给顶点着色器。有没有办法从 OpenGL 状态读取它们?
    • @Geosearchef 作为常数?制服。为什么不能使用顶点着色器?
    • @Geosearchef:你想如何从 OpenGL 状态读取一些东西,这不是 OpenGL 状态的一部分?指定纹理坐标是您的工作。通过显式将它们作为顶点属性提交,或者通过在着色器中程序生成它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2011-05-24
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多