You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pyglet的GL_TRIANGLES渲染多边形时遇KeyError 'v'错误求助

问题解决:pyglet.graphics.draw 抛出 KeyError: 'v'

错误原因是你使用的pyglet版本中,顶点格式字符串的写法已变更,不再需要前缀v。早期版本支持v2f这类格式,但新版本会将格式字符串的第一个字符当作类型标识,找不到v对应的GL类型就会抛出KeyError。

修正方法很简单,把顶点格式里的v2f改成2f即可:

def draw(self):
    pyglet.graphics.draw(
       size=int(len(self.coords) / 2), 
       mode=pyglet.gl.GL_TRIANGLES,
       position=('2f', self.coords),
    )

这里的2f表示每个顶点由2个浮点数组成,对应你的二维坐标数组;如果是三维坐标,改用3f即可。

内容的提问来源于stack exchange,提问作者Leo Guagenti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 06:32:37