OpenGL 精度的问题(超出float的精度范围时, 即使使用glVertex*d也不能正常显示)

fks0123 2008-06-16 04:59:23
不知道OpenGL的精度是怎么样的.
现在碰到的问题是:
自己写的渲染程序, 当顶点坐标超出 float 的精度范围时(此时仍在 double 的精度范围内), 即使使用 glVertex*d 指定顶点, 渲染出来的图像还是不正确.

将这些顶点数据导入 AutoCAD 里显示, 当不使用OpenGL硬件加速时, 可以正常显示; 使用硬件加速, 显示不正确.

是 OpenGL 本身的问题吗?

各位达人们一起讨论下吧.
...全文
829 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhuwangzhp1980 2008-12-11
  • 打赏
  • 举报
回复
我看你的模型坐标都减去-100500.00,167569900.00,0.0000,应该就可以了,以前我也遇到过这样的问题,数据都是大地坐标,前几位都很大,实际没有什么用,一减就好了。
hhuwangzhp1980 2008-12-11
  • 打赏
  • 举报
回复
OpenGL中单位一般是32位float型(其中小数有24位),因此它可以描述从100多公里精确到0.1毫米之间范围的东东(大概是这个范围),如果描述的东西比这个跨度还大的话,那就不够用了。
解决的办法
1.可以统一坐标统一归到一个物体坐标系中,也就是把所有CAD对象都减去第一个CAD对象的第一个点(这个点就是你物体坐标系的原点,当然这个点你也可以自己选),这样大家的坐标都变小了,应该就比较精确了。
2.使用double型,但问题是很多显卡不支持,这样会导致你的程序在差一点的机子上就跑不起来,所以还是推荐第一种方法,自定义物体坐标系原点
lw_fly 2008-06-29
  • 打赏
  • 举报
回复
.........
fks0123 2008-06-17
  • 打赏
  • 举报
回复
显卡是 ATI Radeon X550,

AutoCAD 应该是支持OpenGL硬件加速的吧.
wujinjie746 2008-06-16
  • 打赏
  • 举报
回复
个人认为可能与你的电脑有关
你得查一下你的电脑显卡的性能

或者问题出在AutoCAD上,它是否支持opengl硬件加速呢?
wu_chen 2008-06-16
  • 打赏
  • 举报
回复
值得关注
fks0123 2008-06-16
  • 打赏
  • 举报
回复
不好意思, 忘了给出数据了. 以下是可以输入 AutoCAD 的顶点信息:
//-------------------------------------------------------------
3p
-100566.9029,167569957.9646,-2.2000
-100557.5107,167569961.3831,-2.2000
-100557.5107,167569961.3831,1.6000
-100566.9029,167569957.9646,1.6000
c
3p
-100559.9442,167569968.0690,-2.2000
-100562.4813,167569967.1456,-2.2000
-100562.4813,167569967.1456,1.6000
-100559.9442,167569968.0690,1.6000
c
3p
-100562.4813,167569967.1456,-2.2000
-100565.3133,167569974.9262,-2.2000
-100565.3133,167569974.9262,1.6000
-100562.4813,167569967.1456,1.6000
c
3p
-100565.3133,167569974.9262,-7.0000
-100572.1683,167569972.4312,-7.0000
-100572.1683,167569972.4312,1.6000
-100565.3133,167569974.9262,1.6000
c
3p
-100572.1683,167569972.4312,-2.2000
-100566.9029,167569957.9646,-2.2000
-100566.9029,167569957.9646,1.6000
-100572.1683,167569972.4312,1.6000
c
3p
-100557.5107,167569961.3831,-2.2000
-100559.9442,167569968.0690,-2.2000
-100559.9442,167569968.0690,1.6000
-100557.5107,167569961.3831,1.6000
c

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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