1. 起因:

红宝书上的例子在电脑上运行后没有效果,但是怎么也找不到原因,反复对看了书上的源码和代码发现没有任何问题,但是就是没有树上写的效果

2. 思路:查看函数的说明,这里推荐使用docs.gl,这个网站会列出函数在OpenGL中哪些版本中有效.

查看后发现函数是OpenGL 4以后才有效,结合自己电脑比较老,所有想到了是不是自己电脑的OpenGL core版本比较低,不支持这个函数

3. 通过OpenGL函数glGetString来获取我电脑的OpenGL core版本

const char * version = (const char *)glGetString(GL_VERSION);
log("OpenGL version : %s\n", version); /// log是我封装的一个输出函数
//printf("OpenGL version : %s\n", version);

输出结果:OpenGL version : 3.3.12618 Core Profile Context 13.251.9001.1001,看到这个我认为应该是我电脑OpenGL 版本不支持这个函数,目前不知道怎么解决如何才能使用到新版OpenGL版本的函数,留待以后思考(注:我有猜测是不是可以通过升级显卡驱动,但是今天没试),

4. 今天发现了一个新的查看方法判断自己电脑OpenGL是否支持我们写的版本(前提使用GLFW库)

/// 错误日志接收函数
static void error_callback(int error, const char *description)
{
log("%s", description); // 输出错误
} glfwSetErrorCallback(error_callback); /// 关联上面的函数

一旦OpenGL操作函数发生错误,就会自动回调这个函数,让我们知道发生了什么错误

glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 4);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); window = glfwCreateWindow(512, 512, "Hello World", NULL, NULL);

上述例子会输出如下错误:"WGL: Failed to create OpenGL context"

  • 后记:我们可以通过OpenGL的函数glGetString的不同参数来获取很多OpenGL相关的信息,譬如:上面的版本,显卡名称等等

最新文章

  1. js实现css3的过渡,需要注意的一点(浏览器优化)
  2. ibatis
  3. Angular实现注册系统
  4. Java学习笔记——动态代理
  5. Android之SplashActivity的巧妙之处
  6. [Swust OJ 247]--皇帝的新衣(组合数+Lucas定理)
  7. Rational Rose 2007使用小结
  8. L1,a private conversation
  9. 2017最新修复福运来完整运营中时时彩源码PC+手机版本功能齐全
  10. maven创建web工程
  11. day6-基础函数的学习(一)
  12. shell中的输出重定向
  13. 【轻松前端之旅】<a>元素妙用
  14. 2-4 完整Todolist案例
  15. MySQL数据类型--与MySQL零距离接触2-11MySQL自动编号
  16. delphi判断.net FrameWork是否已安装
  17. Tomcat 部署一工程时Deploy Location 为什么 是 INVALID
  18. word2vec原理CBOW与Skip-Gram模型基础
  19. 如何用webgl(three.js)搭建不规则建筑模型,客流量热力图模拟
  20. Deep Residual Learning for Image Recognition论文笔记

热门文章

  1. swift 2中关键字和解释整理
  2. 【转载】FaceBook - How to add a Privacy Policy to your Apps?
  3. MVC5笔记【一】
  4. BZOJ2141: 排队
  5. kettle新建资源库(4)
  6. BestCoder Round #86 A B C
  7. [FBA]SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用
  8. F - 小晴天老师系列——苹果大丰收
  9. DLNA
  10. Objective-C和Swift实现单例的几种方式