OpenGL(二)
2016-04-01 19:23
330 查看
OpenGL(二)
简介OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
Direct3D(简称:D3D)是微软公司在Microsoft Windows操作系统上所开发的一套3D绘图编程接口,是DirectX的一部分,目前广为各家显示卡所支援。与OpenGL同为电脑绘图软体和电脑游戏最常使用的两套绘图编程接口之一。现在几乎所有的具有3D图形加速的主流显示卡都对Direct3D提供良好的支持。但它也有缺陷,由于是以COM接口形式提供的,所以较为复杂,稳定性差,另外,目前只在Windows平台上可用。
Vulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯组织在2015年游戏开发者大会(GDC)上发表。科纳斯最先把VulkanAPI称为“次世代OpenGL行动”或“glNext”,但在正式宣布Vulkan之后这些名字就没有再使用了。就像OpenGL,Vulkan针对实时3D程序(如电子游戏)设计,Vulkan并计划提供高性能和低CPU管理负担(overhead),这也是Direct3D12和AMD的Mantle的目标。Vulkan兼容Mantle的一个分支,并使用了Mantle的一些组件。
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; }
相关文章推荐
- 解决Vista系统OpenGL驱动问题的方法整理
- Delphi下OpenGL2d绘图之画四边形的方法
- Delphi下OpenGL2d绘图之画点的方法
- Delphi下OpenGL2d绘图之初始化流程详解
- Delphi使用OpenGL2d绘图之画图片Bmp的方法
- 通过OpenGL ES混合模式缩放视频缓冲区来适应显示尺寸
- VC运用OPENGL加载BMP纹理图的实现方法汇总
- java实现OpenGL ES纹理映射的方法
- java基于OpenGL ES实现渲染实例
- OpenGL坐标系介绍
- 【翻译】安卓opengl ES教程之四——添加颜色
- linux下opengl的安装(with qt)
- OpenGL超级宝典笔记——显示列表
- OpenGL超级宝典笔记——顶点数组
- OpenGL生成轮廓
- OpenGL超级宝典笔记——性能比较
- OpenGL超级宝典笔记——顶点缓冲区对象
- OpenGL超级宝典笔记——选择
- OpenGL超级宝典笔记——反馈
- OpenGL超级宝典笔记——遮挡查询