LINUX.ORG.RU

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

Симуляция и визуализация пути прохождения луча (два зеркала, одна линза)

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

Кое-что нашёл, но не совсем то:

 , , , ,

gag ()

Используются ли для освещения kd-деревья

Привет!

Есть набор «достаточно плотно» расположенных шаров с прозрачностью. Чтобы их осветить нужно использовать kd-деревья или что-то другое? Как это делается?

 , , ,

dann ()

Vulkan как единственно верный путь поддержки 3D-ускорения в видеодрайвере.

Всё больше и больше интересных событий происходит вокруг Vulkan. Одно из самых значимых за последнее время - библиотека DXVK. Но на деле оказывается, что это только начало.

Теперь в Mesa делают реализацию OpenGL поверх Vulkan: https://gitlab.freedesktop.org/kusma/mesa/commits/zink

Если так пойдёт дальше, из видодрайвера можно будет выкидывать поддержку всех API кроме Vulkan, так как именно Vulkan чудесным образом оказался наиболее подходящим для сравнительно простого и быстрого создания таких прослоек совместимости без зависимости от поставщика железа. Так что ещё долго можно будет благодарить AMD за такую инновацию.

 , ,

Quasar ()

Firefox VR

Ну что, пора писать деду морозу писульку, хочу шлем, уже есть куда применить - https://3dnews.ru/975660

 , ,

eR ()

Wine, OpenGL и Cinema 4D R17

Привет всем!

Direct3D эмулируется внутри WINE. А как обстоят дела с OpenGL, чем определяется версия и набор расширений?

Я пытаюсь использовать Cinema 4D* версии R17 под WINE.
Приложение работает, но отображение сцены очень тормозит.
Проверка параметров OpenGL в настройках показывает, что мой GPU ничего не умеет и вообще какой-то кривой: https://dropmefiles.com/I3JOY
Похоже, что вообще используется программный рендеринг.

Я пробовал и WINE из дистрибутива и пару версий из PlayOnLinux.
Результат одинаковый, ошибки немного разные.

wine-3.0 (Ubuntu 3.0-1ubuntu1)


wine64 .wine/drive_c/Program\ Files/MAXON/CINEMA\ 4D\ R17/CINEMA\ 4D.exe
0009:fixme:heap:RtlSetHeapInformation 0x780000 0 0x23f830 4 stub
0009:fixme:ver:GetCurrentPackageId (0x239260 (nil)): stub
0009:fixme:thread:SetThreadStackGuarantee (0x23f6d0): stub
0009:fixme:reg:GetActiveProcessorCount semi-stub, returning 8
0009:fixme:process:SetProcessPriorityBoost (0xffffffffffffffff,1): stub
0009:fixme:heap:RtlSetHeapInformation 0x1dd0000 0 0x23d520 4 stub
Application start : 08/30/18 at 01:19:04
Executable : 64 Bit
Version / Build : 17.016 / RB136011
Debugger : not available
Memory model : release
Startup path : file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17
Application path : file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/CINEMA 4D.exe
Application executable : file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/CINEMA 4D.exe
Resource path : file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/resource
Module path(s) : file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules
Temporary path : file:///C:/users/lsh/Temp
Prefs path : file:///C:/users/lsh/Application Data/MAXON/CINEMA 4D R17_EB682A3C
Global Prefs path : file:///C:/users/lsh/Application Data/MAXON
OS version : Windows XP Professional Service Pack 3 (build 2600)
Processor : 8(8)x Intel Core i7-4770 CPU
Computer name : lsh-ubu
Thread Count : 8
Cpu Speed (MHz) : 3900.000
Application Type : Modular
Command line arguments : none

Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/c4dplugin.xdl64 with module(s) net.maxon.c4d.c4dplugin
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/crashhandler.module.xdl64 with module(s) net.maxon.crashhandler
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/crypt.module.xdl64 with module(s) net.maxon.crypt
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/glcl_trace.module.xdl64 with module(s) net.maxon.glcl_trace
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/image.module.xdl64 with module(s) net.maxon.image
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/mesh.module.xdl64 with module(s) net.maxon.mesh
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/misc.module.xdl64 with module(s) net.maxon.misc
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/network.module.xdl64 with module(s) net.maxon.network
Loading file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/modules/triangulation.module.xdl64 with module(s) net.maxon.triangulation
0009:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0xa371700, context (nil), init_notify 0, handle 0xa5462e0): stub
0009:fixme:msg:ChangeWindowMessageFilter 233 00000001
0009:fixme:win:DisableProcessWindowsGhosting : stub
0009:err:wgl:X11DRV_wglCreateContextAttribsARB Context creation failed (error 1)
0009:err:wgl:X11DRV_wglCreateContextAttribsARB Context creation failed (error 1)
ZeroConf error: Couldn't get bonjour version [sys_bonjour.cpp(1411)]
QTGuiAgent: Waiting for a connection...
QTGuiAgent: RegisterClient
QTGuiAgent: Waiting for a connection...
QTGuiAgent: Waiting for a connection...
0009:fixme:msvideo:DrawDibDraw wFlags == 0x00001000 not handled --- таких строчек очень много, одинаковые я выкинул.
Error: OS error loading plugin slapi.dll. Could not load dll. (file:///Z:/home/lsh/.wine/drive_c/Program Files/MAXON/CINEMA 4D R17/resource/modules/i_skp/slapi.dll) [win_dll.cpp(237)]
Cause: Windows System Error #998: No access to memory location. [win_dll.cpp(232)]

Тут есть явно что-то не то с OpenGL: 0009:err:wgl:X11DRV_wglCreateContextAttribsARB Context creation failed (error 1)

Теперь результат из POL:

[08/30/18 01:10:17] - Running wine-3.10-staging CINEMA 4D.exe (Working directory : /home/lsh/.PlayOnLinux/wineprefix/3.10st_c4dr18/drive_c/Program Files/MAXON/CINEMA 4D R17)
0028:fixme:heap:RtlSetHeapInformation 0x460000 0 0x23e7e0 4 stub
0028:fixme:thread:SetThreadStackGuarantee (0x23f6e0): stub
0028:fixme:reg:GetActiveProcessorCount semi-stub, returning 8
0028:fixme:process:SetProcessPriorityBoost (0xffffffffffffffff,1): stub
0028:fixme:heap:RtlSetHeapInformation 0x1bc0000 0 0x23d550 4 stub
Application start : 08/30/18 at 01:10:17
Executable : 64 Bit
Version / Build : 17.016 / RB136011
Debugger : not available
Memory model : release
Startup path : file:///C:/Program Files/MAXON/CINEMA 4D R17
Application path : file:///C:/Program Files/MAXON/CINEMA 4D R17/CINEMA 4D.exe
Application executable : file:///C:/Program Files/MAXON/CINEMA 4D R17/CINEMA 4D.exe
Resource path : file:///C:/Program Files/MAXON/CINEMA 4D R17/resource
Module path(s) : file:///C:/Program Files/MAXON/CINEMA 4D R17/modules
Temporary path : file:///C:/users/lsh/Temp
Prefs path : file:///C:/users/lsh/Application Data/MAXON/CINEMA 4D R17_8DE13DAD
Global Prefs path : file:///C:/users/lsh/Application Data/MAXON
OS version : Windows 7, 64 Bit, Ultimate Edition Service Pack 1 (build 7601)
Processor : 8(8)x Intel Core i7-4770 CPU
Computer name : lsh-ubu
Thread Count : 8
Cpu Speed (MHz) : 3900.000
Application Type : Modular
Command line arguments : none

Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/c4dplugin.xdl64 with module(s) net.maxon.c4d.c4dplugin
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/crashhandler.module.xdl64 with module(s) net.maxon.crashhandler
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/crypt.module.xdl64 with module(s) net.maxon.crypt
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/glcl_trace.module.xdl64 with module(s) net.maxon.glcl_trace
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/image.module.xdl64 with module(s) net.maxon.image
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/mesh.module.xdl64 with module(s) net.maxon.mesh
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/misc.module.xdl64 with module(s) net.maxon.misc
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/network.module.xdl64 with module(s) net.maxon.network
Loading file:///C:/Program Files/MAXON/CINEMA 4D R17/modules/triangulation.module.xdl64 with module(s) net.maxon.triangulation
0028:fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0xa161700, context (nil), init_notify 0, handle 0xa3362e0): stub
0028:fixme:msg:ChangeWindowMessageFilter 233 00000001
0028:fixme:win:DisableProcessWindowsGhosting : stub
ZeroConf error: Couldn't get bonjour version [sys_bonjour.cpp(1411)]
QTGuiAgent could not be launched
QTGuiAgent could not be launched
0028:fixme:msvideo:DrawDibDraw wFlags == 0x00001000 not handled --- таких строчек очень много, одинаковые я выкинул.
0028:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0028:fixme:kerberos:kerberos_SpInstanceInit 65536,0x7f0eb40602e0,(nil): stub

Тут такой ошибки с wgl:X11DRV_wglCreateContextAttribsARB не наблюдается, но результат такой же, что и в дистрибутивном WINE.

Система: Ubuntu 18.04
Видеокарта: AMD Radeon R9 270X
Драйвер: AMDGPU (не PRO), lsmod:

amdgpu 2703360 31
chash 16384 1 amdgpu
ttm 106496 1 amdgpu
i2c_algo_bit 16384 2 amdgpu,i915
drm_kms_helper 172032 2 amdgpu,i915
drm 401408 28 amdgpu,i915,ttm,drm_kms_helper

Выхлоп из glxinfo: http://paste.ubuntu.com/p/JGZxj8kzr2/
* - Blender не предлагать! Он, конечно, крут, но в данной ситуации требуется конкретный софт.

 , , ,

ls-h ()

Современные CGI фильмы

Вчера пересмотрел культовый FF: Spirit Within (2001). Графон обалденный. Особенно акцент делается на реалистичные волосы героини. И это 2001 год. Теперь смотрим на современный CGI шлак который в основном мультяшный (всякие Мадагаскары и эти желтые лампочки в очках).
Внимание вопрос. Теперь серьезный вдумчивый реалистичный CGI не в моде? Может я не уследил не посмотрел какой то вин?
Помню еще Беовульф с рендереной Джоли. Но кинцо так себе.

 , , ,

bga_ ()

3D UI

Существуют ли десктопы с трёхмерным интерфейсом, если нет, то почему?

https://upload.wikimedia.org/wikipedia/en/thumb/9/9c/Cobalt_portals_pre_alpha...

https://en.wikipedia.org/wiki/Hyperlinks_in_virtual_worlds

Можно ли делать порталы в «open cobalt 3d» круглыми?

Почему для opencobalt нет ebuild-а?

 ,

Einstok_Fair ()

3D DE

VR почти у каждого бомжа есть, чё там когда я смогу фаерфокс руками крутить вертеть в 3D рабочем столе? 2D и мышка задолбали уже, хочу новых ощущений.

 , ,

eR ()

Анимация облаков точек с использованием библиотеки Point Cloud Library

Привет всем!

Есть у меня кучка PLY файлов, которые получены путём 3D реконструкции, в формате три координаты+три составляющие цвета.
Пытаюсь написать простой топорный просмотрщик анимации из серии файлов.

#include <iostream>

#include <list>
#include <iterator>
#include <string>

#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include <pcl/point_cloud.h>
#include <pcl/console/parse.h>
#include <pcl/common/transforms.h>
#include <pcl/visualization/pcl_visualizer.h>

#include <unistd.h>
#include <signal.h>

static bool change_frame = true;

static void handler(int sig){
    change_frame = true;
}

int main (int argc, char** argv){
    bool tr = true;
    std::list<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> sources_list;

    for(int i = 1; i < argc; i++)
    {
        pcl::PointCloud<pcl::PointXYZRGB>::Ptr srccld (new pcl::PointCloud<pcl::PointXYZRGB> ());
        if (pcl::io::loadPLYFile (argv[1], *srccld) < 0)  {
            std::cout << "Error loading point cloud " << argv[1] << std::endl << std::endl;
            return -1;
        }
        sources_list.push_back(srccld);
    }

    signal(SIGALRM, handler);
    ualarm(500000, 500000);

    std::list<pcl::PointCloud<pcl::PointXYZRGB>::Ptr>::iterator it1 = sources_list.begin();
    pcl::visualization::PCLVisualizer viewer ("Matrix transformation example");
    viewer.addCoordinateSystem (1.0, "cloud", 0);
    viewer.setBackgroundColor(0.05, 0.05, 0.05, 0);

    while (!viewer.wasStopped ()) {
        if (change_frame) {
            std::cout << "Changing frame\n";
            change_frame = false;
            if (it1 == sources_list.end()) it1 = sources_list.begin();
            std::cout << *it1 << "\n";
            if (tr) { // Change background for testing
                tr = false;
                viewer.setBackgroundColor(0.05, 0.05, 0.05, 0);
            } else {
                tr = true;
                viewer.setBackgroundColor(0.5, 0.5, 0.5, 0);
            }
            viewer.removeAllPointClouds();
            pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> source_cloud_color_handler (*it1);
            viewer.addPointCloud (*it1, source_cloud_color_handler, "cld");
            viewer.setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cld");
            it1++;
        }
        viewer.spinOnce ();
    }
    return 0;
}

Проблема в том, что на экране всё время одно и тоже облако.
Пробовал каждую итерацию присваивать разные идентификаторы, вроде «cld»+номер_кадра, но это ничего не дало.
Для теста сделал смену цвета фона. Вот это работает и фон мигает с нужной частотой.
То ли viewer.removeAllPointClouds(); ничего не удаляет, или надо апдейт сцены какой-то сделать... Не понятно!

P.S.: Ну да, через SIGALRM, наверное, глупая идея делать, но мне не для продакшена, для себя.

 , ,

ls-h ()

meshlab, slackware, qt

Вот у меня только так? На ноуте qt никогда не было, ибо хрень знатная. Но тут понадобилась софтина, чтоб 3Д модельки stl просматривать. Загуглил, нашёл meshlab. Ставлю, и собственно не удивительно, qt что-то не нравится. Вот выхлоп запуска:

This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Reinstalling the application may fix this problem.
Аварийный останов
Чё ему надо-то? xcb либ в /usr/lib64 навалом...

 , , ,

Deleted ()

Как построить луч?

Помню когда в книге по unity3d читал, там написано было, что чтобы выбрать объект в 3d пространстве, делается луч, с помощью которого можно получить ссылку на объект. Я уже не помню как этот луч называется. Также писалось, что луч, который они применяют намного облегчает программирование, потому что это очень сложно реализовать. Какой луч применяют? Как его сделать? Можно пример на си или c++?

 , ,

u0atgKIRznY5 ()

Программы для 3d моделирования

Собираюсь приобрести 3d принтер.

С программами для конвертации 3d в g-code уже разобрался.

Нужно ПО для моделирования.

Знаю что есть blender, но его интерфейс пугает.

Знаю про OpenSCAD, но это несколько другой класс ПО.

Есть ли под linux что-нибудь простое мышевозное уровня 3d studio max v1?

 , ,

German_1984 ()

Почему умер VRML?

Добрый вечер, ЛОР.

Вот смотрю я на то, что сейчас предлагается для трёхмерного веба, и недоумеваю. Был когда-то VRML. Достаточно высокоуровневый декларативный язык. Были привязки к JavaScript (правда, их стандартизовать толком не успели).

Полноценно он не взлетел, поскольку в конце 90-х и начале нулевых каналы были откровенно слабенькие, да и видеокарты с поддержкой 3D были не у каждого. Тем не менее, на VRML активно делались проекты энтузиастов, виртуальный мавзолей Ленина, например.

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

Но нет. Вместо этого потребовалось изобрести WebGL, низкоуровневый как ассемблер, но при этом жрущий такие ресурсы, которые и не снились компам, 15 лет назад спокойно пережёвывавшим VRML.

Почему?

Понятно, что очевидный ответ - «копроэкономика, сэр». Но может, есть какие-то объективные технические причины, которые я упускаю?..

 , ,

hobbit ()

Как в играх вычисляют размер экрана и расстояние от точки схождения лучей до него?

Очевидно что размер экрана явно больше реального размера моника, но вот откуда разработчики берут эти параметры? Есть какие-то таблицы?

Даже не представляю как это спросить у гугла.

ЗЫ. Экраном я назвал плоскость проекции. Очевидно что расстояние от камеры до плоскости проекции не совпадает с расстоянием от человека до моника, а размер этой плоскости с размером моника.

ЗЗЫ. Где то можно наковырять уже существующие значения, только не в попугаях (внутренних единицах движка) а в метрах?

 , ,

ya-betmen ()

Blu Ray 3D - всё очень плохо?

Можно ли сейчас чем-нибудь проиграть, или хотя бы перекодировать его в линуксе?
bino жрёт только готовые стереопары, когда картинки для левого и правого глаза уже на одном кадре, BD3D же сейчас кодируют кодеком MVC (насколько я понимаю, один глаз - это обычный AVC h264, что даёт обратную совместимость с 2D, а другой - в целях экономии какая-то хитрая дельта).
Так вот, не беря в расчёт всякие защиты-шифрования Blu Ray, можно ли как-то декодировать подобный файл? Пусть даже не в реальном времени, медленно и без аппаратного ускорения

Последний тред вижу в 2013, воз и ныне там? Может, были какие новости на эту тему?

 , , ,

TheAnonymous ()

AMDGPU DC Code Lands For Linux 4.15 Kernel

Почему ещё никто не написал про эпохальное событие?

https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-DC-Accepted

 , , , ,

Deleted ()

Как рисовать объемные графики

Нужно на Python 3 нарисовать данные по типу таких, для начала без прозрачностей: https://www.tecplot.com/wp-content/gallery/3d-plots/tecplot_3d_cfd_fluid_blow...

Есть ли такие библиотеки. Вот представленная на этой картинке - проприетарная штука, управляется через Python. А на халяву есть?

 ,

I-Love-Microsoft ()

Сегментация трехмерного грида

Есть трехмерная решетка, заполненная значениями. После обрезки по некому трешхолду получается приблизительно следующая картина: http://vsb.fbb.msu.ru/share/2017-10-22-191536_1918x1177_scrot.png

Хочется: выделить все непрерывные ненулевые (возможно с предварительным префиллом или гауссовым блюром) зоны (фиолетовые) и нарезать их в отдельные подмассивы.

В сторону каких библиотек на питоне или, хотя бы, алгоритмов смотреть?

 , , ,

silw ()

Вращение внутри трехмерных решеток

Всем привет. Нужна помощь с вращениями внутри трехмерных решеток.

Сейчас я генерирую по точкам трехмерного грида вот такую полусферу: http://vsb.fbb.msu.ru/share/2017-10-22-143518_1918x1177_scrot.png

и хочу делать вращение полусферы вокруг ее центра внутри трехмерной решетки.

Результат что-то вроде этого: http://vsb.fbb.msu.ru/share/2017-10-22-144203_1918x1177_scrot.png

Сейчас я применяю матрицу вращения отдельно к каждому вектору внутри грида (с учетом смещения центра) и проверяю попадает ли он в решетку/округляю до ближайшей вершины. Все работает ок даже за более-менее приемлимое время, но, мне кажется, должен быть более оптимальный путь: какая-нибудь библиотечная функция из нампая/сайпая, алгоритм или просто сишная библиотека. Можете что-нибудь подсказать?

 , , , ,

silw ()

CG оверлей

Привет!

Я хочу представить вам мой CG оверлей!

Основные цели:

-Использование последних blender инноваций.

-Удобный поиск и установка аддонов.

-Автоматическое обновление.

-Максимум производительности вашего железа.

Пожалуйста поддержите меня на патреоне, чтоб я мог развивать CG оверлей.

https://www.patreon.com/cgoverlay

 , , ,

brothermechanic ()