C++工作不统一,所有变量都定义
C++ doesn't work uniform and all variable defines
#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);
}
错误
"统一"未命名类型
"vec2"未在此范围内声明"屏幕高度"未在此范围内声明 预期";"之前 "aux">
未在此范围内
声明
等。
我使用开发C++和...
项目参数
/GL/头子文件
如果需要任何其他信息,请随时写。我添加了我所知道的。我以前做过opengl项目。但是知道我必须制作像这个YouTube视频,OpenGL 2D照明使用着色器
GLSL 只是看起来像 C,它实际上不是 C。代码必须由不同的编译器(外部编译器(如glslc
或驱动程序提供的 OpenGL 编译器(编译,并且它作为渲染通道的一部分在 GPU 上运行。
这是一个着色器程序,而不是 c++ 程序。您必须使用着色器编译器对其进行编译。
相关文章:
- 用C++中的一个变量定义一个常量
- 变量定义到C++布尔值转换
- 未声明的标识符错误,但变量定义正确 (?)
- C++多线程程序:变量定义为类成员的隔离错误
- 将变量定义为静态时,为什么可以多次定义它
- 初始值设定项列表与构造函数赋值与变量定义
- 如何根据传递给函数的变量定义特征矩阵大小
- C++ 描述如何使用来简化变量定义
- 如何转发声明依赖于变量定义的类,而变体定义又依赖于模板化类?
- 是否修改其声明语句中的变量定义良好
- 使用类的其他成员变量定义类的成员变量数组
- 是否可以通过全局变量定义具有可变参数数的函数中的参数数量
- 元组 std::get() 不适用于变量定义的常量
- 全局使用变量定义和C 声明
- C++变量定义中的易失性类型量词位置
- 将变量定义为数组和正确的语法
- 多个,包括具有变量定义的头文件
- 调用构造函数,并将成员作为参数解析为变量定义
- 逗号分隔变量定义中关系前的序列
- 如何使用命名变量定义常量右值引用参数的默认值