FlorianRhiem / Pyglfw
Licence: mit
Python bindings for GLFW
Stars: ✭ 136
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Pyglfw
Rabbittoolbox
🤸🏾♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (+127.21%)
Mutual labels: opengl, glfw
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+292.65%)
Mutual labels: opengl, glfw
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+2641.18%)
Mutual labels: opengl, glfw
Nimgl
NimGL is a Nim library that offers bindings for popular libraries used in computer graphics
Stars: ✭ 218 (+60.29%)
Mutual labels: opengl, glfw
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+7438.24%)
Mutual labels: opengl, glfw
Glfw.jl
Julia interface to GLFW, a multi-platform library for creating windows with OpenGL contexts and managing input and events.
Stars: ✭ 82 (-39.71%)
Mutual labels: opengl, glfw
Lwjgl3 Tutorial
Tutorial for the Lightweight Java Game Library (LWJGL) 3
Stars: ✭ 199 (+46.32%)
Mutual labels: opengl, glfw
Opengl cmake skeleton
❤️ A ready to use cmake skeleton using GLFW, Glew and glm. 👍
Stars: ✭ 118 (-13.24%)
Mutual labels: opengl, glfw
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+33.09%)
Mutual labels: opengl, glfw
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+2502.94%)
Mutual labels: opengl, glfw
Flextgl
OpenGL and Vulkan header and loader generator.
Stars: ✭ 180 (+32.35%)
Mutual labels: opengl, glfw
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+298.53%)
Mutual labels: opengl, glfw
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-0.74%)
Mutual labels: opengl, glfw
Cute Deferred Shading
Cute little deferred shading implementation.
Stars: ✭ 129 (-5.15%)
Mutual labels: opengl
pyGLFW
This module provides Python bindings for GLFW <http://www.glfw.org/>
__
(on GitHub: glfw/glfw <http://github.com/glfw/glfw>
__). It is a
ctypes
wrapper which keeps very close to the original GLFW API,
except for:
- function names use the pythonic
words_with_underscores
notation instead ofcamelCase
-
GLFW_
andglfw
prefixes have been removed, as their function is replaced by the module namespace (you can usefrom glfw.GLFW import *
if you prefer the naming convention used by the GLFW C API) - structs have been replaced with Python sequences and namedtuples
- functions like
glfwGetMonitors
return a list instead of a pointer and an object count - Gamma ramps use floats between 0.0 and 1.0 instead of unsigned shorts
(use
glfw.NORMALIZE_GAMMA_RAMPS=False
to disable this) - GLFW errors are reported as
glfw.GLFWError
warnings if no error callback is set (useglfw.ERROR_REPORTING=False
to disable this, set it to 'warn' instead to issue warnings, set it to 'log' to log it using the 'glfw' logger or set it to a dict to define the behavior for specific error codes) - instead of a sequence for
GLFWimage
structs, PIL/pillowImage
objects can be used
Installation
pyGLFW can be installed using pip:
.. code:: sh
pip install glfw
Windows
The GLFW shared library and Visual C++ runtime are included in the Python wheels.
To use a different GLFW library, you can set ``PYGLFW_LIBRARY`` to its location.
macOS
~~~~~
The GLFW shared library for 64-bit is included in the Python wheels for macOS.
If you are using a 32-bit Python installation or otherwise cannot use the
library downloaded with the wheel, you can build and install it yourself by
`compiling GLFW from source <http://www.glfw.org/docs/latest/compile.html>`__
(use ``-DBUILD_SHARED_LIBS=ON``).
pyGLFW will search for the library in a list of search paths (including those
in ``DYLD_LIBRARY_PATH``). If you want to use a specific library, you can set
the ``PYGLFW_LIBRARY`` environment variable to its path.
Linux
~~~~~
The GLFW shared library is included in the Python wheels for Linux.
If you cannot use these on your system, you can install the GLFW shared
library using a package management system (e.g. ``apt install libglfw3``
on Debian or Ubuntu) or you can build and install it yourself by
`compiling GLFW from source <http://www.glfw.org/docs/latest/compile.html>`__
(use ``-DBUILD_SHARED_LIBS=ON``).
pyGLFW will search for the library in a list of search paths (including those
in ``LD_LIBRARY_PATH``). If you want to use a specific library, you can set
the ``PYGLFW_LIBRARY`` environment variable to its path.
Example Code
------------
The example from the `GLFW
documentation <http://www.glfw.org/documentation.html>`__ ported to
pyGLFW:
.. code:: python
import glfw
def main():
# Initialize the library
if not glfw.init():
return
# Create a windowed mode window and its OpenGL context
window = glfw.create_window(640, 480, "Hello World", None, None)
if not window:
glfw.terminate()
return
# Make the window's context current
glfw.make_context_current(window)
# Loop until the user closes the window
while not glfw.window_should_close(window):
# Render here, e.g. using pyOpenGL
# Swap front and back buffers
glfw.swap_buffers(window)
# Poll for and process events
glfw.poll_events()
glfw.terminate()
if __name__ == "__main__":
main()
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].