当前位置: 首页 > 知识库问答 >
问题:

用GLUT/Freeglut创建核心上下文?

冷吉星
2023-03-14

我正在开发一个利用freeglutglew的项目。为了在我的程序中使用顶点和片段着色器,我需要使用的最小OpenGL版本是3.3。我检查了OpenGL版本和GLSL版本,结果如下:

[cyclonite@localhost ~]$ glxinfo | grep OpenGL 
OpenGL vendor string: Intel Open Source Technology Center 
OpenGL renderer string: Mesa DRI Intel (R) HD Graphics 620 (Kaby Lake GT2) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.3 
OpenGL core profile shading language version string: 4.50 
OpenGL core profile context flags: (none) 
OpenGL core profile profile mask: core profile 
OpenGL core profile extensions: 
OpenGL version string: 3.0 mesa 17.3.3 
OpenGL shading language version string: 1.30 
OpenGL context flags: (none) 
OpenGL extensions : 
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 17.3.3 
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 
OpenGL ES profile extensions:
Cannot compile vertex shader. 
ERROR: Cannot compile shader. 
OpenGL Version: 3.0 Mesa 17.3.3 
0:4(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES 

我在Linux操作系统上使用Eclipse作为我的C++开发IDE(我使用的这个特定的disdo是PCLinuxOS)。

共有1个答案

程鸿畅
2023-03-14

使用GlutinitContextVersion()GlutinitContextProfile()选择所需的上下文版本和上下文配置文件:

...
glutInit( ... );
glutInitContextVersion( 3, 3 );
glutInitContextProfile( GLUT_CORE_PROFILE );
glutInitDisplayMode( ... );
glutCreateWindow( ... );
...

文件?什么文件?

 类似资料:
  • 每次CodeIgniter运行时都有很多基础类作为核心框架的一部分被自动初始化.但你也可以使用经过你修改的类来替换甚至扩展这些原始的核心系统类. 大多数用户一般不会有这种需求,但对于那些想较大幅度的改变CodeIgniter的人来说,我们依然提供了替换和扩展核心系统类的选择. 注意:  改变系统核心类会产生很大影响,所以在你做之前必须清楚地知道自己正在做什么. 系统类清单 以下是系统核心文件的清单

  • 每次 CodeIgniter 运行时,都有一些基础类伴随着核心框架自动的被初始化。但你也可以使用你自己类来替代这些核心类或者扩展这些核心类。 大多数用户一般不会有这种需求,但对于那些想较大幅度的改变 CodeIgniter 的人来说,我们依然提供了替换和扩展核心类的选择。 注解 改变系统核心类会产生很大影响,所以在你做之前必须清楚地知道自己正在做什么。 系统类清单 以下是系统核心文件的清单,它们在

  • 我很难让swashbuckle.aspnetcore(1.0.0)包生成任何输出。我读到swagger.json文件应该写到'~/swagger/docs/v1'。然而,我没有得到任何输出。 我从一个全新的ASP.NET核心API项目开始。我应该提到这是ASP.NET Core2。API可以工作,我可以从values控制器检索值。 我的启动类的配置与本文描述的完全相同(GitHub上的swashb

  • 在AWS文档中,只有关于如何update_thing_shadow的说明。(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iot-data.html#IoTDataPlane.Client.update_thing_shadow) 我们如何创建阴影? 谢谢

  • 我仔细检查了一下,现在固定管道调用是没用的。到目前为止,一切都很好。 问题是当我尝试使用GLSL1.50着色器时。它无法编译,并给出了一些类似于(对不起,前面没有错误)的错误:错误0:2语法错误语法错误 着色器加载代码如下所示: 的确,在读取着色器文件中出现了一些错误,因为我刚刚创建了一个常量字符*并在其中编写了整个着色器,并将引用传递给glShaderSource(),现在它可以工作了。有趣的是

  • Freeglut是一个GLUT (OpenGL Utility Toolkit) 的开源实现,使用非常广泛。OpenGL Redbook使用Freeglut代替GLUT编写代码。