OpenGL基础篇-实用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenGL基础篇-实用

OpenGL基础篇 OPENGL怎么用] OPENGL编程类似C编程,实际接口就是C,所以熟悉C是必要的 一般编程可用到的函数库包括: OPENGL实用库:函数以glu开头 OPENGL辅助库:函数以aux开头 Windows专用函数库:函数以wgl开头 Win32API:无专用前缀OPENGL中有115个核心函数,可以在任何OPENGL平台上使用OPENGL实用库比上面这115个函数高一级,提供高级调用 OPENGL辅助库本来是提供初学者入门的函数,不保证在任何平台的使用 但恰好可以在WIN32下使用,所以本讲座将大量引用WIN32下OPENGL编程有两个方便途径: 1使用辅助库 2使用C++基于消息驱动的编程 显然1要简单一些,入门从这里开始吧[用之前的准备]1 首先你需要下列*.lib包含在你的工程中: opengl32.lib glu32.lib glaux.lib 本讲座所有例子“将”在VC5下调试通过,所以从 project-setting-link-general-object/libary modules 中加入上面三个*.lib (这些LIB,VC4以上版本已经自带,加入即可,不用在四处搜寻文件)另外在你的运行程序路径下或\win95\system\下你需要一些*.dll动态连接库 opengl32.dll glu32.dll rxddi.dll mga.drv[编程入门]这里我将给出一个小例子让大家熟悉用辅助库的编程结构// GLOS.H ////////////////////////////////////////////////////////// // This is an OS specific header file //判别操作系统的基本头文件#include windows.h // disable data conversion warnings #pragma warning(disable : 4244) // MIPS #pragma warning(disable : 4136) // X86 #pragma warning(disable : 4051) // ALPHA ////////////////////////////////////////////////////////// //opengl.cpp //主程序 #include glos.h #include GL/gl.h #include GL/glaux.h #include windows.h void main(void) { /*初始化:*/ auxInitDisplayMode(AUX_SINGLE|AUX_RGBA); //窗口显示单缓存和RGB(彩色)模式 auxInitPosition(0,0,500,500); //大小x=500 y=500 (0,0)是屏幕左上点 auxInitWindow(sample1); //窗口初始化,参数是标题 glClearColor(0.0,0.0,0.0,0.0); //将窗口清为黑色 glClear(GL_COLOR_BUFFER_BIT); //将颜色缓存清为glClearColor命令所设置的颜色 //即背景色/*绘图*/ glColor3f(1.0,0.0,0.0); //选颜色(R,G,B),参数0x1,这里就是红色 glRectf(-0.5,-0.5,0.5,0.5); //画个方块glFlush(); //强制绘图,不驻留缓存 _sleep(1000); //windows函数,显示1秒(单位是毫秒)//end of sample 根据注释,应该看出程序功能:显示红色方块(2D)一秒钟。 主程序结构不外乎: 初始化 + 绘图 + 其它功能调用,现在不用过分追究函数细节,知道是干什么的就可以乐,好吗? 我想结束本节前让大家实现第一个3D的例子,很简单而且好看的,但是我们必须被迫不得不多学些东东:OPENGL函数、变量命名准则变量: 前缀 类型 对应C变量 b 8-bit int signed char s 16-bit int short i 32-bit int long f 32-bit float float d 64-bit float double ub 8-bit unsigned int unsigned char us 16-bit unsigned int unsigned short ui 32-bit unsigned int unsigned long 例如1.0f实际就是1.0,一般写成1.0f看上去好辨认一些函数: 函数参数类型作为函数后缀 例如:glVertex2i(2,4)表明是opengl基本函数(g

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档