2010-11-02 2 views
0

Я получаю эту ошибку (обратите внимание, что код из OPENGL красной книги:синтаксическая ошибка с glfloat python?

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

SyntaxError: недопустимый синтаксис

для следующего кода, я знаю, что нужно импортировать что-то использовать GLfloat, вы можете любой один скажи мне, что мне нужно импортировать для этого в питона.

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

Это не питон; это C или C++ –

ответ

2

вопросы синтаксиса Basic Python здесь. во-первых, в Python, вы не объявлять тип переменной (GLfloat). во-вторых (связано с сначала), вам не нужно квадратные скобки после имени переменной ([]), чтобы обозначить, что это массив. И в-третьих, чтобы использовать список в Python (аналогично массиву), вам нужно обернуть содержимое в квадратных скобках ([]), а не фигурные скобки ({}). Принимая все это во внимание, он должен выглядеть следующим образом:

mat_specular = [0.8, 0.8, 0.8, 1] 

Все, что было сказано, даже если вы все-таки удается преобразовать код на Python, вам нужно сначала найти библиотеки, которые можно использовать с Python. Использование функций с одинаковыми именами не волшебным образом делает работу OpenGL.