opengl - 编译着色器失败,我需要英特尔平台上的 ubuntu 的 openGL 驱动程序吗?

标签 opengl ubuntu glsl shader intel

我正在尝试在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 中没有核心上下文。

关于opengl - 编译着色器失败,我需要英特尔平台上的 ubuntu 的 openGL 驱动程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456130/

相关文章:

ios - 在着色器修改器 SceneKit 中访问世界空间中的 z 坐标

opengl - 现代OpenGL : Draw a sphere and cylinder

c++ - 如何终止 C++ 中的 fork 进程?

php - ubuntu 升级后 mcrypt_create_iv 不再在 apache2 上工作

node.js - 在 Laravel 5.4 和 Node.js 上使用 Laravel Mix Error 编译 Assets

glsl - 为什么这个 Shaderoy 在 glsl 中无法正确显示?

c++ - 如何向模板类公开统一接口(interface)?

c++ - 如何在OpenGL中更新 "forward"运动

qt - Ubuntu OpenCV 安装和设置(Qt5?)

arrays - 您可以将固定大小的数组作为 GLSL 函数参数传递吗?