问题标签 [pyrender]

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 投票
0 回答
1627 浏览

python - 使用 PyRender 或类似的 Python 库手动纹理网格?

我有一个房间的部分网格,我试图用从它的特定相机视图拍摄的图像来纹理化。我pyrender用来做渲染。.obj如果我从已经纹理化的文件中加载网格,渲染会正确显示纹理。但是,当我采用无纹理网格并尝试添加单个图像纹理时,它会呈现为纯色。

这是我用于获取网格顶点/面并构建纹理 pyrender 网格对象的代码:

如果给定文件中带有纹理的网格,则渲染管道的其余部分可以正常工作.obj。事实上,我知道所有顶点的uv坐标都在图像边界内,但并非所有图像都被使用(因为网格有一些间隙)。关于这里可能出了什么问题的任何想法,或者关于如何使用另一个库对网格进行纹理化的任何建议?

谢谢!

0 投票
1 回答
952 浏览

python - 将场景渲染为pyrender中的图像后如何获取对象的像素坐标?

我正在尝试获取使用 pyrender 渲染的对象的像素坐标(x,y)。目的是获取该对象的边界框坐标。我使用 OffScreenRenderer 来渲染场景。

可用信息:camera_to_world 姿势矩阵

首先,我尝试绘制对象的质心,如下所示:

我得到以下信息: 图像图

同样,同一对象的边界框图在这里

有谁知道我如何获得渲染对象的确切质心和框坐标?谢谢你。

0 投票
1 回答
148 浏览

scene - pyrender ValueError:网格已经绑定到上下文

我的任务是为给定的样本大小渲染图像。首先,我在 pyrender 场景中添加 5 个网格,渲染图像,然后从场景中移除网格。对于给定的样本大小,继续此迭代。但是,在第二个循环中,我收到了这个错误 ValueError: Mesh is already bound to a context

谁能帮我理解这个错误的含义以及如何纠正这个错误?谢谢你。

0 投票
1 回答
193 浏览

python - 使用 pyreder/pyglet/openGL 将 3d 顶点映射到像素

我正在使用图像实现 3d 点估计的新算法,现在我正在尝试在 3d 虚拟模型上对其进行测试,然后再转向真实对象。

算法输入是最后一次转换为视口大小之前的像素,因此要在渲染图像上测试算法,我需要知道形状中像素的反向转换([0,witdh],[0,height])。

我正在使用 pyrender 库中的透视投影来渲染 3d 网格的 2d 图像,据我所知,这个库使用 OpenGL 方法进行渲染。

示例:我有一个尺寸=(3,1,5), center=(0,0,0) 的盒子网格,并且我有投影和视图矩阵

这是我将 3d 点/顶点映射到像素的计算:

当 viewport_sizes=(width,height)=(512,512)

结果= [150.86775635, 4.28475523, 1.00894365, 1. ]= (151,4)

当 pyrender 对该顶点的实际结果是像素时 ~ (90,342)

如果有人知道 pyrender/OpenGL 幕后的实际过程,或者知道如何正确映射像素,那将非常有帮助。

顺便说一句:当库使用左上映射时,我知道我的函数使用左下映射,但它仍然给出了意外的输出。

0 投票
0 回答
24 浏览

pyrender - 如何从 pyrender 中的 3d 世界坐标中获取像素坐标

使用 pyrender,当已知以下内容时,如何获取 3d 世界坐标的像素坐标:

  • pyrender.OrthographicCamera实例
  • pyrender.OffscreenRenderer带有参数 offscreen_width 和 offscreen_height 的实例
  • 要映射到屏幕/图像的点的 xyz 世界坐标

我找到了一个声称与 相关的stackoverflow 答案pyrender,但我不知道如何获取该答案的方法参数 ( projection & view) 的值。

任何帮助表示赞赏!

0 投票
1 回答
17 浏览

python - 用于 distroless 的 pyrender 容器多阶段构建

我有以下多阶段构建将 pyrender 添加到 distroless continer

如果我在里面运行 pyrenderdebian:11-slim它一切正常但是当我将库移动到 distroless 并尝试运行时import pyrender我得到

或者

我确实将环境变量设置为os.environ['PYOPENGL_PLATFORM'] = 'egl'

关于我做错了什么的任何指示?我想用 distroless 而不是 debian 映像运行它。