请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 795|回复: 2

有关GLSL片元着色器的编译报错 [复制链接]

Rank: 8Rank: 8

注册时间
2017-7-31
积分
175
发表于 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. }
复制代码


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


Rank: 21Rank: 21Rank: 21Rank: 21Rank: 21Rank: 21

注册时间
2012-10-31
积分
9151
发表于 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.

使用道具 举报

Rank: 8Rank: 8

注册时间
2017-7-31
积分
175
发表于 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|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-11-25 09:51 , Processed in 0.066499 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部