Skip to content

Commit fb5764c

Browse files
committed
Readme cleanup + markdown
1 parent c6fb0d3 commit fb5764c

File tree

6 files changed

+102
-164
lines changed

6 files changed

+102
-164
lines changed

CONTRIBUTING.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,11 @@ Contributing
33
------------
44

55
Any contribution to the project is welcome. Never hesitate to ask
6-
questions or submit pull requests (completed or work in progress). The
7-
worst thing that can happen is that we or you might learn something.
6+
questions or submit pull requests (completed or work in progress). The worst thing that can happen is that we or you might learn something.
87

98
This is supposed to be a fun project. Be nice.
109

11-
General feedback can be posted here on GitHub or you can mail [email protected].
10+
General feedback, bugs and issues can be posted on GitHub.
1211

1312
Also check out the TODO list. Take a stab on one of the
1413
features or documentation or suggest new entries.
15-
16-

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
recursive-include demosys *.py *.glsl
22

3-
include README.rst
3+
include README.md

README.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
[![pypi](https://img.shields.io/pypi/v/demosys-py.svg)](https://pypi.python.org/pypi/demosys-py) [![travis](https://travis-ci.org/Contraz/demosys-py.svg?branch=master)](https://travis-ci.org/Contraz/demosys-py) [![rtd](https://readthedocs.org/projects/demosys-py/badge/?version=latest)](http://demosys-py.readthedocs.io/en/latest/?badge=latest)
2+
3+
demosys-py
4+
==========
5+
6+
A cross platform modern OpenGL 3.3+ core framework based on [ModernGL](https://github.com/cprogrammer1994/ModernGL).
7+
8+
![screenshot1](https://camo.githubusercontent.com/32ce052715e574ae4e6fc60384b5070cbc9aaa27/68747470733a2f2f6f626a656374732e7a657474612e696f3a383434332f76312f415554485f30366532646265613565383234363230623230623437303139373332333237372f636f6e7472617a2e6e6f2d7374617469632f6766782f70726f64756374696f6e732f53696d4c696665332e706e67) ![screenshot2](https://camo.githubusercontent.com/653387f2f7f144b29b6fb9c891a17482b089e02d/68747470733a2f2f6f626a656374732e7a657474612e696f3a383434332f76312f415554485f30366532646265613565383234363230623230623437303139373332333237372f636f6e7472617a2e6e6f2d7374617469632f6766782f70726f64756374696f6e732f53696d4c696665322e706e67)
9+
10+
---
11+
12+
Originally made for for non-interactive real time graphics combined with music
13+
("real time music videos", see [demoscene](https://en.wikipedia.org/wiki/Demoscene)
14+
but can of course be used for other purposes.
15+
16+
Made for people who enjoy playing around with modern OpenGL without spending lots of time creating all the tooling to get things up and running.
17+
18+
* [Documentation](http://demosys-py.readthedocs.io/)
19+
* [Examples](https://github.com/Contraz/demosys-py-test)
20+
* [Effect Templates](https://github.com/Contraz/demosys-py/tree/master/demosys/effect_templates)
21+
* [demosys-py on Github](https://github.com/Contraz/demosys-py)
22+
* [demosys-py on PyPi](https://pypi.python.org/pypi/demosys-py)
23+
24+
Creating a project with a spinning cube can be done in less than a minute.
25+
(Assuming you have glfw installed)
26+
27+
```bash
28+
pip install demosys-py
29+
demosys-admin createproject myproject
30+
demosys-admin createeffect myproject/cube
31+
```
32+
33+
Now edit ``myproject/settings.py`` adding the effect in ``EFFECTS``.
34+
35+
```python
36+
EFFECTS = (
37+
'myproject.cube', # note the comma!
38+
)
39+
```
40+
41+
Now run the effect!
42+
43+
```bash
44+
./manage.py run
45+
```
46+
47+
Features
48+
--------
49+
50+
* A simple effect system based on python packages
51+
* Supports loading GLTF and obj files/scenes
52+
* Support for the rocket sync-tracker system to create interesting keyframe data (Using [pyrocket](https://github.com/Contraz/pyrocket))
53+
* Management commands to create new projects and effects
54+
* Convenient wrappers for VAO, Shader, Texture, FBO etc
55+
* On-the-fly Shader and VAO negotiation of the needed buffer binding
56+
* Runtime re-loading shaders (press R)
57+
* Strict validation in most OpenGL operations with reasonable error feedback
58+
* Time line / Timer support
59+
* A highly pluggable framework
60+
* Support for custom management commands
61+
* Camera and system camera support so we can easily inspect our scene
62+
* Easy resource management system (shaders, textures)
63+
* Supports vertex, fragment and geometry shaders (tessellation is wip)
64+
* A geometry module for quick creation of common mesh/VAO types
65+
* (Experimental audio playback support)
66+
67+
Requirements
68+
------------
69+
70+
In order to use the framework it's an advantage to know the following:
71+
72+
* Basic or intermediate Python
73+
* Basic glsl
74+
* Basic matrix math
75+
76+
If you are missing any of these requirements the framework can definitely be used to learn. 0 lines of code are needed to generate a project with a spinning cube and you can star poking at things.
77+
78+
Contributors
79+
------------
80+
81+
* [Einar Forselv](https://github.com/einarf)
82+
* [Arttu Tamminen](https://github.com/helgrima)
83+
84+
Libraries
85+
---------
86+
87+
GLFW binaries must be installed. Get from your favourite location. Use version 3.2.1 or later.
88+
89+
* [pyGLFW](https://github.com/FlorianRhiem/pyGLFW) for window and context creation + input
90+
* [PIL/Pillow](https://github.com/python-pillow/Pillow) for texture loading
91+
* [Pyrrr](https://github.com/adamlwgriffiths/Pyrr) for math (uses numpy)
92+
93+
Optional for audio:
94+
95+
- [pygame](https://www.pygame.org) using the mixer module for music

README.rst

Lines changed: 0 additions & 154 deletions
This file was deleted.

TODO.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33

44
# General
55

6-
- [**WIP**] Test migrating to ModernGL
76
- Properly verify all settings
87
- Make EffectControllers
98
- Controller for capturing with ffmpeg
109
- TrackSystemEffectController
1110
- SimpleTimeLineEffectManager
1211
- Shaders
13-
- Improve error prints (use actual source from GL so we can see expanded typedefs)
12+
- Improve error reporting (use actual source from GL so we can see expanded typedefs)
1413
- Core loader support for common formats
1514
- Custom loader support / less hacky loading
1615
- Generic Data:
@@ -19,7 +18,7 @@
1918
- FBOs
2019
- Textures
2120
- Settings configurable key bindings
22-
- [**WIP**] Font support
21+
- [**WIP**] Font support
2322

2423
# OpenGL Features
2524

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
name="demosys-py",
55
version="1.0.1",
66
description="Modern OpenGL 3.3+ Framework inspired by Django",
7-
long_description=open('README.rst').read(),
7+
long_description=open('README.md').read(),
8+
long_description_content_type='text/markdown',
89
url="https://github.com/Contraz/demosys-py",
910
author="Einar Forselv",
1011
author_email="[email protected]",

0 commit comments

Comments
 (0)