2012-04-15 2 views

ответ

4

Вы можете использовать numpy для генерации данных, совместимых с OpenGL. Многие вызовы PyOpenGL могут принимать несколько массивов данных напрямую (при условии, что это правильный тип). Кроме того, массивы numpy обычно хорошо расположены в памяти, и поэтому вы можете делать то, что хотите, с данными (и легко проверить , как они расположены).

+3

Конечно (и я уже это делаю), но numpy не предоставляет мне функции для вращения/проекции/масштабирования/etc или утилиты вращения кватерниона. – dietr

+4

[Этот модуль] (http://www.lfd.uci.edu/~gohlke/code/transformations.py.html) предназначен для этой цели. Он также написал [оптимизированную версию C] (http://www.lfd.uci.edu/~gohlke/code/transformations.c.html). У меня нет опыта этого модуля, поэтому YMMV. –

+0

Это действительно хорошо. Отличная находка! – dietr

0

Если вы уже знаете, что хотите в OpenGL, почему бы не использовать PyOpenGL? Я считаю, что вся необходимая функциональность должна быть там, и here are some docs on doing matrix transformations и взаимодействие с NumPy.

+0

Я использую PyOpenGL, но у меня нет необходимых функций. – dietr

8

Я создал библиотеку Pyrr, чтобы предоставить все функции математики, необходимые для Core OpenGL. В нем представлены матрицы, векторы и кватернионы и базовая поддержка других примитивов (прямоугольники, лучи, линии и т. Д.).

Он имеет как процедурный API, так и совсем недавно объектно-ориентированный API, который является очень мощным.

Он доступен на PyPi pip install pyrr и выше по ссылке github.

Обратная связь, вопросы и новые функции приветствуются!

Смежные вопросы