问题标签 [python-moderngl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
918 浏览

python - PyQt5 选择可用的最新 OpenGL 版本

我在 PyQt5 中编写了一个应用程序。我想使用可用的最新 OpenGL 版本。我也想要一些向后兼容性。

目前我有:

但是我想尽可能使用最新版本。

我需要类似的东西:

这是我的代码:

编辑1:

如何编写像supported()上面这样的函数?

编辑2:

我运行版本查询,窗口要求支持 OpenGL3.3:

0 投票
1 回答
186 浏览

python - How to center a subclass of QGLWidget in PyQt5

I have an example program in PyQt5

I have a class:

And a main program:

Currently the window's location is somewhere between the center and the bottom right corner, please see the image:

wrong-pos

How to center the window/widget on the screen in PyQt5?

03_alpha_blending.py

0 投票
1 回答
1550 浏览

python - 如何使用 python sphinx 链接到外部库?

我在 RTD 上记录了一个 python 模块:http: //modernglextexttools.readthedocs.io

这是另一个模块的扩展,我想在两者之间建立联系。我希望参数和返回类型作为链接工作。这是一个例子

我的conf.py

这是链接外部类的方法的示例。外部类是ModernGL.Context. 我不确定是否必须配置记录此类的位置。但它应该指向这个链接

0 投票
2 回答
1040 浏览

python - 如何将moderngl fbo(帧缓冲区对象)读回numpy数组?

我有 2 个 FBO 之一,我一直在用它在 glsl 中进行一些计算,我需要将纹理数据(dtype='f4')读回一个 numpy 数组以进行进一步计算。我在文档中没有找到任何解释如何执行此操作的内容。有什么帮助吗?

我用这个创建纹理

我像这样处理它们:

0 投票
1 回答
259 浏览

python - Z维度在moderngl中消失了吗?

我一直在尝试旋转一个物体,但在旋转后,我意识到它只是平的。奇怪的是,我可以清楚地看到 z dim 的输入在那里,只是没有被考虑进去。这是我的代码:

这就是我旋转时得到的结果。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我本来期望的是立方体的轮廓,而不是飞机的轮廓。

我什至不确定是什么导致了这种影响。我最初认为这与 vec3 的对齐有关,但我将 vertex + vbo 代码替换为使用 vec4s,但它仍然不起作用。我不知道我的深度是如何被“移除”的。我不熟悉,pyrr所以可能有些矩阵转换不正确?

0 投票
0 回答
190 浏览

python - 使用 Python moderngl 计算 100 张图像之间的欧几里德距离的最佳方法是什么?

我基本上是在寻找熟悉 Python 库moderngl的人。我正在用不同的进化算法进行一些实验来排列多边形,目的是重现参考图像,从而最小化参考图像和进化图像之间的欧几里德距离。可能对某人来说听起来很熟悉!

多边形被编码为以下格式的向量:

x1, y1, x2, y2,... xm, ym, r, g, b, a

其中 m 是多边形的顶点数。xi 和 yi 是正整数,编码图像中的像素位置,r、g、b 和 a 是 0 到 255 之间的正整数,编码多边形凸包中像素值的红色、绿色、蓝色和 alpha。

一个人被编码为:

[shape1, shape2, shape3,...shapen],其中 n 是个体中的形状数(通常为 250)。

此外,可能有大约 500 个人。

每个个体都被转换成一个图像,即 r、g、b 和 a 值的数组,并通过欧几里德距离与参考图像进行比较。这当然需要对重叠多边形进行一些 alpha 复合计算。转换为像素值始终是我代码中的瓶颈,我尝试了多个图像库。Opengl 似乎是使用 Python 的方式,而moderngl 特别合适,因为我不需要窗口。我的问题是,对于我的速度任务,使用 moderngl 的最佳方法是什么?(你必须原谅我,因为我是 Moderngl 的菜鸟)。是否可以同时渲染我的整个人口作为纹理?并计算opengl中的所有欧几里得距离?还是我需要单独制作每张图片?

这可能是moderngl中最接近我想要的例子:

可在此处获得:https ://github.com/moderngl/moderngl/tree/master/examples

我显然会删除旋转的东西。

我知道如果需要在 numpy 中计算距离,我可以使用 np.frombuffer() 将缓冲区读入 numpy 数组。但如果可能的话,输出从moderngl 的距离可能会更快。

将其变成我想要的或指针有什么帮助吗?

0 投票
1 回答
534 浏览

python-3.x - 如何从 Pyopengl 中的 3-D numpy 数组创建表面?

我创建了一个由 X、Y 和 Z 轴坐标组成的 3-d numpy 数组。现在我正在尝试在 opengl 中使用这些点创建一个曲面,但我所取得的成功只是创建了如下所示的线模型模型。任何人都可以建议更改我的代码以从数据中形成实际的 3-D 表面吗?数据文件使用链接https://drive.google.com/open?id=1PWbNIt3xbchtQ9HIIS96k7ZjblzPO_wO

代码:-

0 投票
1 回答
153 浏览

python-3.x - 如何在pyopengl中设置多条线图的背景灰度?

我有一个使用 Pyqt 在 Pyopengl 中绘制的二维 numpy 数组。现在我想设置绘图灰度的背景,这样当线条向上或向下移动时,它的背景灰色会改变强度。我正在为我想要的行为附加图像。p

但到目前为止我所能创造的只是像这样的白色背景在此处输入图像描述

我写的代码是

谁能建议我解决这个问题的任何方法?

文件链接https://drive.google.com/file/d/1y6w35kuMguR1YczK7yMJpXU86T6qtGSv/view?usp=sharing

编辑:- 我试图增加点的线宽并为它们设置颜色,但结果甚至不令人满意。在此处输入图像描述. 而且我无法理解如何在三角形中传递颜色?

0 投票
2 回答
191 浏览

headless - 现代gl无头你好世界给出了意想不到的结果

在无头模式下运行时,我遇到了 Moderngl 最新版本的一个非常奇怪的问题。下面的代码应该给我一个三角形,它在右侧和顶部接触视口的边缘,但右侧和顶部的顶点在视口之外延伸了 1.98 左右的一些奇数因子。将 x 和 y 值更改为 0.5 不会改变输出。这在 OSX 和 Linux 上是一样的。有谁知道这里发生了什么?

输出是: 文本

更新:显然,当我使用“结构”模块时,问题就消失了。

是什么赋予了??

0 投票
1 回答
1393 浏览

opengl - 如何在 Colab 中运行moderngl?

我正在尝试在 Colab 中运行moderngl。我安装了它并运行了一个虚拟显示器:

它按预期打印,但是当我运行一个示例时,我看到了错误:

我也尝试了另一个虚拟显示器,但结果是一样的: