我正在调试一个非常大的树着色项目,在该项目中,作者使用glsl文件来着色树,但我在编译glsl文件时遇到了麻烦:
以下是错误日志:
compile: code/trees/TreeRender/Shader/Graph40.vert.glsl
ERROR: 0:4: '' : syntax error: #version
ERROR: 0:15: 'layout' : syntax error: syntax error
#version 120 core //the original file use version 400
#define VERT_POSITION 0
#define VERT_NORMAL 1
#define VERT_COLOR 2
#define VERT_TEXTURE 3
uniform mat4x4 matModel;
uniform mat4x4 matView;
uniform mat4x4 matProjection;
layout(location = VERT_POSITION) in vec4 Position;
layout(location = VERT_NORMAL) in vec4 Normal;
layout(location = VERT_COLOR) in vec4 Color;
layout(location = VERT_TEXTURE) in vec4 Texture;
out vec4 VertPosition;
out vec4 VertNormal;
out vec4 VertColor;
out vec4 VertTexture;
void main()
{
VertPosition = Position;
VertNormal = Normal;
VertColor = Color;
VertTexture = Texture;
gl_Position = matProjection * matView * matModel * vec4(Position.xyz, 1);
}
compile: code/trees/TreeRender/Shader/Default.vert.glsl
ERROR: 0:11: 'matModel' : syntax error: syntax error
#define VERT_POSITION 0
#define VERT_NORMAL 1
#define VERT_COLOR 2
#define VERT_TEXTURE 3
uniform mat4x4 matModel;
uniform mat4x4 matView;
uniform mat4x4 matProjection;
layout(location = VERT_POSITION) in vec4 Position;
layout(location = VERT_NORMAL) in vec4 Normal;
layout(location = VERT_COLOR) in vec4 Color;
layout(location = VERT_TEXTURE) in vec4 Texture;
out vec4 VertPosition;
out vec4 VertNormal;
out vec4 VertColor;
out vec4 VertTexture;
void main()
{
VertPosition = Position;
VertNormal = Normal;
VertColor = Color;
VertTexture = Texture;
gl_Position = matProjection * matView * matModel * vec4(Position.xyz, 1);
}
我使用mac osx,Xcode7.0,OpenGL和glut都是默认版本。Glew版本是1.13.0。
这是因为版本与作者使用的原始版本不匹配吗?因为我检查了原始版本,所以他使用了GLEW 1.9.0和GLUT 3.7.6。
//////更新///////
#version 400 core
ERROR: 0:4: '' : version '400' is not supported
ERROR: 0:4: '' : syntax error: #version
原来mac支持的版本不是我的上下文使用的版本。我在代码中使用GL_VERSION打印,我使用的是2.1。现在我变成了4.1,根据[这][1]。但仍有错误:
trees/TreeRender/Shader/DefaultDepth.frag.glsl
helloERROR: 0:20: Use of undeclared identifier 'gl_FragData'
defaultlight.frag.glsl:
#version 400 core
in vec4 VertPosition;
in vec4 VertNormal;
in vec4 VertColor;
in vec4 VertTexture;
uniform vec3 lightPos;
void main()
{
float moment1 = gl_FragCoord.z;
float moment2 = moment1 * moment1;
gl_FragData[0] = vec4(moment1, moment2, 0.0, 1.0);
}
版本120不支持核心配置文件(仅OpenGL 3.2+)布局限定符也仅在OpenGL 3.2+中可用
任务“:app:ExternalNativeBuildDebug”执行失败。生成命令失败。执行进程/home/raed/android/sdk/cmake/3.10.2.4988404/bin/ninja时出错,参数为{-c/home/raed/androidstudioprojects/simd/app/.CXX/cmake/debug/armeabi-v7a native-lib}ninja:
我正在使用SODA for Java存储和检索Oracle12c DB中的文档。我正在效仿这个例子。 这一例外背后的原因将是什么?
这是我的程序:
我使用Identityserver3作为MVC应用程序的授权服务器。因此,我的类如下: 这是我的子类: 这是我的: 但是在我的
我最近换了我的ASP。NET应用程序到ASP。NET标识远离Azure的Active Directory配置。我在本地测试时没有问题,但是当我发布到Azure时,我得到以下错误: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier或http://schemas.microsoft.com/accesscontro
本文向大家介绍C#中使用@声明变量示例(逐字标识符),包括了C#中使用@声明变量示例(逐字标识符)的使用技巧和注意事项,需要的朋友参考一下 在C#中,@符号不仅可以加在字符串常量之前,使字符串不作转义之用,还可以加在变量名之前,使变量名与关键字不冲突,这种用法称为“逐字标识符”。请看下面的代码: 这里使用到@的地方有三处,@class,@static和@bool,如果不加@的话,他们都是关键字,编