Мне нужен (A) прозрачный или полупрозрачный фон (т. е. не просто прозрачные объекты в непрозрачном окне), как в [1], [2], [3]. В то же время мне нужно (B) MSAA (или сглаживание с ускорением графического процессора другого типа). Существуют различные рабочие примеры для (B). Единственный рабочий пример (A) для современного OpenGL, который я нашел, это [4]; причина, по которой довольно сложно получить прозрачный фон с помощью OpenGL и X11, автор [4] прокомментировал здесь [5] (2-й ответ сверху, разверните комментарии и прочитайте важную вещь о «Вы обязательно должны использовать XRenderPictFormat... ").
Но теперь мне нужно присоединиться (A) и (B) только с графическим процессором. Нет ни одного примера этой комбинации и даже никакой информации, если это возможно/должно быть теоретически возможно. После много кофе и segfaults я частично понял это.
Короче говоря, если мы посмотрим на glxinfo | grep "32 tc" или около того, можно обнаружить, что на графических процессорах Intel, независимо от того, работает ли это от батареи Celeron или процессора мощностью в сто ватт, нет ни одного Visual с MSAA: два правые столбцы — нули. Или когда с MSAA (до 16х) ни одного Визуала с Альфой нет. И мои многочисленные пробы и ошибки с кодом на C, все безуспешно, подтверждают это (пока). Мой Франкенштейн, сделанный из (A) и (B), не хочет жить.
Вопреки этому, с (внешним) Графический процессор Nvidia, даже старый, без проблем имеет (A) и (B) одновременно: вы 1) видите это через glxinfo, 2) просто возьмите код [4] и добавьте/включите все привлекательные возможности OpenGL.
Итак, это показывает, что (а) графический процессор Intel (или (б) текущий драйвер Intel для Linux/OpenGL) делает это невозможным.
Q1: Как я могу подтвердить это с помощью теоретических характеристик оборудования?
Q2: Вывод glxinfo в основном осуществляется драйвером -зависимый?
Пока все хорошо. Знать, что это невозможно (с Intel, которая является моей целью, я ограничен в физическом размере установки) лучше, чем вообще этого не знать.
НО >.
Мой старый Compiz легко справляется с этим. На графическом процессоре Intel, используя Window Opacity, я могу получить прозрачность окна (или прозрачное окно поверх другого прозрачного окна или даже поверх видео) с точными математическими вычислениями с точностью до пикселя и без какой-либо заметной дополнительной нагрузки на процессор. Compiz использует библиотеку OpenGL в качестве интерфейса к графическому оборудованию, как указано в вики.
Q3. Как это возможно?
Q4. Опять же, где характеристики для этого конкретного случая?
Этот тип прозрачности (Compiz) (C) может быть > принципиально отличается от (A), поскольку теоретически можно реализовать без альфа-канала, поскольку все пиксели одного окна имеют одинаковое значение «альфа» (полупрозрачность) (в отличие от моего ( A) случай, когда мне нужны полностью непрозрачные элементы). Как я могу в своем коде OpenGL C использовать эту (C) полупрозрачность для каждого окна?
Спасибо.
Arch Linux, 6.11.1-arch1-1, OpenGL ES 3.2 Mesa 24.2.3-arch1.1, OpenGL ES GLSL ES 3.20
Строка рендеринга OpenGL: Mesa Intel(R) UHD Графика 630 (CFL GT2) (вместе с другими процессорами Intel)
На всех тестовых установках используется свежее программное обеспечение, кроме Compiz, стабильная версия 0.8.18.
[1] Как создать контекст рендеринга OpenGL с прозрачным фоном?
[2] Установка прозрачного цвета фона в OpenGL не работает
[3] https://gist.github.com/je-so/903479
[4] https://github.com/datenwolf/codesample ... r/samples/ OpenGL/x11argb_opengl/x11argb_opengl.c
[5] https://stackoverflow.com/a/9215724
Подробнее здесь: https://stackoverflow.com/questions/790 ... dow-on-x11
Прозрачный фон и MSAA одновременно для окна OpenGL на X11 ⇐ Linux
-
Anonymous
1728382539
Anonymous
Мне нужен ([b]A[/b]) прозрачный или полупрозрачный фон (т. е. не просто прозрачные объекты в непрозрачном окне), как в [1], [2], [3]. В то же время мне нужно ([b]B[/b]) MSAA (или сглаживание с ускорением графического процессора другого типа). Существуют различные рабочие примеры для ([b]B[/b]). Единственный рабочий пример ([b]A[/b]) для современного OpenGL, который я нашел, это [4]; причина, по которой довольно сложно получить прозрачный фон с помощью OpenGL и X11, автор [4] прокомментировал здесь [5] (2-й ответ сверху, разверните комментарии и прочитайте важную вещь о «Вы обязательно должны использовать XRenderPictFormat... ").
Но теперь мне нужно присоединиться ([b]A[/b]) и ([b]B[/b]) только с графическим процессором. Нет ни одного примера этой комбинации и даже никакой информации, если это возможно/должно быть теоретически возможно. После много кофе и segfaults я частично понял это.
Короче говоря, если мы посмотрим на glxinfo | grep "32 tc" или около того, можно обнаружить, что на графических процессорах Intel, независимо от того, работает ли это от батареи Celeron или процессора мощностью в сто ватт, нет ни одного Visual с MSAA: два правые столбцы — нули. Или когда с MSAA (до 16х) ни одного Визуала с Альфой нет. И мои многочисленные пробы и ошибки с кодом на C, все безуспешно, подтверждают это (пока). Мой Франкенштейн, сделанный из ([b]A[/b]) и ([b]B[/b]), не хочет жить.
Вопреки этому, с (внешним) Графический процессор Nvidia, даже старый, без проблем имеет ([b]A[/b]) и ([b]B[/b]) одновременно: вы 1) видите это через glxinfo, 2) просто возьмите код [4] и добавьте/включите все привлекательные возможности OpenGL.
Итак, это показывает, что (а) графический процессор Intel (или (б) текущий драйвер Intel для Linux/OpenGL) делает это невозможным.
Q1: Как я могу подтвердить это с помощью теоретических характеристик оборудования?
Q2: Вывод glxinfo в основном осуществляется драйвером -зависимый?
Пока все хорошо. Знать, что это невозможно (с Intel, которая является моей целью, я ограничен в физическом размере установки) лучше, чем вообще этого не знать.
[b]НО[/b] >.
Мой старый Compiz легко справляется с этим. На графическом процессоре Intel, используя Window Opacity, я могу получить прозрачность окна (или прозрачное окно поверх другого прозрачного окна или даже поверх видео) с точными математическими вычислениями с точностью до пикселя и без какой-либо заметной дополнительной нагрузки на процессор. Compiz использует библиотеку OpenGL в качестве интерфейса к графическому оборудованию, как указано в вики.
Q3. Как это возможно?
Q4. Опять же, где характеристики для этого конкретного случая?
Этот тип прозрачности (Compiz) ([b]C[/b]) [b]может быть[/b] > принципиально отличается от ([b]A[/b]), поскольку теоретически можно реализовать без альфа-канала, поскольку все пиксели одного окна имеют одинаковое значение «альфа» (полупрозрачность) (в отличие от моего ( [b]A[/b]) случай, когда мне нужны полностью непрозрачные элементы). Как я могу в своем коде OpenGL C использовать эту ([b]C[/b]) полупрозрачность для каждого окна?
Спасибо.
Arch Linux, 6.11.1-arch1-1, OpenGL ES 3.2 Mesa 24.2.3-arch1.1, OpenGL ES GLSL ES 3.20
Строка рендеринга OpenGL: Mesa Intel(R) UHD Графика 630 (CFL GT2) (вместе с другими процессорами Intel)
На всех тестовых установках используется свежее программное обеспечение, кроме Compiz, стабильная версия 0.8.18.
[1] Как создать контекст рендеринга OpenGL с прозрачным фоном?
[2] Установка прозрачного цвета фона в OpenGL не работает
[3] https://gist.github.com/je-so/903479
[4] https://github.com/datenwolf/codesamples/blob/master/samples/ OpenGL/x11argb_opengl/x11argb_opengl.c
[5] https://stackoverflow.com/a/9215724
Подробнее здесь: [url]https://stackoverflow.com/questions/79065474/transparent-background-and-msaa-at-same-time-for-opengl-window-on-x11[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия