2010-11-02 52 views
0

我得到这个错误(注意代码是从openGL的红色书:glfloat python的语法错误?

GLfloat mat_specular[] = { 0.8, 0.8, 0.8, 1.0 }; 
       ^

语法错误:无效的语法

为下面的代码,我知道我需要进口一些使用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) 
+2

这不是python;它是C或C++ – 2010-11-02 17:53:39

回答

2

基本Python语法的问题在这里。首先,在Python,你不声明变量的类型(GLfloat)第二(与第一),你不需要变量名后面的方括号([])表示它是一个数组。第三,要在Python中使用列表(类似于数组),您需要将内容包装在方括号([])中,而不是大括号({})。考虑所有的考虑,它应该看起来像:

mat_specular = [0.8, 0.8, 0.8, 1] 

所有这一切是说,即使你设法将代码移植到Python进行转换,你需要先找到,您可以从Python中使用库。使用相同名称的函数不会神奇地让OpenGL工作。