glGetString(GL_VERSION)、 glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max)为何老是得不到正确的值

今天碰到了的问题如下,

在程序里调用:

printf("%s.\r\n", glGetString(GL_VERSION));
总是输出(null).

glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max)得不到max的值。


答:在MFC情况下,那就只有在成功调用wglMakeCurrent()后再调用glGetString(GL_VERSION)才可以返回正确的值。

 如果在非MFC情况下,在glGetString之前,先调用glutInit与glutCreateWindow,就可以返回正确的值。


问题的本质原因都是在于:在你调用这些gl函数之前,你需要初始化渲染的上下文(rendering context)!!!


可以参考:http://tech.groups.yahoo.com/group/opengl-gamedev-l/message/10613

原帖:http://topic.csdn.net/u/20090724/16/c00268be-7575-4985-b946-5a478891aafb.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值