首页 / 知识
关于glew:在Windows上使用OpenGL扩展
2023-04-12 09:54:00

Using OpenGL extensions On Windows我想使用OpenGL扩展中公开的功能。 我在Windows上,该怎么做? 简单的解决方案:使用GLEW。看看这里如何。
硬解: 确定您要使用的OpenGL扩展和扩展API。 OpenGL扩展注册表中列出了OpenGL扩展。
检查您的图形卡是否支持您要使用的扩展名。如果是这样,那么您的工作就快完成了!下载并安装适用于您的图形卡的最新驱动程序和SDK。
您的图形卡制造商会提供glext.h头文件(或类似名称的头文件),其中包含使用受支持的OpenGL扩展所需的所有声明。 (请注意,并非所有扩展名都受支持。)可以将该头文件放在编译器可以选择的位置,也可以将其目录包含在编译器的包含目录列表中。
在代码中添加 打开glext.h,找到您要使用的API并获取其相应的看上去丑陋的声明。
这意味着您的头文件具有2种形式的API声明。一种是类似wgl的丑陋函数指针声明。另一个是理智的函数声明。 对于您希望使用的每个扩展API,在函数名称的代码声明中添加外观难看的字符串。
尽管看起来很丑,但是我们要做的只是声明与扩展API对应类型的函数指针。 使用其应有的函数初始化这些函数指针。这些功能由库或驱动程序公开。我们需要使用wglGetProcAddress()函数来执行此操作。
不要忘记检查函数指针是否为NULL。如果偶然wglGetProcAddress()找不到扩展函数,它将使用NULL初始化指针。
就是这样,我们完成了!现在,您可以像使用函数调用一样使用这些函数指针。
参考:Dave Astle撰写的超越Windows的OpenGL 1.1 —本文有点陈旧,但是包含了您需要了解为什么Windows上存在这种可悲情况以及如何解决它的所有信息。 不使用GLEW的"非常有力的理由"可能是您的编译器/ IDE不支持该库。例如:Borland C ++ Builder。 在这种情况下,您可能想从源代码重建库。如果可行,那就太好了,否则手动扩展名的加载并没有听起来那么糟糕。 GL3W是一个公共领域脚本,它创建一个仅加载OpenGL 3/4核心功能的库。可以在github上找到它: https://github.com/skaslev/gl3w GL3W需要Python 2.6才能为OpenGL生成库和头文件;在那之后不需要Python。 @Kronikarz:从外观上看,GLEW似乎是未来的方式。 NVIDIA已经将其与OpenGL SDK一起提供。最新版本是2007年的GLEE,而2006年是GLEE。 但是,这两个库的用法对我来说几乎相同。 (GLEW有一个init(),但需要在其他任何东西之前调用。)因此,除非发现GLEE不支持某些扩展名,否则无需切换。 |
最新内容
相关内容
python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。python函数与方法的区别是什么
python函数与方法的区别是什么,培训,函数,方法,区别,对象,以上,方式,更多,内容,python中函数和方法的区别1、函数要手动传self,方法不用传selpython字符串切片的方法是什么
python字符串切片的方法是什么,培训,字符串,索引,切片,开头,方括号,时候,方法,冒号,首尾,获取Python字符串中的某字符可以使用索引:lang=pythopython子类怎么调用父类方法
python子类怎么调用父类方法,培训,代码,初始化,方法,函数,示例,时调,定义,对象,以上,python中类的初始化方法是__init__(),因此父类子类的初始python类自带方法吗
python类自带方法吗,培训,方法,里面,实例,也就是说,下面,对象,以上,之后,参数,python中的类,创建好之后,里面是没有方法的,也就是说,类并没有自带python子类可以调用父类方法吗
python子类可以调用父类方法吗,培训,名称,资料,情况,地方,函数,参数,方法,表示,语句,python中的子类中的__init__()函数会覆盖父类的函数,一些python静态方法怎么使用self
python静态方法怎么使用self,培训,管理,不了,方法,静态,属性,实例,变量,对象,参数,python-静态方法,类方法,属性方法静态方法实际上与类(或者实python魔术方法是什么
python魔术方法是什么,培训,通信,设计,第一,第三,数据,方法,实例,对象,参数,1、什么是魔术方法魔法方法就是可以给你的类增加魔力的特殊方法,python怎么调用实例方法
python怎么调用实例方法,代码,培训,方法,对比,参数,实例,空间,变量,定义,函数,在Python的类体中定义的方法默认都是实例方法,也示范了通过对象python怎么理解Python的构造方法
python怎么理解Python的构造方法,代码,名字,培训,方法,参数,对象,以上,结尾,函数,开头,在创建类时,我们可以手动添加一个__init__()方法,该方法python不支持next方法吗
python不支持next方法吗,异常,培训,项目,方法,对象,元素,参数,函数,语法,文件,Python3中的File对象不支持next()方法。Python3有一个内置函数