есть ли у pyglet все навыки opengl и поддержка 3d?

я хочу начать изучать 3D программирование на питоне

я нашел pyopengl для использования opengl в python, и я нашел pyglet, и мне это нравится, потому что он говорит «Нет внешних зависимостей», и я слышал, что это лучше для создания чего-то вроде игрового движка или игры и т. д.

но у меня есть проблема, я не могу найти ни одного 3D-примера pyglet, и я читал, что некоторые говорят: pyglet хорош 2d, как pygame и ....., а с другой стороны, некоторые говорят, что это хороший фреймворк opengl просто для 2д другой скажем просто 3д и......

теперь я хочу знать, действительно ли у pyglet есть все навыки opengl для использования в движке 3D-игры или для создания 3D-игры, или нет pyglet только для 2D-работы и ничего более, если это я должен пойти в pyopengl для моей работы

большое спасибо


person X.Strange    schedule 27.06.2013    source источник
comment
q: подходит ли pyglet для написания движка 3D-игры, или мне следует использовать pyopengl. Насколько я могу судить.   -  person Ryan Haining    schedule 27.06.2013
comment
@RyanHaining, возможно, это можно было бы сказать, но реальный вопрос заключался в том, обладает ли он всей мощью opengl, и я получил ответ: ДА   -  person X.Strange    schedule 27.06.2013


Ответы (1)


Я полагаю, вы спрашиваете, имеет ли pyglet полные привязки для OpenGL или нет.

В документации интерфейс OpenGL указано "да":

pyglet предоставляет интерфейс для OpenGL и GLU… Вы можете напрямую обращаться к этому интерфейсу; его использование очень похоже на использование OpenGL из C… Интерфейс представляет собой «тонкую оболочку» вокруг [OpenGL]... он всегда актуален с последней версией и почти всеми расширениями.

Однако, как предупреждает эта страница, оболочка очень тонкая, и "вам потребуются хорошие знания OpenGL, C и ctypes". Если это проблема:

Вы можете предпочесть использовать... PyOpenGL. PyOpenGL предоставляет аналогичную функциональность с более «питоновским» интерфейсом и будет работать с pyglet без каких-либо изменений.


Итак, у вас есть два варианта:

  • Используйте только pyglet, если вы понимаете (и любите) интерфейсы в стиле OpenGL и C.
  • Используйте pyglet и PyOpenGL вместе, если вы предпочитаете более приятный интерфейс OpenGL.

В любом случае у вас будет полный доступ ко всем возможностям OpenGL.

person abarnert    schedule 27.06.2013
comment
да, мой вопрос на самом деле в том, что вы говорите, и спасибо за ответ;) второй способ намного лучше, чем первый: D - person X.Strange; 27.06.2013