问题标签 [pyglet]

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 投票
2 回答
2712 浏览

python - 如何用pyglet显示一个numpy数组?

我有一个尺寸为 (100*100) 的标签矩阵,存储为一个 numpy 数组,我想用 pyglet 显示该矩阵。

我最初的想法是使用函数 pyglet.image.ImageData() 使用这个矩阵来形成一个新的 pyglet 图像。它需要图像数据的缓冲区作为输入,但是我不知道如何从 numpy 数组中获取正确格式化的缓冲区。

有人知道吗?

附言。我目前的解决方案:

用numpy从3个[100*100]矩阵构造一个[100*100*3]矩阵的更好方法吗?

0 投票
1 回答
3857 浏览

python - pyglet(python)中的像素绘图

好的。我厌倦了谷歌搜索和阅读大量没有结果的文档。

我的目标很简单:让 pyglet 逐个像素地绘制图像。

我一直在寻找几个小时没有结果。任何人都可以举一个简短的程序示例,该程序在显示中逐个像素地指定颜色吗?例如:绘制从黑色到白色的渐变。

0 投票
3 回答
3721 浏览

python - 无法导入 pyglet.media.avbin

我的回溯如下:

我在 system32 中运行禁用 dep 和 avbin.dll 的 Windows 7 32 位。任何建议都非常感谢!

0 投票
3 回答
3082 浏览

python - 在 Pyglet 中设置单个像素

有没有办法在 Pyglet 中为图像数据设置单个像素值?

我想也可以通过将OpenGL渲染模式设置为点来完成,所以如果有人对此有见解,也请分享。

0 投票
2 回答
555 浏览

python - OpenGL:在 python 中加载时模型看起来不正确

我有一个搅拌机模型,下面是我将模型加载到 python 时如何渲染的图像。看起来法线都搞砸了。我为每个顶点使用正确的法线。我以正确的顺序导出它们。我在搅拌机控制台中对此进行了测试,实际导出文件具有正确的数据。

我知道我必须在 python 中旋转模型,因为 z 轴不同,所以我不确定法线 z 是否指向错误的方向。

我正在使用pyglet。以前有人遇到过这个问题吗?关于我可以做些什么来尝试解决它的任何想法?

我不确定这是 OpenGL 还是 python 问题。

opengl设置代码:

绘制代码:

替代文字

0 投票
1 回答
643 浏览

python - 使用pyglet读取像素的RGB值的问题

对于一个编程项目,我需要使用 pyglet 从加载的图像中读取像素。我使用“pyglet.image.load('map.png')”来加载图像,我发现你可以使用img.get_image_data()来检索图像数据。我用线mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)

从位于 (x,y) 的像素读取数据。这就是我卡住的地方。当我打印上一行的结果时,我得到一个空白区域。谁能澄清我如何从 get_data() 函数返回的字符串中提取 RGB 值?

谢谢!

0 投票
2 回答
4423 浏览

python - 在opengl中混合2d和3d(使用pyglet)

我试图在 pyglet 中的 opengl 中混合 2d 和 3d,即绘制 3d 场景然后切换到正交投影并在顶部绘制东西。我绘制 3d 的东西,将投影矩阵推入堆栈,做一个 glOrtho 投影矩阵,绘制 2d 的东西,然后从堆栈中弹出前一个矩阵。3d 的东西画得很好,但由于某种原因,2d 部分根本没有画,即使是自己画的。这是代码:

0 投票
1 回答
1091 浏览

python - 从 pygame+rabbyt 迁移到 pyglet+rabbyt 时坐标发生变化

我正在开发一款 2D 游戏,并决定从 SDL 切换到 OpenGL。我把 rabbyt 作为一个 opengl 包装器来渲染我的精灵,并使用 pymunk(花栗鼠)来做我的物理。我使用 pygame 创建窗口,使用 rabbyt 在屏幕上绘制精灵。

我发现使用 pygame+rabbyt 时,(0,0) 坐标位于屏幕中间。我喜欢这个事实,因为物理引擎中的坐标表示与我的图形引擎中的相同(渲染精灵时我不必重新计算坐标)。

然后我切换到 pyglet,因为我想用 OpenGL 画线 - 突然发现 (0,0) 坐标位于屏幕的左下角。

我怀疑这与 glViewport 函数有关,但只有 rabbyt 执行该函数,pyglet 仅在调整窗口大小时才会触及它。

如何在屏幕中间设置 (0,0) 坐标?

我对OpenGL不是很熟悉,经过几个小时的谷歌搜索和试错后找不到任何东西......我希望有人能帮助我:)

编辑:一些附加信息:)

这是我的 pyglet 屏幕初始化代码:

这是我的 pygame 屏幕初始化代码:

编辑 2:我查看了 pyglet 和 pygame 的来源,并没有在屏幕初始化代码中发现与 OpenGL 视口有关的任何内容......这是两个 rabbyt 函数的来源:

谢谢,史蒂芬

0 投票
3 回答
1044 浏览

python - 在 3D openGL 世界中创建 2D 界面的问题

我正在做一个项目,该项目需要我创建一个“在顶部”或 3D 世界呈现的 2D 界面。在其他一些论坛上,我读到您可以使用“GluOrtho2D()”来完成这项工作,并在完成后切换回 GluPerspective()。唯一的问题是,我为它编写的测试代码只显示 3D 世界,而不是 2D 四边形。但是,当我禁用 3D 渲染代码时,四边形出现在它应该在的位置。我将代码精简为仅限 openGL 的语句,我在下面写下了这些语句。代码是使用 Pyglet 库用 Python 编写的。


场景初始化代码:

帧渲染代码。对 builder.buildMap() 的调用创建了 3D 场景,而 glBegin-glEnd 对绘制了一个 2D 四边形:

stage.set3DMode 函数:

和 stage.set3DMode 函数:

我真的希望有人能指出我的错误!谢谢你帮助我:)

0 投票
2 回答
380 浏览

python - 如何组织一个3D游戏的结构?

这是一个有点模糊的问题,但请耐心等待。我正在使用 Python/Pyglet 和 openGL 编写游戏。我目前将其结构化,以便有一个名为“世界”的对象,其中是其他对象,其中包含其他对象等。我这样做是因为例如游戏的一部分是一个平台,上面有其他对象,当我倾斜平台时,我希望平台上的物体随之倾斜。所以我做了platform.draw(),它调用了glRotate、glTranslate,然后绘制了每个保存模型视图矩阵的对象,这样平台上的所有对象一起移动。第一个问题是,这是一种合理的组织方式还是我应该使用其他方法?

我没有相机课程,目前我只是在翻译整个世界或其中的一部分以产生运动的错觉。但是,将来我希望能够在对象之间切换视点,例如从从上方俯视世界切换到从世界中的一个对象的第一人称视图。所以第二个问题是什么是构建我的程序的最佳方式,以便将来可以实现?