LINUX.ORG.RU

31
Всего сообщений: 732

Аппаратное ускорение на Raspberry Pi разных поколений.

В 4х (или даже 5ти) поколениях Raspberry Pi поддерживается аппаратное ускорение 3D и воспроизведения видео, однако и API, и степень их поддержки разные. В форумном посте на Raspberry Pi forum пользователь собрал основные моменты для разных поколений пишек и степень их «проработанности» плюч полезные ссылки.

Переаодить мне лень (да и там много текста), но кому интересен сабж — рекомендую глянуть. А то в этом зоопарке черт ногу сломит.

https://forums.raspberrypi.com/viewtopic.php?f=67&p=1901014

 , , ,

tis ()

Как преобразовать 3d в 1d и наоборот?

допустим есть модель комнаты, ее надо преобра3овать в вектор, а потом обратно? Чота слышал есть такое при модуляции в сетевом оборудовании

 , ,

bad_master ()

Рендеринг без Иксов.

Здравствуйте.

Кто-нибудь знает, можно ли какой-нибудь софтиной производить рендеринг проектов из blender без использования Иксов?

Ну например отправить редериться проект на какой-нибудь мощный сервер (с видюхой).

 , ,

zx_gamer ()

Удаленка во плоти

Есть ли уже какие-то реальные подвижки, которые пощупать можно?

Чтобы не камерами удаленно присутствовать, а например, передача 360 панорамы (да хоть бы 140-160 для начала) и управлять можно удаленным «телом» робота. В идеале еще и всякие датчики вибрации для эффекта присутствия.

Например, сижу я сейчас в Москве, а удаленно вышел погулять в Киеве или наоборот?

 , ,

praseodim ()

Ian Hubert - Dynamo Dream Ep.1 - сериал полностью сделанный в Blender одним человеком

https://www.youtube.com/watch?v=LsGZ_2RuJ2A

Этот поражающий воображение мир за 3 года сделан в Blender безумным гением Ианом Хубертом(Ian Hubert), широко известным в кругах Blender-сообщества. Поражает и то, что такой фантастический объем работ был выполнен практически в одни руки.
Blender использовася во всем продакшн процессе: от моделлирования и шейдинга до композитинга и трекинга камеры а также рендеринга. В качестве рендера в основном применен Eevee.

Как это работает можно посмотреть в VFX Breakdown: https://www.youtube.com/watch?v=FFJ_THGj72U

 ,

soslow ()

Анимация механики blender (ведущая балка колёсной пары локомотива)

Привет, есть такая колёсная пара локомотива https://i.ibb.co/hgh40LZ/2021-04-05-14-17-45.png без других механических деталей. В общем как анимировать механику? Вращение я понял как для всех объектов переключаюсь на вращение кватернионами (эйлер говно) затем включаю автоматическую установку ключевых кадров, делаю вращение вокруг центров объектов (колёса отдельные) и попутно смещаю ключевые кадры, получаю 5 опорных кадров которые делают вращение всё хорошо, затем думал также анимировать ведущую балку, но блендер запоминает то как я перетащил балку от места до места эммм не то, нужно как полагается ну типа вот https://i.gifer.com/origin/bc/bcf2be8664eddd3a16c29343c8f9999c_w200.gif. Есть модификатор который от изменения положения одного объекта трансформирует другой, но я хз оно работает хорошо с шестирёнками или тип того. В общем прошу кинуть ссылку или доку или ещё что по этой теме. Так то предполагается ещё десяток механических соединений и их анимации (локомотив приводится в движение пневмоприводом который сам крепится на ось и шатается толкая ведущую балку например) так что мне не частный случай желательно а общий. Помогите советом. Или пните в нужную сторону.

Если важно то потом буду экспортировать в SMD валвовский.

 , , , ,

LINUX-ORG-RU ()

Как максимально эффективно использовать LDS в шейдерах?

Исходные данные: я уже писал что делаю игру. Для растеризации воксельных объектов которые могут быть изогнуты нужно растеризовать как переднюю «грань» ограничивающего объема так и заднюю. Аппаратный растеризатор такого делать не может, поэтому я нагуглил научные статьи на тему, и придумал алгоритм.

В нем есть недостаток: для каждого тайла 8х8 работать реально будут только несколько потоков. Хотелось бы их объединять с последующими. Это можно сделать если не сразу запускать вычисления а класть промежуточные данные в LDS.

то есть шейдер содержит в себе все стадии «конвейера» и переключается между ними по мере готовности. Для этого в LDS должен быть большой промежуточный буфер, с которым будут работать множество «warpов». Я туда буду паковать запросы а потом отрабатывать группами по 64.

Проблема в том, что требуемый объем LDS для эффективной балансировки - довольно большой. Значит(исходя из документации) требуется большой размер workgroup чтоб этот размер был 512 например. Эту цифру я нашел в доке по оптимизации от AMD. Но при этом мне надо, чтоб шейдерные потоки паралелились по 64 т.к. в пределах воркгруппы будут выполняться разные части конвейера.

Могу ли я, заспавнив workgroup размером 512 расчитывать на то, что в реальности это будет 8*64 потоков а не 512?

 ,

salozar ()

3D рисовалка множества шариков а-ля молекулярная динамика?

Сабж. Нужна утилитка которая принимает массив шариков (x,y,z центра, радиус, сорт/цвет) и рисует их в 3D при помощи OpenGL. Шарики неподвижны, связей между ними нет, они не пересекаются, то есть это проще чем визуализация молекулярной динамики.

Шариков может быть много (10^6). Нужно что бы сцену можно было крутить мышью/стрелками, менять масштаб и двигать плоскости отсечения.

Она должны быть простой в установке (с минимумом зависимостей) и с примитивным текстовым входным форматом.

Если это библиотека, то нужно что бы она была простая как табуретка в использовании (три строки кода) и с питоньим интерфейсом.

Есть вообще в природе такое?;-)

 , ,

AntonI ()

Что это?

https://www.youtube.com/watch?v=Uj8DYegtrHg

Зацикленное видео длиной около 320 секунд. Называется «10 hours | CityScape of Mars Base Alpha-1: Ambient Space Music, Sci-Fi, Future World». Кто-нибудь знает, кто и по какому случаю его создал?

 , ,

question4 ()

Очень низкая производительность графики

Полгода не играл ни во что и тут запустить любимую Европку, которая запустилась с производительностью 1 фпс. Сам Стим тоже как-то тормозит. Простенькая https://store.steampowered.com/app/646500/Egypt_Old_Kingdom/ работает запускается с 5 фпс. https://www.basemark.com/benchmarks/basemark-gpu/ вулкан как-то работает, не знаю, насколько хорошо, но, вроде, работает, а вот тест на опенгл запускается, но не шевелится.

Арч, ядро лтс, которое недавно стало 5.10, нвидия гтх 970. В настройках нвидии в разделах глх и опенгл вендор меса, разве не нвидия там должна быть, из-за ядра 5.10 проблемы?

РЕШЕНО:

Section "Files"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

 , ,

Ros ()

Нарисовать сферу с динамической текстурой в андроиде

Вопрос не про код а про общий подход как это можно сделать. Особенно интересно как это можно сделать для мобильников. Если какой-то движок позволяет такое делать с минимальными трудозатратами то это плюс.

Хочу нарисовать сферу, текстура на которой больше чем сама сфера и для того чтобы вернуться в исходную точку сферу нужно повернуть не на 360 градусов а на 720, или даже на 500 например.

Опционально если текстуру можно было бы рандомить на лету до бесконечности.

 , , ,

ya-betmen ()

3д модель из объекта в реале, обработка видео

Всем привет, вопроса два:

  1. Представим, что у меня есть некоторый видео ролик, где движется некий предмет. Нужно получить серию кадров, где все является прозрачным кроме самого объекта. Я себе это как-то так представляю: я беру первый кадр, обвожу желаемый объект руками, отдаю это в какую-то софтину и она сама корректируют заданную обводку по мере поступления новых кадров (ориентируясь на контраст цветов между областями, которые разделены обводкой), все пиксели, которые не попали в заданную рамку, подвергаются установке непрозрачности в ноль (альфа канал).

  2. Перед нами есть собака, например, хочу создать ее 3д модель. Т.е. получить что-то вроде набора векторов, к которым потом смогу применять всякие трансформации (вращать, масштабировать и т.п). Как это можно сделать? Пусть это будет даже не по вектору на пиксель, а грубо, векторов 100 на модель. Т.е. на выходе хочется иметь функцую, которая принимает трансформационную матрицу и отдает трансформированный рисунок. Оцифровать контрольные точки - не сильно сложно, думаю (что-то на основе дальномера, например), но как на это наложить потом шкуру собаки. Да, знаю что наверняка проще найти готовую модель для какого-нибудь блендера, но интересно именно так сделать - насколько это реально/хлопотно/дорого.

 , ,

pavlick ()

Проблемы графической производительности linux-guest из win10-host

Всем привет! В windows10 использую VirtualBox для виртуальных машин linux (тестировал centOS 8.1, centos 8.3, linuxmint). Во всех случаях наблюдается одна и та же проблема: если поставить в настройках вирт. машины флажок «Включить 3D-ускорение» https://www.screencast.com/t/TMnCpLCqZuF2, то внутри guest-системы резко падает графическая производительность. Внутри guest-linux, например, проверяю с помощью команды «glxgears»: 1) при использовании 3d-ускорения показывает 30 fps; 2) без использования - около 1500. Но и при 1500 в целом наблюдается неплавность при прокрутке страницы в браузере, например (похоже, что из-за низкого FPS). Примечательно, что точь-в-точь такую же проблему описывали вот тут: https://forums.virtualbox.org/viewtopic.php?f=6&t=97024

Железо у меня похожее: процессор amd ryzen 3600, графика radeon 5700xt.

Хотелось бы добиться хорошей графической производительности внутри guest-linux. Может есть у кого-нибудь предположения? Обновил уже и VirtualBox, и guest additions до последней на текущий день версии.

 , ,

Novascriptum ()

Как рендерить несколько видеопотоков на OpenGL 3.1?

Есть несколько декодеров, работающих в разных потоках. Они декодируют видео с разной частотой кадров и вообще никак друг с другом не синхронизированы. Могут запускаться и останавливаться.

Нужно всё это дело рендерить в реальном времени в подобие видеостены - прямоугольной сетки, где в каждой ячейке свой видеопоток.

Как у меня сделано сейчас. Декодер хранит последний декодированный кадр. По таймеру поток, отвечающий за обновление экрана, собирает последние кадры от всех декодеров, через glTexSubImage2D обновляет OpenGL текстуры и рендерит их на экран. Чтобы потоки не конфликтовали, чтение и запись последнего декодированного кадра прикрыты мьютексом.

Текущая версия работает, но хочу попросить совета. Есть ли какие-нибудь мысли по оптимизации этого дела и вообще как правильно такое делать? Наверное, это похоже на работу композитора. Есть независимые источники, которые предоставляют готовые данные и их нужно свести воедино и отобразить на экране.

У меня здесь получается только один OpenGL контекст. Слышал что-то про многопоточный рендер. Применим ли он здесь?

OpenGL рендерится в окно Qt приложения через QOpenGLWindow. Версия OpenGL строго не старше 3.1. Нужна кроссплатформенность: топик и оффтопик, т.е. без платформозависимых фич типа dma-buf. Видеокарты в основном интел и нвидия.

 , , ,

ox55ff ()

На какой градус повернуть оси в 3Д чертеже чтобы получить аксонометрию в 2Д

Оси, default

Х горизонтально слева направо

Y вверх

Z на user

 

saufesma ()

Ликбез по блендеру

Друзья, если не сложно, буду тут кидать небольшие вопросы по данной софтине (blender 2.79), которые возникают, если есть свободная минутка, то тыкните как нужно решить. Возможно правильней читать мануалы, но на это нет времени. Да и посмотрел уже один видео курс, всего не расскажут.

  1. Есть цилиндр, на него накинул текстуру. Но мне не нужно растягивать ее на всю площадь, а нужно создать много склеенных копий. Как ее отмасштабировать?

 ,

pavlick ()

Компас 3D в Wine ругается на msvcp110.dll

Запускаю Компас 3D v15.2 x64 из-под PlayOnLinux, всё запускается, чертится, но при попытке сохранить в какие-то иные форматы кроме родных Компаса (в stl особенно надо) появляется ошибка от Wine «В программе KOMPAS.exe обнаружена серьёзная ошибка. Программа будет закрыта»

Во вкладке Подробнее верхняя строчка такая, дальше куча ардесов: "Unhandled exception: unimplemented function msvcp110.dll.??0_Facet_base@std@@QEAA@XZ called in 64-bit code (0x000000007b45933c)."

Пробовал доставить vcredist_x64.exe (Visual C++) в тот же виртуальный диск, по советам с форумов должно было поставить в том числе msvcp110.dll, но не помогло.

Система Linux Mint 20 x64, Wine-4.0.4 (С 3.20 то же самое)

 , ,

Lisyamord ()

А в линуксе есть врапперы меняющие поведение шейдеров и текстур?

Типа яркости добавить, канал RGB чуть подкрутить?

 

steemandlinux ()

Как называется эта/ти фигура/ры?

  • Есть окружность {vec3 center; float radius;}

  • Есть эллипсоид {vec3 center; vec3 radius;}

  • А как такая фигура однозначно называется? {vec3 center; vec3 radius_x1;vec3 radius_x2; vec3 radius_y1;vec3 radius_y2; vec3 radius_z1;vec3 radius_z2; }

x1 и x2 имеется в виду что по оси x с противоположных сторон разные радиусы, тоесть как эллипс только с независимыми радиусами сторон.

Кастанул математиков они в этих изоморфах шарят ::)

UDP: Никак или как угодно в зависимости по каким правилам строить. Ну и ладно :( :D

 , ,

LINUX-ORG-RU ()

Фичреквест для драйверов Mesa.

Есть у инвидии такая технология, называется 3D VISION, вот её описание:
https://ru.m.wikipedia.org/wiki/Nvidia_3D_Vision

В частности там написано следующее:

Эту задачу берёт на себя драйвер видеокарты, способный перехватывать вызовы графического API и отрисовывать кадры сразу с двух точек зрения (вместо одной), соответствующих глазам наблюдателя.

Так вот, можно ли сделать подобную подмену функции в свободных драйверах?

Видится мне это так, при включении функций драйвер графического API будет работать в одном из двух режимов:

режим для очков: вместо показа камеры с заданным приложением(игрой) положением(координаты, ориентация и углол обзора) из заданной точки поочерёдно смещает эту камеру в одну из двух точек со своими положением предназначенным для просмотра соответствующим глазом, при этом драйвер выдаёт сигнал синхронизации для переключения затвора. Положения, в которые смещается камера определяются относительно положения камеры заданных приложением(игрой).

Вариант для шлема: Дополнительно к камере созданной приложением создаются ещё две смещённых относительно созданной приложением камеры изображения с которых подаются на два разных видеовыхода, к которым подключены дисплеи для правого и левого глаза соответственно. Изображение с камеры созданной приложением может выводится как обычно или не расчитываться вообще и приложению выдаётся указанная в опциях статичная картинка или дублируется видеопоток от одной из камер шлемофона.

 , , ,

torvn77 ()