Войти
ПрограммированиеФорум2D графика и изометрия

[Решено] Как в современном OpenGL вывести текстуру на всё окно? (2 стр)

Страницы: 1 2
#15
16:28, 15 мар 2022

Как работает бинарник с glExt можно глянуть сюда

#16
18:06, 15 мар 2022

HPW-Dev
>Я как раз ставил семплирование в 0, оказывается не надо было
0 это не инициализированное значение, нужно ставить валидный семпл, если хочешь что-то семплировать.

#17
(Правка: 18:30) 18:26, 15 мар 2022

eDmk
> BitBlt(RT.TargetDC, X, Y, W, H, RT.MemDC, X, Y, SrcCopy);
Такое у меня на линуксе не заведётся. Как я понял мне нужен core profile opengl 3.3 и загрузить вершины текстуры в видекарту и рендерить это всё через шейдер, который ничего не делает?
А на интегрированных картах быстро будет работать?

#18
18:28, 15 мар 2022

ArtProg
> P.S. У вас движок софтовый, что ли?
Да. https://youtu.be/V1hgUf0Qmkk

#19
19:15, 15 мар 2022

HPW-Dev
учти еще что GL_COLOR_INDEX это та еще древность, и лучше сделать тот же функционал в пиксельном шейдере. Взяв к примеру GL_RED в качестве внутреннего и передаваемого формата, а в пиксельном шейдере уже будешь из своей палитры (или по подходящей для тебя формуле) преобразовывать в нужный rgb цвет.

#20
19:39, 15 мар 2022

>Как я понял мне нужен core profile opengl 3.3 и загрузить вершины текстуры в видекарту и рендерить
>это всё через шейдер, который ничего не делает?
Нужен Core 4.3+ или старый функционал 1.2-2.0. У меня в новом и старом функционале работает.

>через шейдер, который ничего не делает?
Шейдеры грузят GPU минимально. см. пост #13.
Старый функционал почти ничего не делает, т.к. используется буфер PBO.
Новый функционал распаковывает в вектор 32-х битные значения BGR (так задано в DIB-section) и
конвертирует цвета в RGB. Если у вас в буфере RGB, то строчку преобразования из шейдера можно убрать.

PS. Новый функционал работает значительно быстрее старого (если без VSync).

#21
19:54, 15 мар 2022

eDmk
> Новый функционал работает значительно быстрее старого
На планшете только OpenGL 4.0 оказался, не прокатит

#22
20:33, 15 мар 2022

Посмотрел ваше видео и понял, что у Вас и так все хорошо.
glDrawPixels и glReadPixels работают через шину CPU.
У меня например glReadPixels выдает максимум
575 fps в разрешении 1280x800x32 и
230 fps в разрешении 2560x1600x32.
Пропускная способность шины CPU на моем компьютере около 10.8 Гб/с.
Сколько на Вашем — к сожалению не знаю.

Чтобы рисовать шустро Вам надо использовать шейдеры и функционал OpenGL 3.3.
Отрисовку делать не из системной памяти, а в видео-буфер: в 3.3 вроде VAO+VBO.

#23
22:43, 19 мар 2022

Нужен Core 4.3+

Я сомневаюсь, что для этой видюхи есть драйверы в линуксе с поддержкой 4 версии, у меня в 14ой и 15ой Убунте последней раз работали дрова от производителя с поддержкой 4.2 версии. Сейчас я сижу с такой же древней видюхой и только свободные драйверы нашёл, там 3.3 максимум ну и вулкан заявлен, но мне всё лень попробовать.

#24
9:01, 20 мар 2022

stratego
> Я сомневаюсь, что для этой видюхи есть драйверы в линуксе с поддержкой 4 версии
Таки есть, radeon, amdgpu там 4.5. Ещё OpenCL не видит никакой, а в винде 1.2 версия работает.
На планшете Асус с интегрированной видяхой только 4.0, вот там действительно беда

#25
10:08, 20 мар 2022

Решение подобрано: https://gamedev.ru/code/forum/?id=267830&page=2&m=5530641#m26

Страницы: 1 2
ПрограммированиеФорум2D графика и изометрия

Тема закрыта.