使用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,时间比较近,来不及细看,请各位多多指教
...全文
218 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssmtree 2010-11-15
  • 打赏
  • 举报
回复
LZ如果不再改变这些点的值得话,可以用显示列表会快很多,或者用顶点缓存;
第二个问题主要是看LZ希望看到的范围是什么,如果是全部看到,就把投影的范围设为大于坐标的最值就行了,viewport的话,看点的坐标值是什么了,如果全部为正值或者负值,直接把视点设在一侧就行了,如果有正有负,需要把点的坐标值处理一下。其实最简单的办法就是用键盘或者鼠标消息,能够移动视点不就行了,可以看到任何地方。
LBJMD 2010-11-12
  • 打赏
  • 举报
回复
楼主可以考虑用多线程试一下,我也遇到和你一样的问题,也是要把数据库中的数据读出来,然后绘图,我的数据量更大,有二百多万条,现在正在尝试怎么做。
山娃马小三儿 2010-11-12
  • 打赏
  • 举报
回复
怎么根据这些坐标的最大值最小值确定viewport和glortho的几个参数,才能保证图像大小合适
山娃马小三儿 2010-11-12
  • 打赏
  • 举报
回复
怎么根据这些坐标的最大值最小值确定viewport和glortho的几个参数,才能保证图像大小合适
张赐 2010-11-11
  • 打赏
  • 举报
回复
使用glVertex函数来创建点,当然很慢,如果有20万个点,那么每一帧就要调用20万次该函数
楼主可以考虑使用vbf来解决这个问题,可以参考我blog中的一篇文章或google一下

4,499

社区成员

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

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