oogli是一个漂亮的面向对象图形库接口
oogli的Python项目详细描述
动机:
我对制作易读和 理解opengl代码。这个小图书馆有助于消除 opengl的api中固有的样板。oogli大大简化了 接口,同时仍提供对底层glfw3和 opengl api。
许可证:
此软件包作为Apache2.0许可证发布。
但是,您可以选择应用任何OSI批准的免费软件 您选择的许可证,前提是您遵守自由软件许可证 选择并另外遵循以下标准:
- 列出此软件的作者姓名作为 最终产品
- 向产品或软件的最终用户提供信用 您的最终用户要求您从何处获得软件
- 通知此软件的作者您正在使用此软件
- 如果你相信提供你的改变会有一些好处 在上游,您将提交一个更改请求。而这个标准是 完全可以选择,请考虑不要做一个混蛋。
安装:
oogli的设计考虑了glfw-cffi,并使用了 GLFW-CFFI公司。此外,oogli使用numpy。
通过PIP安装
通过pip install oogli安装。
通过PIP
安装GLFW-CFFI通过pip install glfw-cffi安装。
通过pip
安装numpy通过pip install numpy安装。
安装glfw3
GLFW3可用于多种不同的平台:
- ubuntu/debian:sudo apt-get install -ylibglfw3-dev
- 软呢帽/红帽:^{TT5}$
- 带自制程序的Mac OS X:^{TT6}$
- windows:有一个可用的安装程序64-bit Windows 或32-bit Windows
glfw3是相对较新的,所以一些较旧的linux安装可能不会 直接提供libglfw。你可以看看 travis.yml github repo中的文件,以获取有关在旧版本上安装的详细信息 系统。
用法:
示例用法:
这是使用oogli生成着色三角形所需的代码:
import oogli v_shader = ''' #version 410 in vec2 vertices; void main () { gl_Position = vec4(vertices, 0.0, 1.0); } ''' f_shader = ''' #version 410 out vec4 frag_color; void main () { frag_colour = vec4(0.3, 1.0, 0.3, 1.0); } ''' # Create a program from the shaders # Note: This will auto request an OpenGL context of 4.1 program = oogli.Program(v_shader, f_shader) # Vertices for a 2D Triangle triangle = [(0.0, 0.5), (-0.5, 0.5), (-0.5, -0.5)] with oogli.Window('Oogli', 640, 480) as win: # Main Loop while win.should_run() # Render triangle program.draw(vertices=triangle)
更复杂的示例可以在 Github回购。
贡献:
欢迎捐款。打开公关时,请保留以下内容 牢记的准则:
- 在实施之前,请提出一个问题供讨论。
- 确保你有新逻辑的测试。
- 确保代码通过flake8
- 将自己添加到README.md和/或 贡献。
贡献者
- Brian Bruggeman-发起人