opengl 绘制线框模式卡,填充模式就不卡。为什么会这样? 如何解决?

wux159 2013-12-06 04:29:07
opengl 绘制线框模式卡,填充模式就不卡。为什么会这样? 如何解决?


 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);       
glDrawElements(GL_QUADS, (GLsizei)m_iFaceCount * 4, GL_UNSIGNED_INT, (GLvoid*)m_PolyIndices);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

glDrawElements(GL_QUADS, (GLsizei)m_iFaceCount * 4, GL_UNSIGNED_INT, (GLvoid*)m_PolyIndices);
...全文
372 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssmtree 2013-12-12
  • 打赏
  • 举报
回复
引用 3 楼 leisuregame 的回复:
和硬件有关.考虑到应用范围,很多消费级的显卡对于线框模式绘制的优化程度远远低于填充模式.而专业绘图卡则会好很多,因为专业卡经常应用于CAD等频繁使用线框模式的绘图软件
同意楼上观点,线框模式绘制的优化程度远远低于填充模式,但是,这个具体影响的效率多少还需要测下
zephyr3d 2013-12-06
  • 打赏
  • 举报
回复
和硬件有关.考虑到应用范围,很多消费级的显卡对于线框模式绘制的优化程度远远低于填充模式.而专业绘图卡则会好很多,因为专业卡经常应用于CAD等频繁使用线框模式的绘图软件
彩阳 2013-12-06
  • 打赏
  • 举报
回复
来一个性能测试看看。开启控制台,使用clock()函数计时,在两行代码中间插入fprintf()函数输出到控制台。
wux159 2013-12-06
  • 打赏
  • 举报
回复
数据量大概是 30W个六面体,每个六面体的颜色不同,绘制时判断显示面,只绘制显示面。
《VC++.NET精彩百例》配套代码 [涉及平台] VC++.NET [作者] void [文件大小] 2969KB [更新日期] 2005-10-30 一、资源说明 第1章 界面编程 实例1 "欢迎"界面 实例2 动态字幕效果 实例3 透明窗体 实例4 静态切分窗口 实例5 滚动视图 实例6 字形窗口 实例7 多边形窗口 实例8 HTML浏览器 实例9 窗口的动画效果 实例10 实现动画图标 实例11 动态切分窗口 实例12 橡皮区矩形 实例13 多个定时器 实例14 椭圆窗体 第2章 图像和多媒体编程 实例 15 BMP文件浏览器 实例 16 图像的镜像处理 实例 17 图像的分割处理 实例 18 使用画笔 实例 19 使用画刷 实例 20 显示空心字 实例 21 显示渐进字体 实例 22 显示艺术字体 实例 23 马赛克效果 实例 24 MiDi播放器 实例 25 CD播放器 实例 26 纹理场景效果 实例 27 Bezier线框曲面 实例 28 输出旋转文本 第3章 对话框与控件编程 实例 29 树形控件 实例 30 列表控件 实例 31 时间控件 实例 32 彩色按钮 实例 33 组合框控件 实例 34 单选按钮和复选框 实例 35 工具栏编程 实例 36 状态栏编程 实例 37 对话框显示图片 实例 38 模式对话框 实例 39 非模式对话框 实例 40 位图按钮 实例 41 对话栏编程 第4章 文件与系统编程 实例 42 鼠标绘图 实例 43 键盘输入 实例 44 获取文件属性 实例 45 访问修改注册表 实例 46 设定计算机名称 实例 47 列举驱动器 实例 48 关闭操作系统 实例 49 查找文件 实例 50 获取磁盘空间 实例 51 读写文件 实例 52 系统进程检测 实例 53 获取系统信息 实例 54 获取文件夹路径 实例 55 设定系统时间 第5章 线程操作与COM组件编程 实例 56 创建线程 实例 57 线程间的通信 实例 58 使用自定义消息 实例 59 线程间的优先级 实例 60 线程间的同步 实例 61 重用C++对象 实例 62 创建永久对象 实例 63 MFC建立COM 实例 64 测试COM组件 第6章 网络和数据库编程 实例 65 聊天室服务器 实例 66 HTTP应用程序 实例 67 FTP应用程序 实例 68 HTTP服务器 实例 69 发送电子邮件 实例 70 接收电子邮件 实例 71 ATL Server Web 实例 72 DOA获取信息 实例 73 DAO数据库编程 实例 74 ADO访问数据库 第7章 OPENGL编程 实例 75 绘制对比矩形 实例 76 绘制直线 实例 77 绘制圆和椭圆 实例 78 绘制三角形 实例 79 缩放变换 实例 80 旋转变换 实例 81 平移变换 实例 82 绘制点 实例 83 OpenGL编程 实例 84 实现简单动画 实例 85 视口投影变换 实例 86 键盘控制图形 第8章 OLE和GDI+编程 实例 87 OLE容器 实例 88 保存OLE信息 实例 89 设置跟踪矩形 实例 90 显示多个OLE项 实例 91 ActiveX服务器 实例 92 插值模式 实例 93 图像区域平铺 实例 94 文字填充 实例 95 图形容器 实例 96 线帽组合 实例 97 半透明线条 实例 98 颜色再变换表 实例 99 旋转和扭曲图像 实例 100 显示垂直文本
主要内容和课时分配 一图形系统综述2 课时 主要介绍视频显示设备 二基本图元的显示 1 画线算法2 课时 DDA 算法Bresenham 算法中点算法* Zeon PDF Driver Trialwww.zeon.com.tw 2 2 圆生成算法1 课时 DDA 算法* 正负法* Bresenham 算法* 中点算法 3 椭圆生成算法2 课时 DDA 算法* 正负法* 中点算法 4 区域填充3 课时 三二维几何变换4 课时 四二维观察 1 观察流程以及窗口变换1 课时 2 线段的裁剪2 课时 Cohen-Sutherland 算法梁友栋-Barsky 算法Cyrus-Beck 算法 * 划分凹多边形 3 多边形的裁剪其它2 课时 Sutherland-Hodgeman 算法Weiler-Atherton 算法曲线的裁剪 * 文字的裁剪* 外部裁剪* 五三维物体的表示 1 多边形表面1 课时 2 二次曲面超二次曲面1 课时 3 样条表示三次样条插值2 课时 样条表示自然三次样条Hermite 插值 4 Bezier 样条2 课时 5 B-样条2 课时 6 样条的转换和显示1 课时 7 分形* 3 课时 六三维几何变换4 课时 平移坐标轴旋转一般三维旋转缩放其它变换复合变 换坐标变换 七三维观察 1 观察流程观察坐标1 课时 2 投影2 课时 3 观察体和一般投影变换2 课时 4 裁剪2 课时 规范化观察体视口裁剪Cohen-Sutherland 算法梁友栋 -Barsky 算法* 齐次坐标裁剪 Zeon PDF Driver Trialwww.zeon.com.tw 3 八可见面判别算法4 课时 可见面判别算法的分类后向面判别算法深度缓冲器算法 扫描线算法深度排序算法区域细分算法线框算法 九光照模型和面绘制算法* 4 课时 光源基本光照模型多边形绘制算法 十输出图元的属性* 自学 十一图形用户接口和交互式构图技术自学 十二OpenGL 与VRML*

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧