以django为灵感的现代opengl 3.3+框架
demosys-p的Python项目详细描述
Demosys PY
基于ModernGL
的python 3跨平台opengl3.3+核心框架最初是为与音乐结合的非交互式实时图形而设计的 (“实时音乐视频”,请参见demoscene) 但当然可以用于几乎任何用途。
专为那些喜欢玩现代opengl而不花很多钱的人设计 创建所有工具来启动和运行的时间。使用ModernGL 同时,使用opengl只需几行代码就可以轻松完成很多工作。
这个项目的一个高度优先事项也是帮助改进ModernGL。
- Documentation
- ModernGL Documentation
- Examples
- Effect Templates
- demosys-py on Github
- demosys-py on PyPi
- Discord Server
使用旋转立方体创建项目可以在不到一分钟的时间内完成。
pip install demosys-py demosys-admin createproject myproject demosys-admin createeffect myproject/cube
现在运行效果
python manage.py runeffect myproject.cube
功能
- 基于python包的简单效果系统
- 通过ModernGL支持大多数现代OpenGL功能
- 用于着色器程序、纹理、场景和杂项数据的资源加载系统
- 加载GLTF 2.0和Wavefront OBJ文件/场景
- 支持火箭同步跟踪器系统创建有趣的关键帧数据(使用pyrocket)
- 运行时重新加载着色器程序(按R)
- 支持无头渲染和各种可见窗口,如pyglfw、pyqt5、pysdl2和pyglet。
- 用于创建新项目和效果的管理命令,包括生成自定义命令的能力
- 一个高度可插入的框架,具有可定制的计时器、资源加载程序、时间线等功能
- 用于快速创建常用网格/VAO类型的几何体模块
- 实验性音频播放支持
要求
为了使用该框架,最好了解以下内容:
- 基本或中间python
- 基本glsl
- 基本矩阵数学
如果您缺少这些需求中的任何一个,那么框架绝对可以用来学习。需要0行代码来生成一个带有旋转立方体的项目,并且您可以开始戳东西。
地方发展
以开发模式安装项目(在virtualenv中):
python setup.py develop
# PyQt5 doesn't support develop and have to manually be force-reinstalled installed after
pip install -I PyQt5
运行测试:
# All tests pip install -r requirements-test.txt python manage.py test# Single tests module python manage.py test tests/test_effect.py
建筑文档:
pip install -r docs/requirements.txt python setup.py build_sphinx
贡献者
依赖关系
- ModernGLpyopengl替换
- PIL/Pillow用于纹理加载
- Pyrrr用于数学(使用numpy)
- PyQt5是窗口/上下文创建的默认值(在大多数平台上都是现成的)
可选:
- pyGLFW用于创建窗口/上下文
- pyglet用于创建窗口/上下文(不适用于OS X)
- pygame使用混音器模块播放音乐
- python-vlc用于音频播放
提及
也可以考虑通过成为 黄金会员,但一次性(5美元或以上)捐赠一个广告免费体验。