社区
Windows SDK/API
帖子详情
OPENGL鼠标中间缩放问题
C_码农
2014-06-11 03:54:50
滑动鼠标中间对鼠标指向的点进行缩放,在xp中放大到一定程度物体不能完全显示,在WIN7中放大图形就直接消失了
图1是原始图
图2是放大后的图,不能显示完整
求大神帮忙
...全文
165
2
打赏
收藏
OPENGL鼠标中间缩放问题
滑动鼠标中间对鼠标指向的点进行缩放,在xp中放大到一定程度物体不能完全显示,在WIN7中放大图形就直接消失了 图1是原始图 图2是放大后的图,不能显示完整 求大神帮忙
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C_码农
2014-06-11
打赏
举报
回复
实现代码: BOOL CMy6TDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) { CRect rect; GetWindowRect(&rect); int w = rect.Width(); int h = rect.Height(); float camFovy; if(zDelta>0) { glTranslatef(object_x,object_y,object_z); glScaled(Magnification =EnlargeX*1.2,EnlargeY*1.2,EnlargeZ*1.2); glTranslatef(-object_x,-object_y,-object_z); }else { glTranslatef(object_x,object_y,object_z); glScaled(Magnification=EnlargeX*0.5,EnlargeY*0.5,EnlargeY*0.5); glTranslatef(-object_x,-object_y,-object_z); } UpdateData(false); return CDialog::OnMouseWheel(nFlags, zDelta, pt); } void CMy6TDlg::OnMouseMove(UINT nFlags, CPoint point) { GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLfloat winX,winY,winZ; glGetDoublev(GL_MODELVIEW_MATRIX, modelview);//视图矩阵 glGetDoublev(GL_PROJECTION_MATRIX, projection);//投影矩阵 glGetIntegerv(GL_VIEWPORT, viewport);//视口 winX=(float)point.x;//OGL中的窗口x坐标 winY=(float)viewport[3]-(float)point.y;//OGL中的窗口y坐标 glReadPixels(point.x,//x坐标 int(winY), 1,1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ); gluUnProject((GLdouble)winX,(GLdouble)winY,(GLdouble)winZ,modelview,projection,viewport,&object_x,&object_y,&object_z); }
C_码农
2014-06-11
打赏
举报
回复
这幅图也是放大后的效果
cube_rotate.zip_
opengl
_控制
用
鼠标
控制立方体的旋转、
缩放
、平移,左键控制旋转,右键控制平移,
中间
控制
缩放
基于
OpenGL
的计算机图形学实验六多边形的Sutherland-Hodgman裁减算法(完整可运行版本)
通过本次实验,将老师在课堂上讲解的多边形裁剪算法进行具体代码的实现,比如判断顶点是否位于可见区域内,判断多边形顶点是否穿过裁剪窗口,通过深入学习老师上课所讲的内容,结合现有的实现代码,进而得以实现多边形裁剪算法,为了更友好的图形交互界面,在实现了基本算法之后,加入了裁剪窗口的平移和
缩放
操作,对之前实验加以复习和应用,以及顶点的输入
问题
,一开始我疑惑为什么
鼠标
点击的和实际形成的图形有所偏差,在打印出点击的坐标来之后,发现尽管设置了坐标系位于画布
中间
,但是没有改变点的坐标,所以在
鼠标
点击的基础上,加入用户输入顶点坐标的选项,这样就可以让图形的大小和位置更加多样化。
OpenGL
课程涵盖了
OpenGL
开发的方方面面,对开发中经常用到的开发知识点进行讲解,从实战的角度进行编码设计. 第1章-环境建立 第2章-基础图元 第3章-三维世界 第4章-纹理多彩世界 第5章-显存的分配-优化 第6章-场景控制 第7章...
lingbo多媒体教室应用
凌波多媒体教学网具有以下特点: 领先的优异性能,一流的屏幕广播速度,可以实时广播多媒体课件中的各种动画效果,特别适合多媒体课件的教学; 屏幕广播教学功能支持基于DirectDraw、Direct3D、
OpenGL
的三维设计、动画制作软件,以及二维和三维游戏,如Pro/E(Pro-Engineer),3D MAX(Autodesk 3DS MAX),Cool 3D等; 屏幕广播教学功能支持各种视频播放软件,对于视频的播放,能够窗口和全屏幕广播众多的视频媒体播放软件,比如:MS Media Player、Real Player、Win DVD、Power DVD、超级解霸等,不会出现黑窗口的
问题
; 采用音频混合技术,支持多人同时用语音进行交谈,结合任意分组功能,教师可以实现功能强劲的语音教室; 支持各种格式的视频和音频素材的跟读、复读功能令用户尽享英语教学的华丽听觉。使多媒体网络教室一专多能地成为多媒体语音教室; 独创的缩略图显示,可以把整个班级的任意多台学生端电脑的屏幕画面同时显示在教师端,让教师可以方便地一览全局; 独创的并发运行设计,各功能可以任意组合,随心所欲; 独创的拨网线保护,防止学生拨网线; 无人值守,可以自动记录全体学生电脑的屏幕画面,压缩成JPEG格式文件,保存到指定的文件夹中,供教师事后检查学生电脑的使用情况; 能够对所有学生进行任意分组,进行分组讨论,教师可以随时加入任何一组参与讨论,并可以向不同的组广播不同的信息; 教师能够随时将某个学生的荧屏显示和语音等信息,向所有学生或某个组进行广播; 教师能够随时监看和监听某个学生的信息,和控制学生的键盘、
鼠标
,进行“手把手”式的指导,并可以在学生
中间
任意切换; 窗口遥控辅导,首创的窗口智能滚动遥控,在教师进行其他各项教学功能的同时,教师可以对多个学生机同时进行遥控操作; 教师能够让某一个学生控制另一学生的
鼠标
、键盘,采取互助式的学习方法,提高学生的学习效率; 教师可以将所有(某一组或某一个)学生的屏幕设置成“黑屏”,并锁定学生的键盘、
鼠标
,提醒学生注意听讲; 电子举手功能,教师的屏幕上就能立即反映出“举手”学生的具体位置; 点名签到,便于教师进行考勤管理; 影音广播支持VCD、DVD、MPEG、MP3、AVI、WAV、RM、RMVB、MOV等多种影音文件格式; 屏幕广播及遥控操作中采用智能滚动、自由滚动技术,不必进行屏幕
缩放
,学生可在接收教师广播过程中边看边操作; 支持软光标、动画
鼠标
光标、
鼠标
光标广播,即使在窗口模式下都能体现,
鼠标
形态实时改变; 支持多窗口的同步同时监看,也可以把监看窗口分布到多台机器上,实时监看其他各学生机的状态; 极强的系统稳定性,保证教学过程的顺利进行; 功能完善,界面美观,各项操作直观简洁、使用统一的操作模式,易学易用; 不需要服务器,纯软件架构,即装即用,升级扩允维护方便; 无用户数限制,方便学校以后添加更多的电脑,解除了学校的后顾之忧。
rufascube:独特的3D滑块拼图,看起来就像一个魔方。-开源
这不是另一个魔方。 这是一个更简单的滑块难题,可以逐步解决。 3x3x3的小方块排列,
中间
缺少一个小方块,可以进行滑动排列。 随机化之后,目标是根据颜色和字母提示将多维数据集还原为其原始配置。 用Ada编写,可在Windows,OS-X或GNU / Linux上编译。 不错的笔记本电脑控件,并支持Mac Retina显示器。 需要
OpenGL
v3.3,在Mac上需要OS-X的最新版本。 现在具有
鼠标
滚轮
缩放
功能(在MacBooks上两指滑动)。 另请参见称为SevenSlider的较小的2x2x2版本。 可在Windows,运行OS-X的Mac和运行GNU / Linux的PC上运行。 提取归档文件并维护目录结构的正确命令是“ 7z x filename”。
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章