- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学computer graphics课件8知识课件.ppt
* Working with Callbacks Yuanfeng Zhou Shandong University * Positioning The position in the screen window is usually measured in pixels with the origin at the top-left corner Consequence of refresh done from top to bottom OpenGL uses a world coordinate system with origin at the bottom left Must invert y coordinate returned by callback by height of window y = h – y; (0,0) h w * Obtaining the window size To invert the y position we need the window height Height can change during program execution Track with a global variable New height returned to reshape callback that we will look at in detail soon Can also use query functions glGetIntv glGetFloatv to obtain any value that is part of the state * Terminating a program In our original programs, there was no way to terminate them through OpenGL We can use the simple mouse callback void mouse(int btn, int state, int x, int y) { if(btn==GLUT_RIGHT_BUTTON state==GLUT_DOWN) exit(0); } * Using the mouse position In the next example, we draw a small square at the location of the mouse each time the left mouse button is clicked This example does not use the display callback but one is required by GLUT; We can use the empty display callback function mydisplay(){} * Drawing squares at cursor location void mymouse(int btn, int state, int x, int y) { if(btn==GLUT_RIGHT_BUTTON state==GLUT_DOWN) exit(0); if(btn==GLUT_LEFT_BUTTON state==GLUT_DOWN) drawSquare(x, y); } void drawSquare(int x, int y) { y=w-y; /* invert y position */ glColor3ub( (char) rand()%256, (char) rand )%256, (char) rand()%256); /* a random color */ glBegin(GL_POLYGON); glVertex2f(x+size, y+size); glVertex2f(x-size, y+size); glVertex2f(x-size, y-size); glVertex2f(x+size, y-size); glEnd(); } * Using the motion callback We can draw squares (or anything else) continuously as long as a mouse button is depressed by using the motion callback glutMotionFunc(drawSquare) We can draw squares without
您可能关注的文档
- 言之有据教材课程.ppt
- 言语中的知识与体验年学业考试思考录温州市教育教学知识讲稿.ppt
- 言语沟通技巧课件复习课程.ppt
- 言语理解与表达练习题讲解教材课程.ppt
- 言语矫治教学案例.ppt
- 言语训练康复治疗技术教学幻灯片.ppt
- 言语障碍评定与康复教学幻灯片.ppt
- 詹姆斯庄园葡萄酒产品上市策划方案讲义资料.ppt
- 課程統整與全方位教學知识讲稿.ppt
- 證券業職場概況讲义资料.ppt
- 绘本推荐系统中的社交元素融入与同伴阅读互动研究课题报告教学研究课题报告.docx
- 回门宴主持流程和开场白标准范例.docx
- 高中化学实验中AI催化剂性能预测教学课题报告教学研究课题报告.docx
- 高中生基于机器学习算法融合多传感器数据预测新能源汽车刹车距离课题报告教学研究课题报告.docx
- 高中生地理信息遥感技术监测城市工业污染扩散模式课题报告教学研究课题报告.docx
- 教育大数据驱动的学生心理健康评价与教学管理决策支持系统研究教学研究课题报告.docx
- 高中化学实验教学中绿色化学理念渗透研究课题报告教学研究课题报告.docx
- 大型建筑项目成本控制措施.docx
- 小学品德教育角色扮演游戏化设计:应用生成式AI优化品德教育角色扮演游戏化教学策略教学研究课题报告.docx
- 小学英语游戏化教学与跨文化交际能力培养的课题报告教学研究课题报告.docx
最近下载
- 一种甲醇柴油微乳化分散剂及其制备方法和应用.pdf VIP
- 高含水稳定柴油乳化液的制备工艺研究.docx VIP
- [PDF]IEC61850应用入门_何磊编著2012.06北京:中国电力出版社_P354 带索引书签目录高清版_13052952.pdf VIP
- 微乳化柴油制备工艺的研究.pdf VIP
- 道路破坏应急预案(3篇).docx VIP
- 个人年终述职报告怎么写1000字.docx VIP
- 超声技术赋能甲醇乳化柴油:制备工艺与性能深度剖析.docx VIP
- 微乳化柴油:制备工艺优化与燃烧性能的深度剖析.docx VIP
- Linux防火墙配置方案.docx VIP
- linux上命令基本操作文件剖析.pptx VIP
原创力文档


文档评论(0)