iPhoneФорум

Пара вопросов по GLES

Страницы: 1 2 Следующая »
#0
12:03, 24 сен 2008

1. В обычном GL есть glGetTexImage,
а как на GLES получить доступ к пикселям в текстуре или хотя бы скопировать их в мой буффер?
Напрашивается решение - хранить копию в системной памяти изначально, но это же мобильная платформа и тут надо память экономить.

2. Есть ли аналог glSecondaryColor?

3. когда мы заливаем текстуру через glTexImage2D  по умолчанию предъявляется требование - следование пикселей в памяти друг за другом, т.е
pitch = width * bpp;

если же у нас pitch != width * bpp то в OpenGL можно сделать примерно так:

glPixelStorei (GL_UNPACK_ROW_LENGTH, src.pitch/src.bytespp);
glPixelStorei (GL_UNPACK_ALIGNMENT,  1);

А что делать в GLES, если тут нет GL_UNPACK_ROW_LENGTH?
Я вижу только 2 неоптимальных:
- перевыделить память для картинки с нужным требованием
- или вызывать на каждую строчку glTexSubImage

Есть другие способы?


неплохо было бы обменяться аськами, чтоб советоваться. моя 123-393-393

#1
14:21, 1 окт 2008

Frankinshtein
>В обычном GL есть glGetTexImage,
и лучше этим не пользоваться

>а как на GLES получить доступ к пикселям в текстуре или хотя бы скопировать их в мой буффер?
А можно ознакомиться с исходной задачей?

#2
17:02, 1 окт 2008

задачи могут быть разные, например, при клике на контроле определить значение альфа компоненты и игнорировать его если  = 0

или нарисовать декаль на текстуру большого размера, ну не хранить же копию ее в ОЗУ?

#3
18:19, 1 окт 2008

Frankinshtein
>при клике на контроле определить значение альфа компоненты и игнорировать его если = 0
И что, для этого надо всё делать через 3д-апи???

#4
20:35, 1 окт 2008

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

#5
9:31, 2 окт 2008

Frankinshtein
>если и так работает нормально
glGetTexImage это НЕнормально и слава богу что этого нету ни в первом, ни во втором ГЛЕСе ;)

#6
12:21, 2 окт 2008

так предложи альтернативу

#7
15:37, 2 окт 2008

Тыж сам дал ответ в 4-м посте

#8
15:59, 2 окт 2008

это не ответ
скажи мне, как нарисовать декаль на большой текстуре?

#9
16:32, 2 окт 2008

>это не ответ
Ну почему - есть цветная картинка кнопки и есть ЧБ-картинка маски. Как кому удобно, тот так и разруливает это

>скажи мне, как нарисовать декаль на большой текстуре?
Сорри, я не знаю что такое "декаль на текстуре". Если это типа "следа от выстрела на стене" то тогда не понимаю твою исходную задачу

#10
16:50, 2 окт 2008

как пример, делаем мы кримсонленд, с миллионами крови следов на земле, рисовать ее надо сразу в текстуру
ну или другой, есть плоская поверхность земли, состоящая из тайлов, поверх которой мы периодически рисуем травку или добавляем что-то еще

#11
16:56, 2 окт 2008

Чтото меня стали терзать сомнения про свзять этих новых задачек и старых. Ну да ладно :)

Надо спросить у игроделов про эти фичи, мне почти не у кого :)

#12
1:04, 8 окт 2008

А у меня есть игра, в которой как в вормз генерится сущность (планета в моем случае) накидыванием на нее всяких объектов, и соответственно поверхность эта уничтожаемая взрывами. Как эту задачу решать в глесе? Я не представляю..

#13
9:21, 8 окт 2008

jaguard
А на GL/D3D представляешь?

#14
23:04, 9 окт 2008

YgriK
На D3D - элементарно. Lock/Unlock или render to texture.

Страницы: 1 2 Следующая »
iPhoneФорум

Тема в архиве.