windows – glext.h的问题
当我找到
something that now has me scared to use
glext.h 时,我只是在浏览OS X Lion上的OpenGL更新.
所以,这是错误. Lion的OpenGL.framework有一个glext.h,其定义如下. typedef void *GLhandleARB; 但是来自OpenGL注册表的glext.h具有以下内容. typedef unsigned int GLhandleARB; 现在,问题是当在Lion上构建x86_64时,我们有sizeof(void *)== 8,但sizeof(unsigned int)== 4.那么你信任什么?狮子头?还是OpenGL注册表的标题?嗯,当然你信任系统头,因为显然他们声称知道64位Lion上的ABI有64位GLhandleARB类型. 现在,这引发了一些关于各种平台的问题: >如果你必须使用Apple的glext.h,但Apple的glext.h不提供访问OpenGL 2.1之后的任何内容,那么你如何获得更新卡上的3.0功能呢? 解决方法
我觉得没问题.
只需使用OS /驱动程序提供的标题. 或者更好地使用多平台OpenGL扩展加载器,这将为您提供帮助. (例如 GLEW) 另一方面,在代码中你将只使用GLhandleARB,而不是其他东西,所以在Mac上它将是无效的* – 没问题,在Linux上 – 不同的东西 – 没有问题,在带有AMD标题的Linux上 – 完全不同的东西 – 没问题. 源代码可以跨不同平台移植,而不是二进制文件,因此我认为这里没有问题. 1)如果您使用Apple提供的版本,则无法获得更好的OpenGL.所以目前你可以在10.7上获得最大的OpenGL 3.2核心配置文件. (听说Nvidia在某些gpus上使用自己的标题用OpenGL 3.3绕过它,但是我自己无法检查它). 2)这取决于.如果你的目标是OpenGL 2.1及以下,开源驱动程序支持它,但只有专有驱动程序支持更高版本,所以你应该使用它们的标题. 3)不知道Win上的情况如何.但是供应商可能会使用OpenGL注册表中的glext. 但所有这些都是基于错误的假设.你不必知道他们的答案.只需使用已经知道如何处理这种负担的软件. (例如,GLEW). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows下使用service.bat安装tomcat服务, 启动停止tomcat服
- 在远程Windows服务器上设置Git存储库?
- 普通二进制格式(.bin)和Windows可执行文件(.exe)之间有什么
- windows-server-2008 – TS(RD)网关身份验证问题“登录尝试
- windows-server-2008-r2 – Exchange如何与DC集成
- windows-vista – 在Windows中打开演示模式?
- 用Win2003?server打造安全的个人Web服务器
- xaml – 如何在uwp应用程序上正确启用dpi-scaling
- 2003服务器A级BT安全配置指南(1/3)
- 14.4 window.name