OpenGL开发版本问题讨论

    我们说的OpenGL版本有两个概念:第一个是指电脑显卡支持的OpenGL版本,用如下代码可以测试你当前电脑的OpenGL版本:

#include<Windows.h>
#include <stdio.h>
#include <gl/GLUT.H>

int main(int argc, char** argv)
{
	glutInit(&argc,argv);
	//显示模式初始化
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
	//定义窗口大小
	glutInitWindowSize(300,300);
	//定义窗口位置
	glutInitWindowPosition(100,100);
	//创建窗口
	glutCreateWindow("OpenGL Version");
	const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
	const GLubyte* Identifier = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
	const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
	const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
	printf("OpenGL实现厂商的名字:%s\n", name);
	printf("渲染器标识符:%s\n", Identifier);
	printf("OpenGL实现的版本号:%s\n",OpenGLVersion );
	printf("GLU工具库版本:%s\n", gluVersion);

	return 0;
}
当然,这个未必是你的显卡支持的最高版本,别忘了,有可能你的显卡驱动不够新,那么就赶紧更新显卡驱动吧,看看咱们的电脑显卡到底最高能支持什么版本的OpenGL。

    第二个就是操作系统支持的OpenGL版本,由于我是在Windows下进行开发的,本文都围绕这个系统讨论的。我们知道microsoft有D3D(Direct3D),所以可想而知对于OpenGL的发展,肯定不会那么配合,所以支持的OpenGL版本不是很高,像我用的是Windows 32位系统,目前只是支持OpenGL1.1版本。所以此时,即使我们的显卡支持OpenGL 4.0也是徒劳的,因为你无法直接使用4.0里面的函数,看到前面那个直接了吗?为什么用蓝色标识出来呢?O(∩_∩)O~,别急,还是有其他办法的。

    这时候该GLUT和GLEW两个扩展库登场了(当然,不止这两个扩展库,还有其他,例如glee,glu……),我们通过这两个扩展库,就可以不受windows的卑鄙约束了,这时候,只要你的显卡能支持到的版本,都可以用。最新的GLEW库好像是1.9版的,能支持最新的OpenGL版本。我有上传资源,有需要的可以到这个链接下载(完全OpenGL库)。至于怎么配置很简单,跟我们使用OpenGL的其他库一样配置就行,需要注意的是使用glew库需要初始化,调用glewInit()函数初始化即可。


vtk7.0-qt5.7的 32位开发包,由cmake生成vs2015项目文件后编译出来,包含 bin, cmake, include, lib, plugins, share 6个子目录 (前面一个是错的,把openglopengl2了,这个才是正确的opengl2) 顺便提一下,qt pro文件中这样引入vtk: INCLUDEPATH += $$PWD C:/vtk/VTK-7.0/x86-release/include/vtk-7.0 LIBS += -LC:/vtk/VTK-7.0/x86-release/lib/ \ -lvtkalglib-7.0 \ -lvtkChartsCore-7.0 \ -lvtkCommonColor-7.0 \ -lvtkCommonComputationalGeometry-7.0 \ -lvtkCommonCore-7.0 \ -lvtkCommonDataModel-7.0 \ -lvtkCommonExecutionModel-7.0 \ -lvtkCommonMath-7.0 \ -lvtkCommonMisc-7.0 \ -lvtkCommonSystem-7.0 \ -lvtkCommonTransforms-7.0 \ -lvtkDICOMParser-7.0 \ -lvtkDomainsChemistry-7.0 \ -lvtkDomainsChemistryOpenGL2-7.0 \ -lvtkexoIIc-7.0 \ -lvtkexpat-7.0 \ -lvtkFiltersAMR-7.0 \ -lvtkFiltersCore-7.0 \ -lvtkFiltersExtraction-7.0 \ -lvtkFiltersFlowPaths-7.0 \ -lvtkFiltersGeneral-7.0 \ -lvtkFiltersGeneric-7.0 \ -lvtkFiltersGeometry-7.0 \ -lvtkFiltersHybrid-7.0 \ -lvtkFiltersHyperTree-7.0 \ -lvtkFiltersImaging-7.0 \ -lvtkFiltersModeling-7.0 \ -lvtkFiltersParallel-7.0 \ -lvtkFiltersParallelImaging-7.0 \ -lvtkFiltersProgrammable-7.0 \ -lvtkFiltersSelection-7.0 \ -lvtkFiltersSMP-7.0 \ -lvtkFiltersSources-7.0 \ -lvtkFiltersStatistics-7.0 \ -lvtkFiltersTexture-7.0 \ -lvtkFiltersVerdict-7.0 \ -lvtkfreetype-7.0 \ -lvtkGeovisCore-7.0 \ -lvtkglew-7.0 \ -lvtkGUISupportQt-7.0 \ -lvtkGUISupportQtSQL-7.0 \ -lvtkhdf5_hl-7.0 \ -lvtkhdf5-7.0 \ -lvtkImagingColor-7.0 \ -lvtkImagingCore-7.0 \ -lvtkImagingFourier-7.0 \ -lvtkImagingGeneral-7.0 \ -lvtkImagingHybrid-7.0 \ -lvtkImagingMath-7.0 \ -lvtkImagingMorphological-7.0 \ -lvtkImagingSources-7.0 \ -lvtkImagingStatistics-7.0 \ -lvtkImagingStencil-7.0 \ -lvtkInfovisCore-7.0 \ -lvtkInfovisLayout-7.0 \ -lvtkInteractionImage-7.0 \ -lvtkInteractionStyle-7.0 \ -lvtkInteractionWidgets-7.0 \ -lvtkIOAMR-7.0 \ -lvtkIOCore-7.0 \ -lvtkIOEnSight-7.0 \ -lvtkIOExodus-7.0 \ -lvtkIOExport-7.0 \ -lvtkIOGeometry-7.0 \ -lvtkIOImage-7.0 \ -lvtkIOImport-7.0 \ -lvtkIOInfovis-7.0 \ -lvtkIOLegacy-7.0 \ -lvtkIOLSDyna-7.0 \ -lvtkIOMINC-7.0 \ -lvtkIOMovie-7.0 \ -lvtkIONetCDF-7.0 \ -lvtkIOParallel-7.0 \ -lvtkIOParallelXML-7.0 \ -lvtkIOPLY-7.0 \ -lvtkIOSQL-7.0 \ -lvtkIOVideo-7.0 \ -lvtkIOXML-7.0 \ -lvtkIOXMLParser-7.0 \ -lvtkjpeg-7.0 \ -lvtkjsoncpp-7.0 \ -lvtklibxml2-7.0 \ -lvtkmetaio-7.0 \ -lvtkNetCDF_cxx-7.0 \ -lvtkNetCDF-7.0 \ -lvtkoggtheora-7.0 \ -lvtkParallelCore-7.0 \ -lvtkpng-7.0 \ -lvtkproj4-7.0 \ -lvtkRenderingAnnotation-7.0 \ -lvtkRenderingContext2D-7.0 \ -lvtkRenderingContextOpenGL2-7.0 \ -lvtkRenderingCore-7.0 \ -lvtkRenderingFreeType-7.0 \ -lvtkRenderingImage-7.0 \ -lvtkRenderingLabel-7.0 \ -lvtkRenderingLOD-7.0 \ -lvtkRenderingOpenGL2-7.0 \ -lvtkRenderingQt-7.0 \ -lvtkRenderingVolume-7.0 \ -lvtkRenderingVolumeOpenGL2-7.0 \ -lvtksqlite-7.0 \ -lvtksys-7.0 \ -lvtkTestingGenericBridge-7.0 \ -lvtkTestingIOSQL-7.0 \ -lvtkTestingRendering-7.0 \ -lvtktiff-7.0 \ -lvtkverdict-7.0 \ -lvtkViewsContext2D-7.0 \ -lvtkViewsCore-7.0 \ -lvtkViewsInfovis-7.0 \ -lvtkViewsQt-7.0 \ -lvtkzlib-7.0 CONFIG += c++11 QT += core gui charts printsupport
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值