

Related Documentation
=====================

* `OpenGL Programming Guide <http://www.glprogramming.com/red/>`_
* `OpenGL Reference Pages <http://opengl.org/sdk/docs/man/>`_
* `ctypes Reference <http://docs.python.org/3/library/ctypes.html>`_
* `Python Documentation <http://docs.python.org/>`_

Third party libraries
=====================

Listed here are a few third party libraries that you might find useful when
developing your project.  Please direct any questions to the respective
authors. If you would like to have your library listed here, let us know!

glooey
------

An object-oriented GUI library for pyglet
(https://glooey.readthedocs.io).

Every game needs a user interface that matches its look and feel. The
purpose of glooey is to help you make such an interface.  Towards this
end, glooey provides 7 powerful placement widgets, a label widget, an
image widget, 3 different button widgets, a text entry widget, avariety
of scroll boxes and bars, 4 different dialog box widgets, and a variety
of other miscellaneous widgets.  The appearance of any widget can be
trivially customized, and glooey comes with built-in fantasy, puzzle,
and 8-bit themes to prove it (and to help you hit the ground running if
your game fits one of those genres).

PyShaders
---------

Pythonic OpenGL shader wrapper for python
(https://github.com/gabdube/pyshaders)

Pyshaders aims to completely wraps the opengl2.1 shader api in a python
module. Pyshaders provides a pythonic OOP api that hides the lower level
(ctypes) calls. Pyshaders provides a high level api and a low level api,
and it can be integrated easily with existing code because it does not
occlude the underlying opengl values.

Ratcave
-------

A Simple Python 3D Graphics Engine extension for pyglet, Psychopy
and PyGame (https://github.com/neuroneuro15/ratcave).

Ratcave provides a simple OOP interface for loading, positioning, and
drawing 3D scenes in OpenGL windows.  It's a great fit for simple games
and scientific behavioral experiments!

Projects using pyglet
=====================

pyglet is a fairly lightweight library, which makes it ideal to build upon.
Listed here are a few projects that take advantage of pyglet "under the hood".
If you would like to have your project listed here, let us know!

cocos2d
-------

A framework for building 2D games, demos, and other graphical/interactive
applications (http://python.cocos2d.org).

Cocos2d is an open source software framework. It can be used to build
games, apps and other cross platform GUI based interactive programs.

Arcade
------

A 2D library for game development focusing on simplicity.
(https://arcade.academy)

Arcade builds on Pyglet with a focus to make creating 2D arcade games
simple and easy for hobbyists and new programmers.
