moderngl
Guide-to-Modern-OpenGL-Functions
Our great sponsors
moderngl | Guide-to-Modern-OpenGL-Functions | |
---|---|---|
12 | 16 | |
1,776 | 965 | |
2.1% | - | |
9.2 | 3.6 | |
11 days ago | over 2 years ago | |
Python | ||
MIT License | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
moderngl
- Interactive Web App for Learning Shaders - Editor with Real-Time Preview
-
Quick question, how do I set an uniform of a fragment shader in ModernGL?
You can see how to do it here: https://github.com/moderngl/moderngl/blob/master/examples/fragment_output.py
- [Computer Graphics] moderngl/moderngl: Modern OpenGL binding for python
-
No, it’s not useless
making an executable is an absolute pain but PySide6, DearPyGui, moderngl and much more exists
-
Pycharm does not see module in virtual environment at runtime, although running it from the cmd has no issues
Whenever I try to run examples/loading_obj_files.py from moderngl/moderngl: Modern OpenGL binding for python (github.com) , I get this error:
-
Is there such a good OpenGL package in Python like rgl for R?
Not sure what rgl supports, but there's https://github.com/moderngl/moderngl - provides Pythonic wrapper around OpenGL functions.
-
GitHub - szabolcsdombi/zengl: ⚡ high-performance rendering for python
I'm guessing minimal overhead. The README says that it is a "simplification of a subset of ModernGL with some extras that were not possible to include in ModernGL." The documentation for ModernGL (lazy-link) talks about speed only in comparison with PyOpenGL, and says that it's faster since C++ calls are "bundled together," which I assume means that ModernGL (compared to PyOpenGL) does a little more than just wrapping - for good and bad.
-
To those who have written high speed graphics libraries in python, do those libs call low level executable functions written in C?
I would not use Pyglet, I would use ModernOpenGL. https://github.com/moderngl/moderngl It's still OpenGL but with a more pythonic interface and way less useless boilerplate. Plus you get access to modern features by default (in fact, are required, and btw modern = more than a decade old), and I believe pyglet still relies on old immediate mode opengl.
-
PSA: Reinstall python-moderngl-git (and manim) if you got it from the AUR
As you can see, the new version is dramatically lower than the previous one, but it is consistent with the package's tags. The downside is that this won't trigger your AUR helper to update the package, so you'll have to do it manually. You may also want to just reinstall manim as a whole to account for the new dependency version.
-
Need help with compute shader
I am currently trying to use a compute shader to compute 2D projection of 3D points (to create a little 3D renderer in python). I am using the moderngl library, and this is my code. So my compute shader is using 2 buffers: 1 for input and 1 for output. The input is composed of 3 vec3 (to represent the 3 3D points for a triangle), and the output will be 3 2D points. The code I showed you here is for testing, which just takes the input values and put them in the output buffer. Here is my problem:
Guide-to-Modern-OpenGL-Functions
-
What are things like SDL2, and OpenGL?
it shouldnt be, it uses opengl 3 which isnt deprecated (though after learnopengl.com, you should look at this https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions to learn the more modern way of using opengl) though bugs in opengl are usually kindof difficult to track down, one time i was certain everything was right but it was only a black screen, so i deleted all of the code and rewrote it exactly the same and it worked (100% just a silly mistake on my part though) as for the root_directory.h thing, without any context i cant really help you there
- converting legacy OpenGL to modern openGL
-
Learning opengl 4.6?
https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions probably has all you need to cover DSA features, but by itself you won't understand it - it basically just tells you how these modern functions replace older functions.
-
OpenGL learning tutorials
I personally think there are enough 3.3 tutorials out there, and that new ones should teach the modern paradigms introduced in OpenGL 4.X (DSA, immutable storage, sampler objects, vertex format, etc.). Basically, things mentioned in this post and this repo.
- Could only get the blue and red books for OpenGL 4.3
-
What is the best OpenGL version to start with right now?
but other than that, if you just target desktop computers, there is no reason to go lower than 4.6 or 4.5 - if some GPU doesn't support it, it's probably too old for intensive graphics anyway. Stick with 4.5+ as DSA is worth it.
-
Where do I go to learn more about MODERN modern OpenGL (e.g. 4.5/4.6)
This guide teaches some of the modern OpenGL functions (particularly DSA and VertexAttribFormat). https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions.
-
Can someone look at this example code I've written to make sure I'm utilizing two VAOs properly?
an alternative way would be DSA. Have a look here: https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions and example code here https://github.com/Fr3nchK1ss/OpenGL-4.6-Hello-Triangle
-
Is there an "Effective Modern C++" version of OpenGL?
Maybe that helps a bit. DSA is pretty straightforward. https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions . There is a lot more to modern OpenGL than just DSA. If you want to deep dive into modern rendering (and modern OpenGL) I can suggest https://www.amazon.de/Graphics-Rendering-Cookbook-comprehensive-algorithms/dp/1838986197/ref=mp_s_a_1_1?crid=NLRU5UJZT0IH&keywords=modern+rendering+cookbook&qid=1649074763&sprefix=modern+rendering+cookbook%2Caps%2C163&sr=8-1
-
Does reading glfw library Documents make me learn opengl?
and then https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions for an actually sane and nice way of working with OGL.
What are some alternatives?
Open3D - Open3D: A Modern Library for 3D Data Processing
OpenGL-4.6-Hello-Triangle - The famous OpenGL "Hello triangle" using shaders. It uses the OpenGL 4.5 functionality called Direct State Access.
pyglet - pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.
Startup-Landing - Collection of free top of the line startup landing templates built using react/nextjs/gatsby. Free to download, simply edit and deploy! Updated weekly!
Panda3D - Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
M5E-SRD - The Modern5E Systems Reference Document (SRD).
zengl - Self-Contained OpenGL Rendering Pipelines for Python :snake:
awesome-vulkan - Awesome Vulkan ecosystem
ModernGL-Shader-with-pygame - you can use this class to give pygame a shader to render screen. it is easy to use.
glFast - Public domain header-only C library that uses only 40 modern DSA AZDO OpenGL functions. Project by https://twitter.com/relativetoyou
pygame_shaders - a library to easily integrate shaders into your new or existing pygame projects
apitest - Simple comparison framework for APIs