我收到此错误(请注意代码来自openGL红皮书:
GLfloat mat_specular[] = { 0.8, 0.8, 0.8, 1.0 };
^
SyntaxError:语法无效
对于下面的代码,我知道我需要导入一些使用GLfloat的东西,你能不能告诉我在python中我需要导入什么呢。
GLfloat mat_specular[] = { 0.8, 0.8, 0.8, 1.0 };
GLfloat mat_shininess[] = { 32.0 };
GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST)
答案 0 :(得分:2)
这里的基本Python语法问题。首先,在Python中,您不声明变量类型(GLfloat
)。第二个(与第一个相关),您不需要在变量名称([]
)之后使用方括号来表示它是一个数组。第三,要在Python中使用列表(类似于数组),您需要将内容包装在方括号([]
)中,而不是大括号({}
)。考虑到所有这些,它应该看起来像:
mat_specular = [0.8, 0.8, 0.8, 1]
所有这一切,即使您设法将代码转换为Python,您也需要首先找到可以从Python中使用的库。使用具有相同名称的函数并不能让OpenGL正常工作。