OpenGL(二)

来源:互联网 发布:守望先锋数据app 编辑:程序博客网 时间:2024/05/01 09:43

OpenGL(二)

简介

  1. OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
  2. Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广为各家显示卡所支援。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一。现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。但它也有缺陷,由于是以COM接口形式提供的,所以较为复杂,稳定性差,另外,目前只在Windows平台上可用
  3. Vulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯组织在2015年游戏开发者大会(GDC)上发表。科纳斯最先把VulkanAPI称为“次世代OpenGL行动”或“glNext”,但在正式宣布Vulkan之后这些名字就没有再使用了。就像OpenGL,Vulkan针对实时3D程序(如电子游戏)设计,Vulkan并计划提供高性能和低CPU管理负担(overhead),这也是Direct3D12和AMD的Mantle的目标。Vulkan兼容Mantle的一个分支,并使用了Mantle的一些组件。

  4. OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

OpenGL官方网站
www.opengl.org
GLUT - The OpenGL Utility Toolkit
GLUT代表OpenGL应用工具包(OpenGL Utility Toolkit),是一个与窗口系统无关的工具包。它作为AUX库的功能更强的替代品,用于隐藏不同窗口系统API的复杂性。GLUT的子程序的前缀使用”glut”。目前,GLUT更新到了3.70(2000年左右的代码,生命力仍然顽强…)。
感兴趣的可以下载GLUT源码,这里只介绍GLUT库。下载链接
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
下载后解开压缩包,里面有五个文件:
glut.h,
glut.lib,
glut32.lib,
glut.dll,
glut32.dll。
要想在VS2010中使用GLUT,下面的配置方法是比较常用的方法:

glut.h –> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl

glut.dll,glut32.dll —> C:\Windows\SysWOW64 (windows7 64位操作系统)
———————–> C:\Windows\System32 (windows7 32位操作系统)

glut.lib,glut32.lib –> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
另外一种方法(未测试):
1. glut.h放到”C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl”(与具体安装位置有关,应该是 安装目录\microsoft sdks\windows\v7.0A\include\gl)
2. glut.lib和glut32.lib放到”“Programfiles(x86)\Microsoft Visual studio 10.0\VC\lib” 中(与具体安装位置有关,同上)
3. glut.dll放到”C:\Windows\System32”
4. glut32.dll放到“Programfiles(x86)\Microsoft Visual studio 10.0\VC\bin”下(注意这个,网上有人说放到system32里,但是我试过,会报错)(与具体安装位置有关,同上)
5. 打开vs2010,随便打开或新建一个项目。 选择 project->project property-> Configuration Properties->Linker->Input->Additional Dependencies 在其中添加opengl32.lib glu32.lib glut32.lib
另一种说法(未测试):
glut.dll应放在c:\windows\System32下,可是Win7和Visual2008及2010以上版本或许会不兼容(报错),这原因就是因为glut在win7环境下已经不兼容,并且vs也不自带此包,具体应该放在c:\windows\SysWOW64文件夹下。运行出错时如果提示缺少的是glut32.dll则拷贝glut32.dll到sysWOW64

示例代码

    #include <gl\glut.h>       void myDisplay(void)       {           glClear(GL_COLOR_BUFFER_BIT);           glRectf(-0.5f, -0.5f, 0.5f, 0.5f);           glFlush();       }       int main(int argc, char *argv[])       {           glutInit(&argc, argv);           glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);           glutInitWindowPosition(100, 100);           glutInitWindowSize(400, 400);           glutCreateWindow("第一个OpenGL程序");           glutDisplayFunc(&myDisplay);           glutMainLoop();           return 0;       }  
0 0
原创粉丝点击