中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 987|回复: 2

有关GLSL片元着色器的编译报错

[复制链接]
发表于 2017-8-16 17:11:59 | 显示全部楼层 |阅读模式
本帖最后由 bycy0801 于 2017-8-16 17:13 编辑

我有一个着色器程序在QtOpenGL中编译使用以下着色器内容:
  1. 顶点着色器#version 330


  2. layout (location = 0) in vec3 a_pos;
  3. layout (location = 1) in vec3 a_normal;
  4. layout (location = 2) in vec2 a_uv;


  5. uniform float u_linewidth;
  6. uniform mat4  modelViewMatrix;
  7. uniform mat4  projectionMatrix;


  8. out vec2 uv;


  9. void main() {
  10.         vec4 delta = vec4(a_normal * u_linewidth/2, 0);
  11.         vec4 pos   = modelViewMatrix * vec4(a_pos ,1);
  12.         gl_Position = projectionMatrix * (pos +delta) ;
  13.         uv = a_uv;        
  14. }
  15. 片元着色器#version 330
  16. uniform vec4 u_color;
  17. uniform sampler2D u_sampler;
  18. in vec2 uv;
  19. void main() {
  20.         gl_FragColor = texture(u_sampler, uv) + vec4(u_color.rgb, 0);
  21. }
复制代码


结果出现以下报错,请问高手为什么。。。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2017-8-16 18:57:47 | 显示全部楼层
GLSL ES 3.0 removes the gl_FragData and gl_FragColor builtin fragment output variables. Instead, you declare your own fragment output variables with the out qualifier.
 楼主| 发表于 2017-8-17 09:21:13 | 显示全部楼层
hhyytt 发表于 2017-8-16 18:57
GLSL ES 3.0 removes the gl_FragData and gl_FragColor builtin fragment output variables. Instead, you ...

Thx~现在可以编译通过了~直接写
  1. out vec4 FragColor
  2. FragColor = ...
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-2-26 05:42 , Processed in 0.040542 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表