2012-04-15 55 views

Trả lời

4

Bạn có thể sử dụng numpy để tạo dữ liệu tương thích với OpenGL. Nhiều cuộc gọi PyOpenGL có thể lấy trực tiếp các cấu trúc dữ liệu gumpy (giả sử đó là loại chính xác). Ngoài ra, mảng có nhiều mảng thường được bố trí tốt trong bộ nhớ, và vì vậy bạn có thể làm những gì bạn muốn với dữ liệu (và thật dễ dàng để kiểm tra cách chúng được sắp xếp theo thứ tự).

+3

Tất nhiên (và tôi đã thực hiện điều đó), nhưng không có chức năng cung cấp cho tôi các chức năng xoay/chiếu/mở rộng quy mô/etc, hoặc tiện ích xoay vòng quaternion. – dietr

+4

[Mô-đun này] (http://www.lfd.uci.edu/~gohlke/code/transformations.py.html) được thiết kế cho mục đích đó. Ông cũng đã viết một [phiên bản C tối ưu hóa] (http://www.lfd.uci.edu/~gohlke/code/transformations.c.html). Tôi không có kinh nghiệm của mô-đun này để YMMV. –

+0

Điều đó có vẻ tốt. Tuyệt vời tìm! – dietr

0

Nếu bạn đã biết những gì bạn muốn trong OpenGL, tại sao không sử dụng PyOpenGL? Tôi tin rằng tất cả các chức năng bạn muốn có ở đó, và here are some docs on doing matrix transformations và giao tiếp với NumPy.

+0

Tôi đang sử dụng PyOpenGL, nhưng nó không có các chức năng tiện ích tôi cần. – dietr

8

Tôi đã tạo thư viện Pyrr để cung cấp tất cả các tính năng toán học mà bạn cần cho Core OpenGL. Nó có các ma trận, vectơ và quaternions và hỗ trợ cơ bản cho các nguyên thủy khác (hình chữ nhật, tia, đường kẻ, vv).

Nó có cả API thủ tục và, gần đây hơn, API hướng đối tượng rất mạnh mẽ.

Có sẵn trên PyPi pip install pyrr và từ liên kết github ở trên.

Phản hồi, sự cố và các tính năng mới được hoan nghênh!

Các vấn đề liên quan