Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 06.08.2009, 23:15   #1
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
Репутация: 10
Вопрос Проблемы с графикой в 2d игре

Доброго времени суток.
Пишу двухмерную игру на С++, где довольно много используется полупрозрачность, изображения хранятся в PNG. Какой графический пакет для этого лучше использовать? С DirectX и OpenGL дела не имел, попробовал GDI+, но он оказался слишком медленный при рисовании большого количества изображений с альфа каналами. Может быть, кто-нибудь посоветует, при помощи чего это лучше делать, желательно , чтобы было не слишком сложно разбираться в пакете.
t3ns0r вне форума   Ответить с цитированием
Старый 07.08.2009, 00:48   #2
DomiNick
Студент, не
Профессионал
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Адрес: Россия-Матушка, ул.«Эльфов 80-го уровня», спросить "сáмого Эльфа"...
Сообщений: 2,067
Репутация: 440
По умолчанию

А может просто Windows.AlphaBlend() и BitBlt() использовать?
__________________
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума   Ответить с цитированием
Старый 07.08.2009, 11:42   #3
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
Репутация: 10
По умолчанию

А AlphaBlend быстрее функций GDI+? К тому же тогда нужно использовать 32-битный битмапы с альфа каналом, а как преобразовать в него PNG я не знаю
t3ns0r вне форума   Ответить с цитированием
Старый 07.08.2009, 15:30   #4
JTG
я получил эту роль
Профессионал
 
Аватар для JTG
 
Регистрация: 25.05.2007
Адрес: тут темно и с потолка капает
Сообщений: 3,693
Репутация: 2224

icq: III 37373860
По умолчанию

HGE попробуй

А это так, для общего развития, может кому-то пригодится, PNG-to-BMP32

Код:
type
  TRGBQuadArray = array [WORD] of TRGBQuad;
  PRGBQuadArray = ^TRGBQuadArray;

var i, j: integer;
    Row: pRGBQuadArray;
    PNGAlpha: pByteArray;

begin
    //copy PNG to BMP (no alpha)
    FWorkBMP.Canvas.CopyRect(<SOURCE_RECT>, FWorkPNG.Canvas, <DEST_RECT>);

    //copy alpha-channel from PNG to BMP
    for i := 0 to FWorkBMP.Height - 1 do
    begin
      Row := FWorkBMP.Scanline[i];
      PNGAlpha := FWorkPNG.AlphaScanline[i];
      for j := 0 to FWorkBMP.Width - 1 do
        begin
          Row[j].rgbReserved :=  PNGAlpha[j];
          Row[j].rgbBlue := Row[j].rgbBlue  * Row[j].rgbReserved div 255;
          Row[j].rgbGreen := Row[j].rgbGreen * Row[j].rgbReserved div 255;
          Row[j].rgbRed := Row[j].rgbRed  * Row[j].rgbReserved div 255;
        end;
    end;
end;
FWorkBMP - TBitmap, FWorkPNG - TPNGObject (из модуля pngimage)
__________________
пыщь
JTG вне форума   Ответить с цитированием
Старый 08.08.2009, 12:08   #5
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
Репутация: 10
По умолчанию

За совет на счёт HGE спасибо, похоже, движок очень мощный, буду использовать его
t3ns0r вне форума   Ответить с цитированием
Старый 09.08.2009, 06:38   #6
VintProg
not
Профессионал
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Адрес: В сети
Сообщений: 1,398
Репутация: 144

icq: 646-858-802
По умолчанию

HGE я пытался ставить HGE на Delphi и фик, касяченые модули.
__________________
GTA моды
VintProg вне форума   Ответить с цитированием
Старый 09.08.2009, 18:09   #7
JTG
я получил эту роль
Профессионал
 
Аватар для JTG
 
Регистрация: 25.05.2007
Адрес: тут темно и с потолка капает
Сообщений: 3,693
Репутация: 2224

icq: III 37373860
По умолчанию

Угу, HGEdelphi - неофициальный порт, на плюсах всё нормально
__________________
пыщь
JTG вне форума   Ответить с цитированием
Старый 10.08.2009, 21:59   #8
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
Репутация: 10
По умолчанию

На С++ прекрасно пашет, есть пара недочётов, но в целом хорошо
t3ns0r вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРоблемы с графикой DJEDY Общие вопросы C/C++ 1 19.04.2009 23:46
Проблемы с графикой ReM Общие вопросы C/C++ 1 25.03.2009 23:52
ПРоблемы с графикой HELP!!! ANARHIST Помощь студентам 2 03.07.2008 09:04
проблемы с графикой joker Win Api 9 01.12.2007 19:32
Проблемы с графикой в Delphi, Индексирование цвета zzz(KOT)zzz Общие вопросы Delphi 8 20.06.2007 20:57


21:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.