Skip to main content

<img src=”https://github.com/adamlwgriffiths/PyGLy/raw/master/logo/pygly-300x160.png”>

PyGLy is a flexible OpenGL framework that sits ontop of Pyglet.

Design

  • OpenGL agnostic - Use Legacy (<=2.1) or Core (>=3) profiles.

  • Cross-platform - Actively developed on Windows, Linux and Mac OS-X.

  • Easy to install - Written in pure python and making use of Pyglet for windowing.

  • Modular design - Take almost any part of PyGLy and use it on its own.

  • Loosely coupled framework, not an engine - Don’t like an existing class? Don’t use it! PyGLy doesn’t force any programming method on you.

  • Duck-typing - Replace any class with your own.

  • Full control over rendering process.

  • Uses Pyrr for Maths - NumPy powered Quaternion, Matrix, Vectors, Rays.

  • Liberal BSD licensing - Do what you want!

  • Active development - Being developed for games.

Features

  • Windowing - Supports multiple windows as per Pyglet.

  • Viewports - Multiple viewports using simple to use wrappers.

  • Optional scene objects - Scene nodes, cameras, render nodes.

  • 3D transform objects - Wraps 3D maths in intuitive objects.

  • GLSL shader support - Helpful error parsing.

  • Sorting - Sort scene to minimise over-draw and to support transparency.

  • Texture - Easily create OpenGL textures using raw data or PIL.

  • View Matrices - Simple wrappers that provide easy manipulation of the view matrix.

  • GL functions - Python wrappers for common tasks.

  • Input - Simple event handlers for digital and analgue events.

  • Cocos2D - Support for rendering PyGLy as a Cocos2D layer (OpenGL Legacy only).

Philosophy

  • FRAMEWORK, not an engine. Program any way you want.

  • FLEXIBLE, don’t force any one method upon the user

  • FULL CONTROL at all times. Full access to rendering, objects, data. No obfuscation. No ‘awesome’ tricks. Just good, simple code.

  • EASY INSTALLATION. No crazy C++ bindings and complex build procedures.

  • EXPOSE as much functionality as possible. Lower classes are always accessible or usable on their own.

  • LOOSE COUPLING. Code designed with minimal coupling, allowing you to use only what you want.

  • OPTIONAL high level classes. Low level code is always usable. High level API is optional.

  • EXAMPLES of high quality.

  • PYTHON to the core.

  • SPEED in development. Simple and Intuitive code provides convenience functions where it makes sense.

  • DEFINED GOALS. PyGLy aims to provide a high quality, base. PyGLy will never become bloat-ware.

  • PARTNER PROJECTS. PyGLy provides the core of our 3D stack.

Installation

PyGLy is in the PyPi database and can be installed via pip: ` pip install pygly `

PyGLy requires the following software:

Source Installation

Install PyGLy ` git clone git@github.com:adamlwgriffiths/PyGLy.git `

Install Pyrr (a submodule in PyGLy’s /contrib directory) ` cd PyGLy git submodule init git submodule update `

Install PyGLy depedencies: ` pip install -r requirements.txt `

Check that it worked! ` python pygly/examples/legacy/simple/main.py `

Usage

Check the ‘pygly/examples’ directory for for some example code.

Development

<img src=”http://twistedpairdevelopment.files.wordpress.com/2010/10/twisted_pair-0086.png”>

PyGLy is developed by [Twisted Pair Development](http://twistedpairdevelopment.wordpress.com).

Contributions are welcome.

License

PyGLy is released under the BSD 2-clause license (a very relaxed licence), but it is encouraged that any modifications are submitted back to the master for inclusion.

Created by Adam Griffiths.

Copyright (c) 2012, Twisted Pair Development. All rights reserved.

twistedpairdevelopment.wordpress.com @twistedpairdev

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.

Metadata

Release files for pygly 20121125

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygly 20121125
File Size Uploaded Provenance
pygly-20121125.tar.gz 33.1 kB Without provenance Details

Release files / pygly-20121125.tar.gz

Download URL pygly-20121125.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
347a161a10e5590389167960cecc4d741bd258c4f8eafa94892a30fb96d17b9a
BLAKE2b-256 checksum
How to use checksums
826c8c731265d8ce78fb070ebd7c93e3d64114186020bae09df8499c02592d53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pygly 20121125

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

20121125 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page