• 全部
  • 问答

使用openGL绘制由海量坐标点描绘成的图形

山娃马小三儿 2010-11-11 01:17:06
有一些列坐标点xyz的值,已经存入数据库中,现在想在数据库中读出来,然后根据点的坐标,勾勒出一个形状来,发现速度很慢
代码大概如下
glBegin(GL_POINTS);
while not ADOQuery1.Eof do
begin
glVertex3f(ADOQuery1.FieldValues['y'],
ADOQuery1.FieldValues['z'],
ADOQuery1.FieldValues['x']
);
ADOQuery1.Next;
end;
开始的时候花的挺快,越到后面越慢,数据量大概有20万条记录的样子
还有一点,就是怎么根据这些坐标的最大值最小值确定viewport和glortho的几个参数,才能保证图像大小合适,刚刚接触opengl,时间比较近,来不及细看,请各位多多指教
...全文
100 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ssmtree 2010-11-15
LZ如果不再改变这些点的值得话,可以用显示列表会快很多,或者用顶点缓存;
第二个问题主要是看LZ希望看到的范围是什么,如果是全部看到,就把投影的范围设为大于坐标的最值就行了,viewport的话,看点的坐标值是什么了,如果全部为正值或者负值,直接把视点设在一侧就行了,如果有正有负,需要把点的坐标值处理一下。其实最简单的办法就是用键盘或者鼠标消息,能够移动视点不就行了,可以看到任何地方。
回复
LBJMD 2010-11-12
楼主可以考虑用多线程试一下,我也遇到和你一样的问题,也是要把数据库中的数据读出来,然后绘图,我的数据量更大,有二百多万条,现在正在尝试怎么做。
回复
怎么根据这些坐标的最大值最小值确定viewport和glortho的几个参数,才能保证图像大小合适
回复
怎么根据这些坐标的最大值最小值确定viewport和glortho的几个参数,才能保证图像大小合适
回复
张赐 2010-11-11
使用glVertex函数来创建点,当然很慢,如果有20万个点,那么每一帧就要调用20万次该函数
楼主可以考虑使用vbf来解决这个问题,可以参考我blog中的一篇文章或google一下
回复
相关推荐
发帖
机器视觉
创建于2007-08-27

3896

社区成员

图形图像/机器视觉
申请成为版主
帖子事件
创建了帖子
2010-11-11 01:17
社区公告
暂无公告