Что лучше для двухмерной графики?
От: Green Chest Россия  
Дата: 06.10.08 12:26
Оценка:
Здравствуйте!

Обдумываю проект простенькой игры. Предпологается среда разработки — VS, язык Visual C++.
Предпологается полноэкранный режим работы, поддерживающий различные разрешения и форматы экранов (должно легко масштабироваться).
Вся графика двухмерная, спрайтовая. Т.е. просто есть набор маленьких картинок, из них мы формируем одну на весь экран. Но таких слоёв будет много (одна картинка сформированная из спрайтов, потом местами с прозрачностью накладываются ещё спрайты, поверх ещё и потом ещё).
Никогда не работал с графикой (выводил на экран картинку с помощью DirectDraw и рисовал на Canvas у визуальных компонентов в Delphi).
Подскажите что вообще использовать для работы с графикой: для вывода сформированных из спрайтов изображений на экран и для формирования самих картинок из спрайтов?

Что я думаю по этому сам:
Для вывода графики:
Почитал я про OpenGL, так как я понял (возможно плохо читал, ткните хорошими ссылками) он используется исключительно для 3d графики и его использование для двухмерной будет извращением (какие-то страшные вещи с расположением объектов в пространстве, с освещением — мне этого всего не нужно), но бибилиотеки эти есть и под win и под *nix, это плюс.
DirectDraw — я так понял это виндовский механизм для быстрой работы с видеопамятью, я неможко с ним поковырялся, сделал что-то типа слайд-шоу, но так толком и не понял как с его использованием можно делать нечто серьёзное (читал на firststeps.ru, перед этим вообще что это такое где-то ещё читал (куда поисковик показал)).
Что ещё можно использовать? Как работаете с графикой вы?
Для подготовки картинок из спрайтов:
В винде с GDI... очень медленно... Но как иначе? У меня есть bmp-шки допустим размерами 16х16 точек, а мне из нужно быстро собирать картинки 1200х1024, да ещё и с масштабированием, накладывать одни на другие с прозрачным цветом и вообще с прозрачностью (просвечивающие)...
Подскажите пожалуйста, как это по-людски делается?

Вся работа с графикой у меня сводиться к следующему:
из маленьких bmp-шек собираю картинки (сразу масштабирую или потом, когда уже собрал),
накладываю их одну на другую с разными настройками "прозрачного" (которого не будет вообще) цвета и с общей прозрачночтью (всех цветов, чтобы под верхней картинкой просвечивала нижняя),
рисую это всё на экране.

Буду рад советам, ссылкам, рекомендациям и пинкам, направляющим на верный путь — как сделать чтобы это было красиво для глаз пользователя в конечном итоге и чтобы работало быстро (не супер быстро, но не как с GDI).

Большое спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.