请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 314|回复: 1

glGetString无法正确获取OpenGL版本,无法使用GLSL [复制链接]

Rank: 8Rank: 8

注册时间
2017-7-31
积分
128
发表于 2017-8-10 14:06:52 |显示全部楼层
小弟最近在尝试学习着色器,但是发现自己的GL没有包含glShaderSource在内的GLSL函数,小弟试着输出当前OpenGL当前的版本号,但是只能得到以下结果

所以小弟怀疑是不是OpenGL版本过旧的原因(2.0之前是没有GLSL的,都是固定流水管线)。但是小弟这电脑是新配的,也更新了新的显卡驱动(英伟达)。百思不得其解,求教。

测试程序:
  1. #include
  2. #include "glut.h"
  3. #include

  4. int main(int argc, char *argv[])
  5. {
  6.     QCoreApplication a(argc, argv);

  7.     const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
  8.     const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
  9.     const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
  10.     const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
  11.     printf("%s\n", name);
  12.     printf("%s\n", biaoshifu);
  13.     printf("%s\n", OpenGLVersion );
  14.     printf("%s\n", gluVersion);


  15.     return a.exec();
  16. }
复制代码

顺便附上我找到了<GL/gl.h>的文件头:
  1. /*++ BUILD Version: 0004    // Increment this if a change has global effects

  2. Copyright (c) 1985-96, Microsoft Corporation

  3. Module Name:

  4.     gl.h

  5. Abstract:

  6.     Procedure declarations, constant definitions and macros for the OpenGL
  7.     component.

  8. --*/

  9. #ifndef __gl_h_
  10. #ifndef __GL_H__

  11. #define __gl_h_
  12. #define __GL_H__

  13. #include

  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif

  17. /*
  18. ** Copyright 1996 Silicon Graphics, Inc.
  19. ** All Rights Reserved.
  20. **
  21. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  22. ** the contents of this file may not be disclosed to third parties, copied or
  23. ** duplicated in any form, in whole or in part, without the prior written
  24. ** permission of Silicon Graphics, Inc.
  25. **
  26. ** RESTRICTED RIGHTS LEGEND:
  27. ** Use, duplication or disclosure by the Government is subject to restrictions
  28. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  29. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  30. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  31. ** rights reserved under the Copyright Laws of the United States.
  32. */
复制代码


Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-6-11
积分
29552
发表于 2017-8-10 21:48:46 |显示全部楼层
没有初始化OpenGL。QCoreApplication之后还得初始化窗口,初始化某个窗口用GL,然后才能用GL API。

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-8-24 16:34 , Processed in 0.050515 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部