基于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需要以下软件:

源安装

安装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

以源和二进制形式重新分配和使用,有无 如果满足以下条件,则允许修改:

  1. 源代码的重新发布必须保留上述版权声明、此条件列表和以下免责声明。
  2. 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。

本软件由版权所有者和贡献者“按原样”提供,并且 任何明示或默示保证,包括但不限于 对特定用途的适销性和适合性的保证 否认。在任何情况下,版权所有人或贡献者均不负责 任何直接、间接、附带、特殊、惩戒性或间接损害 (包括但不限于替代货物或服务的采购; 使用、数据或利润的损失;或营业中断),无论是何种原因造成的 论任何责任理论,无论是合同责任、严格责任还是侵权责任 (包括疏忽或其他)以任何方式产生的 软件,即使被告知有这种损坏的可能性。

软件和文档中包含的视图和结论是 不应被解释为代表官方政策, freebsd项目的明示或默示的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和