【发布时间】:2020-05-11 16:42:59
【问题描述】:
#include <windows.h> // for MS Windows
#include <GL/glut.h> // GLUT, include glu.h and gl.h
#include <vector>
uniform vec2 lightpos;
uniform vec3 lightColor;
uniform float screenHeight;
uniform vec3 lightAttenuation;
uniform float radius;
uniform sampler2D texture;
void main()
{
vec2 pixel=gl_FragCoord.xy;
pixel.y=screenHeight-pixel.y;
vec2 aux=lightpos-pixel;
float distance=length(aux);
float attenuation=1.0/(lightAttenuation.x+lightAttenuation.y*distance+lightAttenuation.z*distance*distance);
vec4 color=vec4(attenuation,attenuation,attenuation,1.0)*vec4(lightColor,1.0);
gl_FragColor = color;//*texture2D(texture,gl_TexCoord[0].st);
}
错误
'uniform' 没有命名类型
'vec2' 未在此范围内声明
'screenHeight' 未在此范围内声明
预期的 ';'在“辅助”之前
'aux' 未在此范围内声明
等等
我使用 Dev C++ 和 ...
如果需要任何其他信息,请随时写下。我添加了我所知道的。我之前做过opengl项目。但是知道我必须像这样YouTube Video, OpenGL 2D lighting using shaders
【问题讨论】:
标签: c++ c++11 opengl glsl glsles