【发布时间】:2010-12-28 16:07:26
【问题描述】:
我的程序使用 PyOpenGL(所以它是 Python)和 psyco。
我需要在渲染的每一帧中渲染大约 21,000 条线段(除非用户放大,在这种情况下线段被剔除并且根本不发送到卡)。目前每帧大约需要 1.5 秒才能完成。这还不够好,所以我正在寻找减少不同线段数量的方法。
我想会有多条线段可以合并成一条大线的情况,但老实说,我什至不知道从哪里开始。我确实存储了每条线的起点和终点,所以这可能会有所帮助。请注意,我可以在启动时花费我需要的时间,而且内存使用不是什么大问题。
任何想法都将不胜感激。
【问题讨论】:
-
GPU 是如何发送线段的?
glBegin(GL_LINES)或某种glDrawElements()电话? (对不起 C 语法,不知道这些在 python 中的样子) -
我正在使用 glBegin(GL_LINE_STRIP); ;结束()。我想过多的 glBegin/glEnd 调用也可能会影响性能,但我不确定如何删除它们。并非我正在使用的所有线段都必须相互接触。
标签: python opengl merge pyopengl line-segment