Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2010, 15:10   #21
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

По идее (я точно не знаю) при увелинчении размера до 64x64 с 50x50 можно приделать невидимый край справа и снизу (с нулевой альфой) который не учитывается при рисовании.
Кстати про тени статья вышла.
Вадим Буренков вне форума Ответить с цитированием
Старый 16.08.2010, 15:48   #22
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Цитата:
По идее (я точно не знаю) при увелинчении размера до 64x64 с 50x50 можно приделать невидимый край справа и снизу (с нулевой альфой) который не учитывается при рисовании.
Да, но место в памяти это же будет занимать? А если, например, у меня размер ячейки не 50х50, а 75х75. Тогда если я буду брать картинки 128х128, то это почти в 2 раза больше, чем надо. Невидимый край - 53 пикселя.

Цитата:
Кстати про тени статья вышла.
Спасибо, буду разбираться.
ZotaC вне форума Ответить с цитированием
Старый 19.08.2010, 16:02   #23
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Вопросик: а как организовать контурное свечение вокруг объекта? Сам объект не светится а фон вокруг него и объекты которые были прорисованы до этого освещены, так сказать подсвечены цветным ореолом от объекта. Если я не ошибаюсь это Glow-эффект. Интересна реализация для gl 2d и лучше бы без шейдеров)
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Старый 19.08.2010, 18:28   #24
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Реализация для 2D будет аналогична реализации для 3D, пример есть на gamedev.ru.
Без шейдеров врядли можно сделать.
Вадим Буренков вне форума Ответить с цитированием
Старый 19.08.2010, 19:11   #25
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

А увеличение спрайта текущего кадра анимации + Альфа смешивание с фоном? Все это в качестве фона для персонажа разумеется)
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Старый 21.08.2010, 11:17   #26
[Ваш_ник]
Пользователь
 
Регистрация: 24.01.2010
Сообщений: 25
По умолчанию

Вопрос по теме? Как в OpenGL вырезать определенный кадр анимации аналогично тому, как это было на Canvas'е (CopeRect)? То есть, у меня есть спрайт со множеством кадров, и меня интересует, как разбить его на массив, в каждом элементе которого будет храниться только один кадр, чтобы потом его отображать.

И еще: можно как-нибудь загрузить png-изображение через LoadTexture?
[Ваш_ник] вне форума Ответить с цитированием
Старый 21.08.2010, 15:41   #27
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Наверное, glTexSubImage2D – отвечает за загрузку выделенной области общей текстуры в отдельные текстуры/спрайты. А что же до *.Portable Network Graphics пока не гружу….))
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Старый 23.08.2010, 12:44   #28
[Ваш_ник]
Пользователь
 
Регистрация: 24.01.2010
Сообщений: 25
По умолчанию

Помогите разобраться, как действует glTexSubImage2D. Я так понял:

Код:
glTexSubImage2D(Ссылка на текстуру (из которой вырезаем кусок),
                Не знаю, что,
                Позиция по X (на той текстуре, откуда вырезаем),
                Позиция по Y,
                Ширина (того, что должно получиться),
                Высота,
                Что-то с цветами,
                Не знаю, что
                Какой-то указатель);
Вот с тем указателем я так и не понял. И еще не понял, куда это все вырезанное сохраняется.
[Ваш_ник] вне форума Ответить с цитированием
Старый 23.08.2010, 13:43   #29
.pixel
c++, dx/ogl
Форумчанин
 
Аватар для .pixel
 
Регистрация: 10.11.2008
Сообщений: 131
По умолчанию

Parameters
target
Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.

level
Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.

xoffset
Specifies a texel offset in the x direction within the texture array.

yoffset
Specifies a texel offset in the y direction within the texture array.

width
Specifies the width of the texture subimage.

height
Specifies the height of the texture subimage.

format
Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.

type
Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.

data
Specifies a pointer to the image data in memory.


Сравни с glTexImage2D мне кажется тут все по аналогии)

1. грузишь «общую текстуру» получаешь указатель на данные *pImage

Цикл для кадров…
2. glGenTextures генерируешь текстуру в gl'e ( для каждого кадра я полагаю придется)) )
3. glBindTexture биндиш текстуру тек. кадра
4. фильтра…
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );

5. грузишь текстуру glTexSubImage2D ( GL_TEXTURE_2D, 0 /*0-й мип*/, xoffset, yoffset, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pImage)


Возврат в начало цикла если есть еще кадры.

6. удаление указателя на общую текстуру delete pImage
В общих чертах так)
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but
rather how many batches/frame!
.pixel вне форума Ответить с цитированием
Старый 23.08.2010, 15:44   #30
[Ваш_ник]
Пользователь
 
Регистрация: 24.01.2010
Сообщений: 25
По умолчанию

.pixel, спасибо, вроде, немного разобрался. Только непонятно:

1. Эта обрезанная текстура, ведь, хранится в памяти. У меня есть текстура кнопки 256х64, с добавленной прозрачной областью справа и снизу. Это чтобы не было ошибок при сохранении в памяти. Но сам размер кнопки - 180х50. В итоге, мне нужно ее обрезать до этого размера. Но тогда размер тектуры уже не будет степенью двойки, и могут возникать ошибки? Или я что-то неправильно понял?

2. Почему у меня после того, как я обрезал текстуру, вместо нее выводится просто белый прямоугольник? Изображение в формате .tga. Может быть, это из-за того, что я задаю ширину и высоту в пикселях, а надо в координатах OpenGL?

3. Это, я так понимаю, при загрузке формы надо делать (когда загружаются все текстуры), а не каждый раз при рисовании в таймере?
[Ваш_ник] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуальные эффекты в программе SKS Мультимедиа в Delphi 12 19.01.2011 08:31
Эффекты к имиджу Marsik Помощь студентам 31 08.01.2010 16:45
Эффекты окон BOBAH13 Мультимедиа в Delphi 1 03.10.2008 08:49
Эффекты картинок Andrey1433 PHP 1 17.03.2008 02:07
Визуальные эффекты... ~N@um~ Помощь студентам 2 11.12.2007 11:15