Снимки GL содержат только верхний левый угол

На моем компьютере во время работы мои снимки rgl содержат только верхний левый угол отображаемого устройства GL. Для Python с помощью Mayavi работает экранный снимок. Однако использование закадрового рендеринга приводит к той же ошибке. К сожалению, моя проблема не воспроизводима, так как в домашних условиях использование того же сценария работает, как и должно. Поэтому, я думаю, это должно быть связано с mesa, но я понятия не имею, где искать свою неверную конфигурацию. Оба компьютера работают под тестированием Debian, но я уже некоторое время сталкиваюсь с этой проблемой. Я нашел комментарий в другой теме об этой проблеме, но решение не было предоставлено.

Вот код R, который я запустил:

library(rgl)
shade3d(cylinder3d(matrix(c(1, -1, 2, -2, 0, 5), 2)), color="red")
rgl.viewpoint(0, -55, fov=30, zoom=0.6)
rgl.snapshot("rgl2.png")

В результате rgl.snapshot, но должен быть rgl screenshot

Код Python, который я использовал

from mayavi import mlab

kwargs = dict(color=(.0,.33,.0), mode='cone', resolution=20, scale_mode='none', scale_factor=0.12, opacity=0.67)
cone = mlab.quiver3d(0, 0, 0, -1.0, 0.0, -1.0, **kwargs)
mlab.savefig('mayavi.png')
mlab.close()

from tvtk.api import tvtk
from tvtk.common import configure_input_data

mlab.options.offscreen = True
fig=mlab.figure()
kwargs = dict(color=(.0,.33,.0), mode='cone', resolution=20, scale_mode='none', scale_factor=0.12, opacity=0.67)
cone = mlab.quiver3d(0, 0, 0, -1.0, 0.0, -1.0, **kwargs)
rw = tvtk.RenderWindow(size=fig.scene._renwin.size, off_screen_rendering=1)
rw.add_renderer(fig.scene._renderer)
w2if = tvtk.WindowToImageFilter()
w2if.magnification = fig.scene.magnification
w2if.input = rw
ex = tvtk.PNGWriter()
fname = 'mayavi_offscreen.png'
ex.file_name = fname
configure_input_data(ex, w2if.output)
w2if.update()
ex.write()

Результаты эквивалентны. Первый (mlab.savefig) работает так, как должен, но второй (ex.write) приводит к левому верхнему углу только как в приведенном выше примере R.

Кто-нибудь испытывал такую ​​же проблему и решил ее? Какие-либо предложения? Нужна дополнительная информация (peglxinfo, ...)?

Спасибо и добрые пожелания

Йорг

1 ответ

Спустя некоторое время и несколько обновлений ядра и обновлений mesa, я переключился на проприетарные драйверы nvidia, и это сработало. Я бы предпочел придерживаться незапятнанного ядра, но лучшего решения не нашел.

Другие вопросы по тегам