[英]Failure compiling the shaders, do I need openGL drivers for ubuntu on Intel platforms?
我试图在ubuntu上用顶点着色器编写一个简单的程序,就像这样。
const GLchar* vertexSource = (const GLchar*) "#version 130 core \n in vec2 position; \n void main() \n { \n gl_Position = vec4(position, 0.0, 1.0); \n }";
这是我的着色器,我在程序中正在编译它
GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertexShader, 1, &vertexSource, 0);
glCompileShader(vertexShader);
我尝试在glShaderSourceFunction中传递顶点着色器字符串的长度,但这给了我同样的错误。
但是glGetShaderiv()在编译代码时给了我错误。 我无法理解这里出了什么问题。
我错过了什么吗? 或者由于司机的意外而导致错误?
我在我的Intel i5 windows 8系统上安装了ubuntu 12.04,这是否意味着我在ubuntu上没有openGL图形驱动程序? 有人可以指点我到哪里可以得到它们吗? 此外,当驱动程序不存在时,不是openGL应该在软件中完成整个事情吗?
#version 130 core
^^^^ wat
OpenGL 3.0中没有Core上下文。
您可以使用以下代码获取着色器编译日志:
GLint log_len;
glGetShaderiv(vertexshader, GL_INFO_LOG_LENGTH, &log_len);
GLchar* comp_log = new GLchar[log_len + 1];
glGetShaderInfoLog(vertexshader, log_len, NULL, comp_log);
std::cout << "Shader compilation result: " << comp_log << std::endl;
delete[] comp_log;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.