【发布时间】:2013-11-30 07:49:12
【问题描述】:
所以我设法直接从 VBO 中绘制了 2 条线(每条由 5 个较小的“线段”组成),但是它在不应该的时候连接了两条线。
所以绘制线条的代码包括:
self.linelist = np.array([
# LINE 1 #
[ 50., 350., 150., 94.], #Segment 1
[ 150., 94., 250., 392.], #Segment 2
[ 250., 392., 350., 466.], #Segment 3
[ 350., 466., 450., 233.], #Segment 4
[ 450., 233., 550., 420.], #Segment 5
[ 550., 420., 50., 490.], #Joining Segment
# LINE 2 #
[ 50., 490., 150., 94.], #Segment 1
[ 150., 94., 250., 280.], #Segment 2
[ 250., 280., 350., 280.], #Segment 3
[ 350., 280., 450., 419.], #Segment 4
[ 450., 419., 550., 140.] #Segment 5
], dtype=np.float32)
self.linevbo = glvbo.VBO(self.linelist)
self.linevbo.bind()
glEnableClientState(GL_VERTEX_ARRAY)
glVertexPointer(2, GL_FLOAT, 0, self.linevbo)
self.faces = np.array(range((len(self.linelist)*2)), dtype=np.uint32)
glDrawArrays(GL_LINES, 0, len(self.linelist)*2)
glDisableClientState(GL_VERTEX_ARRAY)
如何阻止它加入两条线?
编辑:我想我需要使用 glMultiDrawArrays 但我不知道如何...
【问题讨论】: