基于pyglet的三维框架
pygl的Python项目详细描述
<;img src=“https://github.com/adamlwgriffiths/PyGLy/raw/master/logo/pygly-300x160.png”>;
PygLy是一个位于PygLoT之上的灵活OpenGL框架。
设计
- 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.
功能
- 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).
理念
- 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.
安装
pygly位于pypi数据库中,可以通过pip安装: ` pip install pygly `
Pygly需要以下软件:
- Python 2(.6?)+
- Pyglet
- NumPy
- Pyrr (https://github.com/adamlwgriffiths/Pyrr)
源安装
安装pygly ` git clone git@github.com:adamlwgriffiths/PyGLy.git `
安装pyrr(pygly的/contrib目录中的子模块) ` cd PyGLy git submodule init git submodule update `
安装pygly依赖项: ` pip install -r requirements.txt `
检查它是否有效! ` python pygly/examples/legacy/simple/main.py `
用法
查看“pygly/examples”目录以获取一些示例代码。
开发
<;img src=“http://twistedpairdevelopment.files.wordpress.com/2010/10/twisted_pair-0086.png”>;
pygly是由[twisted pair development](http://twistedpairdevelopment.wordpress.com)开发的。
欢迎捐款。
许可证
Pygly是根据BSD 2条款许可证(一个非常宽松的许可证)发布的,但鼓励将任何修改提交回主版本以供包含。
亚当·格里菲斯创造的。
版权所有(c)2012,双绞线开发。 保留所有权利。
twistedpairdevelopment.wordpress.com网站 @扭曲pairdev
以源和二进制形式重新分配和使用,有无 如果满足以下条件,则允许修改:
- 源代码的重新发布必须保留上述版权声明、此条件列表和以下免责声明。
- 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
本软件由版权所有者和贡献者“按原样”提供,并且 任何明示或默示保证,包括但不限于 对特定用途的适销性和适合性的保证 否认。在任何情况下,版权所有人或贡献者均不负责 任何直接、间接、附带、特殊、惩戒性或间接损害 (包括但不限于替代货物或服务的采购; 使用、数据或利润的损失;或营业中断),无论是何种原因造成的 论任何责任理论,无论是合同责任、严格责任还是侵权责任 (包括疏忽或其他)以任何方式产生的 软件,即使被告知有这种损坏的可能性。
软件和文档中包含的视图和结论是 不应被解释为代表官方政策, freebsd项目的明示或默示的。