OpenGL常见问题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

specification :
– The OpenGL Utility Toolkit (GLUT) Programming Interface (PDF) – OpenGL 2.1 specification (PDF)
book:
– OpenGL Shading Language – Openglredbook
问题 8
进一步的学习资料? web:
– – – – – OpenGL 官方主页:http://www.opengl.org OpenGL 2.1 Reference:http://www.opengl.org/sdk/docs/man GLUT:http://www.opengl.org/resources/libraries/glut/ NEHE的在线GL教程:http://nehe.gamedev.net MFC+OpenGL使用指南: http://www.cnblogs.com/phinecos/articles/834916.html
问题 5
OpenGL的几个常用库的编程风格? 1、基本库( gl.h ): glBegin, glClear, glCopyPixels, GLint 2、 实用函数库( glu.h ) : gluOrtho2D 3、实用函数工具包(glut.h) : glutInit, glutInitWindowsPosition
问题 6
如何使用MFC+OpenGL编程? 解答: 1、演示程序。 2、 MFC下OpenGL编程与控制台程序没有本 质上的差别。 3、详细参考: http://www.cnblogs.com/phinecos/articles/83 4916.html
问题 7
如何循序渐进学习OpenGL? 建议: 1、读已有的程序,在其基础上修改运行, 推荐redbook.zip。 2、读经典的OpenGL教程,推荐 Openglredbook。 3、针对性的研究问题,查阅资料,深入学 习。
所以开发者在VC下可以使用
– #include <gl\gl.h> // Header File For The OpenGL32 Library – #include <gl\glu.h> // Header File For The GLu32 Library – #include <gl\glaux.h>// Header File For The Glaux Library
OpenGL常见问题
OpenGL基本观念(一)
OpenGL是个定义了一个跨编程语言、跨平 台的编程接口的规格,它广泛应用于二、 三维图象的生成。 OpenGL是个专业的图形程序接口,是一个 功能强大,调用方便的底层图形库。 OpenGL仍然是唯一能够取ቤተ መጻሕፍቲ ባይዱ微软对3D图形 技术的完全控制的api。
用VC6.0写一个OpenGL的控制台程序,最少的配置 是哪些步骤? 解答:
在window XP下使用VC6安装GLUT – 下载glutdlls37beta并解压 – 复制glut32.dll和glut.dll到…\windows\system32 – 复制glut.h到...\Microsoft Visual Studio\VC98\Include\GL – 复制glut32.lib和glut.lib到…\Microsoft Visual Studio\VC98\Lib
同时OpenGL也适应别的OS和语言 在OpenGL的基础上还有Open Inventor、 Cosmo3D、Optimizer等多种高级图形库,适 应不同应用。可跟据需要下载相关的开发 包。
问题 4
OpenGL的几个常用库简介: 1、基本库(又称为核心库,对应的头文件 gl.h),用来描述图元、属性、几何变换等。 2、 实用函数库( OpenGL Utility,对应的头 文件glu.h),用来设置观察和投影矩阵等, 可以描述复杂对象,以及完成复杂任务。 3、实用函数工具包( OpenGL Utility Toolkit, 对应的头文件glut.h),提供了与任意屏幕 窗口系统进行交互的函数库。
#include <GL/glut.h>
void renderScene(void) { //绘制一个简单的二维的三角形 glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,0.0,0.0); glBegin(GL_TRIANGLES); //GL_LINE_STRIP glVertex3f(-0.5,-0.5,0.0); glVertex3f(0.5,0.0,0.0); glVertex3f(0.0,0.5,0.0); glEnd(); glFlush(); } void main(int argc, char **argv) { glutInit(&argc, argv); //初始化glut glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); //设置窗口的模式-深度缓存,单缓存,颜色模型 glutInitWindowPosition(100,100); //设置窗口的位置 glutInitWindowSize(320,320); //设置窗口的大小 glutCreateWindow("3D Tech- GLUT Tutorial"); //创建窗口并赋予title glutDisplayFunc(renderScene);//调用renderScene把绘制传送到窗口 glutMainLoop(); //进入循环等待 }
参考资料
http://www.8ttt8.com/jishu/w8207.htm http://www.cnblogs.com/phinecos/articles/83 4916.html http://baike.baidu.com/view/9222.htm
问题 2
在没使用GLUT的情况下, 在VC6.0下如何配置 OpenGL? 解答:
1. 在你文件头加上
#include <gl\gl.h> #include <gl\glu.h> #include <gl\glaux.h>
2. 进入Project菜单,选Settings项,弹出 Settings 对话框, 选Link项,在 Libraries 栏目中加入OpenGL库: opengl32.lib glu32.lib glaux.lib
问题 3
GL的平台简介: 基于OpenGL标准开发的应用程序必须运行于32位Windows 平台下,如WindowsNT或Windows95环境;而且运行时还需有动态 链接库OpenGL32.DLL、Glu32.DLL,一般在…\WINDOWS\system32里面 (注:window2000以上系统均带有OPENGL32.DLL和glu32.dll)
一般来说,VC6和VS.NET里面就带有GL的基本库
– VC6:…\Microsoft Visual Studio\VC98\Include\GL – VS.NET.2005:…\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
– 一般是Gl.h,Glaux.h,Glu.h – Lib里也有:OpenGL32.lib,GLu32.lib,GLaux.lib
OpenGL基本观念(二)
OpenGL被设计为只有输出功能的,所以它 只提供渲染功能。 核心api没有窗口系统、音频、打印、键盘/ 鼠标或其它输入设备的概念。 但是它允许进行渲染的代码完全独立于它 运行的操作系统,允许跨平台开发。 GLUT库能够以可移植的方式提供基本的窗 口功能。
问题 1
相关文档
最新文档