位置: 编程技术 - 正文

OpenGL学习之API详解(opengl api version)

编辑:rootadmin

推荐整理分享OpenGL学习之API详解(opengl api version),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengles api,opengl openal,opengl示例,opengles api,opengles api,opengl ai,opengl详解,opengl ai,内容如对您有帮助,希望把文章链接给更多的朋友!

转载自 glutDisplayFunc(void (*func)(void));

注册当前窗口的显示回调函数

参数:func:形为void func()的函数,完成具体的绘制操作

这个函数告诉GLUT当窗口内容必须被绘制时,那个函数将被调用.当窗口改变大小或者从被覆盖的状态中恢复,或者由于调用glutPostRedisplay()函数要求GLUT更新时,执行func参数指定的函数. //******************************************************************************************* void glutReshapeFunc(void (*func)(int width, int height));

指定当窗口的大小改变时调用的函数

参数:func:形如void func(int width, int height)处理窗口大小改变的函数.width,height:为窗口改变后长宽.

这个函数确定一个回调函数,每当窗口的大小或形状改变时(包括窗口第一次创建),GLUT将会调用这个函数,这个回调函数接受这个窗口新的长宽作为输入参数. //******************************************************************************************* void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y));

注册当前窗口的键盘回调函数

参数:func:形如void func(unsigned char key, int x, int y)key:按键的ASCII码x,y:当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位

当敲击键盘按键(除了特殊按键,即glutSpecialFunc()中处理的按键,详见glutSpecialFunc())时调用.

//****************************************************************************************** void glutMouseFunc(void (*func)(int button, int state, int x, int y));

注册当前窗口的鼠标回调函数

参数:func:形如void func(int button, int state, int x, int y);button:鼠标的按键,为以下定义的常量 GLUT_LEFT_BUTTON:鼠标左键 GLUT_MIDDLE_BUTTON:鼠标中键 GLUT_RIGHT_BUTTON:鼠标右键 state:鼠标按键的动作,为以下定义的常量 GLUT_UP:鼠标释放 GLUT_DOWN:鼠标按下 x,y:鼠标按下式,光标相对于窗口左上角的位置

当点击鼠标时调用.

//******************************************************************************************void glutMotionFunc(void (*func)(int x, int y));

当鼠标在窗口中按下并移动时调用glutMotionFunc注册的回调函数

void glutPassiveMotionFunc(void (*func)(int x, int y));

当鼠标在窗口中移动时调用glutPassiveMotionFunc注册的回调函数

参数: func:形如void func(int x, int y);x,y:鼠标按下式,光标相对于窗口左上角的位置,以像素为单位

//*******************************************************************************************void glutEntryFunc(void (*func)(int state));

设置鼠标的进出窗口的回调函数

参数:func:形如void func(int state);注册的鼠标进出回调函数 state:鼠标的进出状态,为以下常量之一 GLUT_LEFT 鼠标离开窗口 GLUT_RIGHT 鼠标进入窗口

当窗口取得焦点或失去焦点时调用这个函数,当鼠标进入窗口区域并点击时,state为GLUT_RIGHT,当鼠标离开窗口区域点击其他窗口时,state为GLUT_LEFT.

//******************************************************************************************

void glutVisibilityFunc(void (*func)(int state));

设置当前窗口的可视回调函数

参数:func:形如void func(int state);指定的可视回调函数 state:窗口的可视性,为以下常量 GLUT_NOT_VISIBLE 窗口完全不可见 GLUT_VISIBLE 窗口可见或部分可见

这个函数设置当前窗口的可视回调函数,当窗口的可视性改变时,该窗口的可视回调函数被调用.只要窗口中的任何一个像素是可见的,或者他的任意一个子窗口中任意一个像素是可见的,GLUT则认为窗口是可见的.

//*******************************************************************************************void glutIdleFunc(void (*func)(void));

设置空闲回调函数

参数:func:形如void func(void);

当系统空闲时调用.

//******************************************************************************************* void glutTimerFunc(unsigned int millis, void (*func)(int value), int value);

注册一个回调函数,当指定时间&#;到达后,由GLUT调用注册的函数一次

参数:millis:等待的时间,以毫秒为单位unc:形如void func(int value)value:指定的一个数&#;,用来传递到回调函数func中

这个函数注册了一个回调函数,当指定的毫秒数到达后,这个函数就调用注册的函数,value参数用来向这个注册的函数中传递参数. 但只能触发一次,若要连续触发,则需在func中重新设置计时函数glutTimerFunc();

//*******************************************************************************************void glutMenuStateFunc(void (*func)(int state));

注册菜单状态回调函数

参数:func:形如void func(int state);state: GLUT_MENU_IN_USE:菜单被使用. GLUT_MENU_NOT_IN_USE:菜单不再被使用,即菜单被关闭.如果state代入GLUT_MENU_IN_USE,则当菜单被使用时调用该函数;如果state代入GLUT_MENU_NOT_IN_USE,则当菜单被关闭时调用该函数.

//*******************************************************************************************

void glutMenuStatusFunc(void (*func)(int status, int x, int y));设置菜单状态回调函数参数:func:形如void func(int status, int x, int y); status:当前是否使用菜单,为以下定义的常量 GLUT_MENU_IN_USE:菜单正在使用 GLUT_MENU_NOT_IN_USE:菜单未被使用 x,y:鼠标按下时,光标相对于窗口左上角的位置 这个函数调用时glut程序判定是否正在使用菜单,当弹出菜单时,调用注册的菜单状态回调函数,同时status设置为常量GLUT_MENU_IN_USE,当菜单使用完毕时,也调用菜单状态回调函数,此时status变量变为GLUT_MENU_NOT_IN_USE.从已弹出的菜单中再弹出的菜单不产生菜单状态回调过程.每个glut程序只有一个菜单状态回调函数. 此函数与上面一个函数相比,只是多传了一个光标位置,其他相同.

//*******************************************************************************************void glutSpecialFunc(void (*func)(int key, int x, int y));

设置当前窗口的特定键的回调函数

参数:Func:形如void func(int key, int x, int y);key:按下的特定键,为以下定义的常量 GLUT_KEY_F1:F1功能键 GLUT_KEY_F2:F2功能键 GLUT_KEY_F3:F3功能键 GLUT_KEY_F4:F4功能键 GLUT_KEY_F5:F5功能键 GLUT_KEY_F6:F6功能键 GLUT_KEY_F7:F7功能键 GLUT_KEY_F8:F8功能键 GLUT_KEY_F9:F9功能键 GLUT_KEY_F:F功能键 GLUT_KEY_F:F功能键 GLUT_KEY_F:F功能键 GLUT_KEY_LEFT:左方向键 GLUT_KEY_UP:上方向键 GLUT_KEY_RIGHT:右方向键 GLUT_KEY_DOWN:下方向键 GLUT_KEY_PAGE_UP:PageUp键 GLUT_KEY_PAGE_DOWN:PageDown键 GLUT_KEY_HOME:Home键 GLUT_KEY_END:End键 GLUT_KEY_INSERT:Insert键x,y:当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位

注意:ESC,回车和delete键由ASCII码产生,即可以用glutKeyboardFunc()处理. 当在键盘上敲击上述按键时调用该函数.注意与glutKeyboardFunc()的区别.

//*******************************************************************************************

void glutSpaceballMotionFunc(void (*func)(int x, int y, int z));

注册一个当前窗口的spaceball平移的回调函数

参数:func:形如void func(int x, int y, int z);x,y,z:spaceball的三维空间坐标.paceball即一种特殊的带3D滚轮的鼠标,不仅可以前后转动,更可以在三维空间里滚动,具体图片,可以在百度里搜索.

OpenGL学习之API详解(opengl api version)

当spaceball在当前注册的窗口内平移时,调用该函数.

//*******************************************************************************************void glutSpaceballRotateFunc(void (*func)(int x, int y, int z));

注册一个当前窗口的spaceball转动的回调函数

参数:func:形如void func(int x, int y, int z);当spaceball在当前注册的窗口内滚动时调用.

//*******************************************************************************************

void glutSpaceballButtonFunc(void (*func)(int button, int state));

注册当前窗口的spaceball的按键回调函数.

参数:func:形如void func(int button, int state);button:按键编号,从1开始,可用的按键编号可以通过glutDeviceGet(GLUT_NUM_SPACEBALL_BUTTONS)查询.state:按键状态 GLUT_UP:按键释放 GLUT_DOWN:按键按下

当spaceball在当前窗口中敲击相应的按键时调用.

//*******************************************************************************************

void glutButtonBoxFunc(void (*func)(int button, int state));

注册当前窗口的拨号按键盒按键回调函数

参数:func:形如void func(int button, int state);button:按键编号,从1开始,可用的按键号可通过glutDeviceGet(GLUT_NUM_BUTTON_BOX_BUTTONS)查询state:按键状态 GLUT_UP:按键释放 GLUT_DOWN:按键按下

当拨号按键盒按键被按下时调用.

//*******************************************************************************************

void glutDialsFunc(void (*func)(int dial, int value));

注册当前窗口的拨号按键盒拨号回调函数.

参数:func:形如void func(int dial, value);dial:dial的编号,从1开始,可通过glutDeviceGet(GLUT_NUM_DIALS)查询可用编号.value:dial所拨的&#;,value是每次所拨的&#;的累加,直到溢出.

当拨号按键盒拨号时被调用.

//*******************************************************************************************void glutTabletMotionFunc(void (*func)(int x, int y));

注册图形板移动回调函数

参数:func:形如void func(int x, int y);x,y:图形板移动的坐标.

当图形板移动时调用.

//******************************************************************************************void glutTabletButtonFunc(void (*func)(int button, int state, int x, int y));

注册当前窗口的图形板按键回调函数

参数:func:形如void func(int button, int state, int x, int y);button:按键号,通过glutDeviceGet(GLUT_NUM_TABLET_BUTTONS)查询可用键号.state:按键状态. GLUT_UP:按键被按下 GLUT_DOWN:按键被释放

x,y:当按键状态改变时,相对于窗口的坐标.

//******************************************************************************************void glutOverlayDisplayFunc(void (*func)(void));

注册当前窗口的重叠层的显示回调函数

参数:func:形如void func(void);指向重叠层的显示回调函数.

这个函数告诉GLUT当窗口内容必须被绘制时,那个函数将被调用.当窗口改变大小或者从被覆盖的状态中恢复,或者由于调用glutPostOverlayRedisplay()函数要求GLUT更新时,执行func参数指定的函数.

//*******************************************************************************************

void glutWindowStatusFunc(void (*func)(int state));

注册当前窗口状态的回调函数.

参数:func:形如void func(int state);state:窗口状态. GLUT_HIDDEN:窗口不可见 GLUT_FULLY_RETAINED:窗口完全未被遮挡 GLUT_PARTIALLY_RETAINED:窗口部分遮挡 GLUT_FULLY_COVERED:窗口被全部遮挡

当窗口状态发生相应改变时调用.

//*******************************************************************************************

void glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y));

注册释放普通按键的回调函数

参数:func:形如void func(unsigned char key, int x, int y);key:按键的ASCII码.x,y:释放按键时鼠标相对于窗口的位置,以像素为单位.

当普通按键被释放时调用.

//*******************************************************************************************

void glutSpecialUpFunc(void (*func)(int key, int x, int y));

注册释放特殊按键的回调函数

参数:func:形如void func(int key, int x, int y);key:特殊按键的标识 GLUT_KEY_F1:F1功能键 GLUT_KEY_F2:F2功能键 GLUT_KEY_F3:F3功能键 GLUT_KEY_F4:F4功能键 GLUT_KEY_F5:F5功能键 GLUT_KEY_F6:F6功能键 GLUT_KEY_F7:F7功能键 GLUT_KEY_F8:F8功能键 GLUT_KEY_F9:F9功能键 GLUT_KEY_F:F功能键 GLUT_KEY_F:F功能键 GLUT_KEY_F:F功能键 GLUT_KEY_LEFT:左方向键 GLUT_KEY_UP:上方向键 GLUT_KEY_RIGHT:右方向键 GLUT_KEY_DOWN:下方向键 GLUT_KEY_PAGE_UP:PageUp键 GLUT_KEY_PAGE_DOWN:PageDown键 GLUT_KEY_HOME:Home键 GLUT_KEY_END:End键 GLUT_KEY_INSERT:Insert键x,y:释放特殊按键时鼠标相对于窗口的位置,以像素为单位.

当特殊按键被释放时调用.

//****************************************************************************************** void glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);

注册操纵杆的回调函数

参数:buttonMask:操纵杆按键GLUT_JOYSTICK_BUTTON_AGLUT_JOYSTICK_BUTTON_BGLUT_JOYSTICK_BUTTON_CGLUT_JOYSTICK_BUTTON_Dx,y,z:操纵杆在三维空间内移动的位移量pollInterval:确定检测操纵杆的间隔时间,其单位为毫秒.

该函数在两种情况下被调用:1.在pollInterval所规定的时间间隔内调用.2.在调用glutForceJoystickFunc()函数时调用一次glutJoystickFunc();//*******************************************************************************************

Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0. 在移植QT5到IMX6Qlinux平台时,一次又一次的升级,带来了一些明显的性能提升,这说明在嵌入式上,QT底层对OpenGLegl的优化做的越来越好,越来越兼容.在Qt5.1-Qt5.2

OpenGL OpenGL(OpenGraphicsLibrary)定义了一个跨编程语言、跨平台的编程接口规的专业的图形程序接口。它用于二维和三维图像,是一个底层图形库。OpenGLES(OpenGLforEm

OpenGL 输出中文 英文 数字 OpenGL输出中文英文数字将文字以轮廓与点形式表现

标签: opengl api version

本文链接地址:https://www.jiuchutong.com/biancheng/373158.html 转载请保留说明!

上一篇:使用着色器模拟雾效果(着色器模型)

下一篇:Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0.15

  • 个人所得税人员信息采集验证不通过
  • 企业所得税税款可以税前扣除吗
  • 使用权资产和租赁负债的计税基础
  • 公司食堂辅助账怎么记账
  • 未投入使用的固体废物
  • 一般纳税人金税盘抵税会计分录
  • 个体户开票超过500万能注销吗
  • 企业购置房产进项被折旧怎么处理
  • 个别计价法和先进先出法举例
  • 加计扣除进项税账务处理
  • 其他现代服务业能开哪些税目
  • 农产品收购发票可以跨区域开吗
  • 公司名称变更发票还能认证吗
  • 出口退税逾期申报,需申报出口货物收汇情况表
  • 死账呆账的处理程序
  • 总分包外地施工怎样预缴税款?
  • 付给私人股权转让权怎么做分录?
  • 清洁服务经营范围有哪些
  • 餐费适用税率
  • 餐饮消费,碰到商家不愿意开发票怎么办?
  • 西部大开发政策2020到期
  • 企业计算缴纳所得税标准
  • 无票收入冲回会计分录
  • 库存现金盘点发现现金多怎么处理
  • 销售返利是冲减收入还是做销售费用
  • 什么情况下个税税率是10%
  • 光纤熔接发票属什么类别
  • 利润表有盈利能力吗
  • 一般纳税人免税申报表怎么填
  • 自营出口与委托代理哪个划算
  • 判决公告费应计入哪个科目?
  • 个人所得汇算清缴是什么
  • 笔记本电池保养注意事项
  • 重复确认收入是什么意思
  • macbookpro安装dmg
  • 苹果手机系统升级后电量消耗快
  • 金融资产的会计处理方法
  • 提供劳务收入如何核算
  • 银行发行债券要求
  • 投资收益会计准则
  • 大数据可视化前端界面模板
  • h5链接js
  • 杀疯了出自哪里
  • PHP magento后台无法登录问题解决方法
  • 开会旅游的费用怎么算
  • 专票认证对企业有影响吗
  • 学电脑网站
  • ubuntu卸载ubuntu-desktop
  • 公司废料收入如何开票
  • 进项税额转出和红字冲销区别
  • 什么是营业净利率计算公式
  • 给保安买大衣算贿赂吗
  • 红字撤销需要带什么去税务局
  • 委托开发费用
  • 抵账协议上可以签字吗
  • 挂靠管理费如何入账?
  • 购货方收到销售方提供的发票怎么做分录
  • 停产工人工资计入哪个科目
  • 哪些固定资产不需要计提折旧
  • 留抵税额和待抵扣进项税额区别
  • 外汇申报材料
  • mysql安装详细步骤
  • Windows server 2008下如何安装应用程序
  • docker镜像包含什么
  • win7旗舰版系统还原无法启动
  • cmd命令怎么进入d盘文件夹
  • win8.1 升级
  • linux 有哪些
  • unity的粒子系统在哪
  • yarn使用教程
  • linux中的ls命令的功能是变换工作目录到目标指定目录
  • linux lvm配置
  • 批处理保存文件
  • node.js使用教程
  • linux一些常用操作命令 (不定时更新)
  • javascript里的yield
  • Android 使用nodejs
  • 怎样纳税申报和缴纳
  • 建筑企业要交哪几项环保税
  • 个人扣缴客户端怎样迁移信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设