|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.05.2015, 06:16 | #1 |
Новичок
Джуниор
Регистрация: 11.05.2015
Сообщений: 2
|
Прошу помочь с OpenGL (требуется сохранить текстуру)
Приветствую всех, кто заглянул в мою тему. В C++ я не профи, пишу в основном на других языках. Не могу разобраться, как сохранить текстуру из OpenGL, зная ее texture id. Гугл не помог с этой проблемой. Имеется исходный код, который разбирает некий архив с текстурами. Формат текстур следующий - jpg картинка + alpha канал прозрачности, который применяется в этом же коде, и функция возвращает id уже готовой текстуры с прозрачностью. Моя задача в следующем - получить исходные текстуры из архива желательно в формате png (но сойдет и любой другой, главное вытащить картинку с прозрачностью, т.к. это и есть основная задача).
Функция загрузки текстуры: Код:
Последний раз редактировалось Stilet; 11.05.2015 в 06:24. |
11.05.2015, 09:46 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Насколько я понимаю, перед вот этой строчкой надо вставить запись в файл:
fPtrRw = SDL_RWFromMem(jpgData, jpgSize); Как записывать в файл знаете? |
11.05.2015, 10:45 | #3 |
Новичок
Джуниор
Регистрация: 11.05.2015
Сообщений: 2
|
В jpgData вроде же без прозрачности. А в mixedImageData картинка с прозрачностью. Насколько понял, там из функции возвращается что-то вроде id текстуры в памяти. Но это только то, что сказал мне гугл, дальнейшие поиски ни к чему не привели. Если правильно думаю, можно по результату функции получить текстуру, зная ее id, и сохранить в файл. В теории немного знаю, как сохранять, но чувствую, что здесь стандартными функциями не обойтись, поэтому не отказался бы от кода) Уверен, что решение кроется за несколькими строками, но я не спец в C++, и тем более в api OpenGL.
|
11.05.2015, 10:56 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Вот здесь в памяти есть RGBA битмап, осталось только его сохранить.
Ищите код сохранения BMP файла - так проще всего, потом сконвертируете в нужный формат. glTexImage2D(GL_TEXTURE_2D, 0, 4, jpg->w, jpg->h, 0, textureFormat, GL_UNSIGNED_BYTE, mixedImageData); |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenGL C++ наложить текстуру на все фигуры | Shade2015 | Помощь студентам | 3 | 26.04.2015 18:14 |
Прошу помочь,требуется решение и объяснение. | Михаил_ | Помощь студентам | 0 | 25.10.2011 22:24 |
Нужен исходник загрузки текстуру в OpenGL | pufystyj | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 19.07.2011 03:07 |
OpenGL рендеринг в текстуру или ... | SalasAndriy | Мультимедиа в Delphi | 14 | 22.11.2010 08:27 |
OpenGl+Delphi,при загрузке текстуру сильно корежит | Skif | Помощь студентам | 1 | 27.11.2007 08:40 |