python - 预期 LP_c_float 实例而不是 glVertex3fv 中的元组
问题描述
我正在使用 Python、OpenGL 和 Pyglet 渲染一个 3D 立方体,所以我在一个元组中定义vertices
和edges
变量
vertices = (
(1, -1, -1),
(1, 1, -1),
(-1, 1, -1),
(-1, -1, -1),
(1, -1, 1),
(1, 1, 1),
(-1, -1, 1),
(-1, 1, 1))
edges = (
(0, 1),
(0, 3),
(0, 4),
(2, 1),
(2, 3),
(2, 7),
(6, 3),
(6, 4),
(6, 7),
(5, 1),
(5, 4),
(5, 7))
之后我定义了一个函数def Cube()
,使用我上面定义的这些坐标创建这个 3D 立方体
def Cube():
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
glVertex3fv(vertices[vertex])
glEnd()
所以我创建了一个带有on_draw()
函数的窗口,它调用了该Cube()
函数。
当我使用命令在我的 Linux 终端上运行此应用程序时,我python3 main.py
收到以下错误
ctypes.ArgumentError:参数 1::预期 LP_c_float 实例而不是元组
所以我猜这段代码的主要错误是行glVertex3fv(vertices[vertex])
我想知道正确绘制这个 3D 立方体需要什么。
解决方案
推荐阅读
- c++ - 范围仅限于函数的类变量
- javascript - 从 busboy 到 MongoDB 的 FileStream
- excel - 错误时显示消息并锁定工作簿
- sql-server - 从 sys.dm_exec_text_query_plan 中选择时,计划未显示为超链接
- java - 如何在 java 中动态创建\加载新类?
- array-formulas - 如何获取自定义公式条件公式以应用于数组结果?
- python - 符合条件的 1 列中的文本,用 ; 分隔
- python - 提取定义和定义对应的文本
- react-native - 流服务器问题
- video - FFmpeg:如何将水平视频 16:9 转换为垂直视频 9:16,顶部和底部有黑色背景