Win10下配置OpenGL编程指南(第8版)例1.1的一些问题

VS平台的选择

机器上装的是Windows 10,微软推荐的VS版本是2013以上,于是就下了个vs2015 community,使用过程中发现了两个问题,一个书里的示例的库版本和VS的会冲突,需要忽略libcmtd.lib才能正常编译,另外还有一个问题是当程序崩溃之后,15版本的VS会有一定概率的不响应,只能杀掉重启,不知道是我机器问题还是VS的问题,这点挺烦人的,于是换上了vs2013 community,到现在为止一切OK。有一点需要提一下的是在拆卸vs2015后,vs2013装不上,经过排查是.Net 4.5.1导致的,拆掉之后安装正常。

vs2013汉化问题

从官网下载的vs2013 community是英文版本的,他的下载链接下发有提供一个中文语言包,安装完VS之后直接运行语言包会提示打开了程序兼容模式,安装失败。这里有个办法,就是创建一个快捷方式,然后在目标栏的最后添 -Uninstall,运行之,启动修复模式,中间会提示好几次缺少包,点跳过就是了。

函数指指针为空问题

新建项目,编译成功之后(具体操作),出现了一个空函数指针的错误
空指针

经过多次测试,发现是指定OpenGL的版本导致的:

    glutInitContextVersion(4, 3);
    glutInitContextProfile(GLUT_CORE_PROFILE);

如果把版本改成3.1或以下,运行正常,一开始以为是显卡不支持高版本的GL导致的,使用glewinfo.exe查询了一下,发现不是显卡的原因。
这里写图片描述

从glew返回的信息来看,最高都支持到了4.5了,4.3应该是支持的。经过查找,问题出在这儿:
http://stackoverflow.com/questions/30061443/opengl-glgenvertexarrays-access-violation-executing-location-0x00000000
解决方法是在glewInit()之前添加一句代码

    glewExperimental = true;
    if (glewInit())
    ...

具体的原因在链接里说的很明白了。

画不出东西问题

OpenGL3.1之后,都需要指定至少两个着色器,所以要把代码里的两个着色器放到程序目录里。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值