2010-11-02 91 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工作。