Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
63 / 48 / 7
Регистрация: 09.11.2012
Сообщений: 219
1

Как загрузить текстуры в видео память и передать их в пиксельный буфер?

18.11.2013, 18:55. Просмотров 1964. Ответов 3
Метки нет (Все метки)


Я использую SDL 2, но в одном моменте решил использовать чистый OpenGL, потому что не нашёл, как продуктивно сделать это в SDL (FPS очень низкий).
У меня есть *.png-файлы, сейчас я загружаю их примерно так:
C++
1
SDL_Surface *texture = IMG_LoadPNG_RW(SDL_RWFromFile("texture.png", mode));
Но здесь они загружаются, насколько я понимаю, в оперативную память, надо их как-то передать в видеопамять.
Далее я буду брать фрагменты этих текстур и собирать одну большую на весь экран. Сейчас я собираю линейный массив пикселей (uint) и передаю его в видео память. Сам массив делается довольно быстро, но передача в видеопамять очень медленная, я пробовал и конвертировать SDL_Surface в SDL_Texture и использовать SDL_Update Texture, медленно в любом случае.
Хочу попробовать собирать массив внутри видеопамяти. Пробовал найти как это сделать, но безуспешно, поэтому пишу здесь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2013, 18:55
Ответы с готовыми решениями:

Как загрузить видео на ютуб с другого сайта? (Загрузить видео в конкретный плейлист)
Как загрузить, с другого сайта, видео на ютуб в конкретный плейлист? А то после того как они...

Как загрузить текстуры на объект? (Unity 3d)
Привет. Я скачал с Asset store несколько текстур, но как их загрузить на объект не знаю, не могу...

Как запихнуть смайлик в буфер обмена и загрузить его в RichTextBox
Подскажите как запихнуть смайлик в буфер обмена и загрузить его в RichTextBox

Как загрузить массив в память без промежутков
Добрый день. Необходимо обработать массив, состоящий их N 15 разрядных слов. Элементы ...

3
2459 / 1272 / 212
Регистрация: 26.02.2009
Сообщений: 5,406
Записей в блоге: 5
18.11.2013, 20:01 2
Цитата Сообщение от Necronomicron Посмотреть сообщение
Хочу попробовать собирать массив внутри видеопамяти. Пробовал найти как это сделать, но безуспешно, поэтому пишу здесь.
Ищите Render To Texture или R2T
0
63 / 48 / 7
Регистрация: 09.11.2012
Сообщений: 219
18.11.2013, 20:21  [ТС] 3
snake32, как поместить исходные текстуры в видеопамять?
0
2459 / 1272 / 212
Регистрация: 26.02.2009
Сообщений: 5,406
Записей в блоге: 5
18.11.2013, 23:54 4
Necronomicron, не знаю как в SDL. В чистом OpenGL glTexImage2D помещает в видеопамять... точнее драйвер может и в обычную оперативку засунуть, но обычно кладёт в VRAM если есть место. Проверить где хранится текстура можно ф-ией glAreTexturesResident
http://www.opengl.org/sdk/docs... sident.xml
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2013, 23:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Не могу загрузить/отобразить текстуры. Что не так?
Ранее уже не раз работал с текстурами и все "прокатывало" на "ура" - текстуры...

Как сделать лоадер - загрузить приложение в память и отдельно запустить
Приветствую! Моя задача заключается в реализации того, что называют "лоадер". Когда сначала в...

PasLibVlc. Как загрузить видео из памяти?
procedure TForm1.LoadVideo(tmp: string); var TempStream : TMemoryStream; begin ...

Как загрузить видео при старте Activity?
Всем привет. Возможно этот вопрос покажется для кого-то простым и не уместным, но так как я...

Как побитово скопировать с текстуры на текстуры разных форматов, не прибегая к обращениям в CPU?
Если ли способ в opengl скопировать бит в бит текстуры любого формата в uint8 одноканальный, но с...

Не освобождается память при загрузке текстуры (C#)
после загрузки текстуры почему-то не освобождается память. // с отображением текстуры вроде все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.