Форум: "Media";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Вниз2D вечен? Найти похожие ветки
← →
NewOldMan-NOM (2004-05-02 11:05) [0]Более чем уверен, что подобный вопрос уже был, но поиск ничего не дал(нужного) ;)Ладно, ближе к делу. Раньше я программировал на PASCALE, теперь перешел на визуальную среду. Вопрос как пичать 2 d игрушки?(Я имею ввиду визуальную часть, как все это выводить? Купил книгу :-) а там написано про рисование на канве, но все так убого получается, мерцание и т.д. и т.п.). Ну так что будем делать. Help!
← →
Pa5ha (2004-05-02 11:08) [1]Есть такая замечательная вещь - DirectDraw. Еще можно на OpenGL - только он больше для 3д (читай, для 3д и сделан). Есть книги про это у Краснова DirectX (OpenGL) Графика в проектах Delphi. Почитай. А гамы лучше делать 3д, это намного интереснее. Забей на 2д.
← →
Mihey © (2004-05-02 19:10) [2]>Есть такая замечательная вещь - DirectDraw.
замечательная = отстойная, причём именно в той области, на которую она и расчитана.
← →
VMcL © (2004-05-02 19:11) [3]>>NewOldMan-NOM (02.05.04 11:05)
Если использовать технику двойной буферизации, то и для WinAPI функций рисования на канве можно добиться исчезновения/уменьшения мерцания. Пример реализации можно посмотреть в VCL (TWinControl.DoubleBuffered).
← →
miek © (2004-05-02 20:55) [4]Для флейма есть конференция "Потрепаться".
← →
GlavBOTan © (2004-05-02 21:00) [5]Насчет двойной буферизации: сначала рисуем все на Bitmape (например, buf: TBitmap), хранящемся в памяти, после чего выводить на форму с помощью CopyRect. Все получается лучшим образом даже на слабых машинах.
← →
Gero © (2004-05-02 21:38) [6]
Mihey © (02.05.04 19:10)
> замечательная = отстойная, причём именно в той области,
> на которую она и расчитана
Можешь предложить что-то лучше?
← →
Mihey © (2004-05-02 23:27) [7]2 Gero:
Да, могу. Любая обёртка 3D для работы с 2D справляется лучше и гораздо продуманнее, чем великий и ужасный механизм блиттинга на соплях, в неудобнейшей реализации, с кучей глюков и даже без простой поддержки блендинга. Извините, но это издевательство.
← →
miek © (2004-05-03 10:15) [8]>ужасный механизм блиттинга
Ну так что ж ты хотел, это самый нижний уровень. Это как ассемблер с ЯВУ сравнивать - фу, какой примитивизм! Все в сравнении познается. Что есть лучше DirectDraw? Предъяви.
← →
Mihey © (2004-05-03 19:35) [9]>Ну так что ж ты хотел, это самый нижний уровень.
Не самый нижний. Кроме того, DirectDraw претендует на роль графической панацеи. Дело в том, что те аппаратные ускорения, которые могли бы быть, совсем не реализованы.
>Что есть лучше DirectDraw? Предъяви.
Direct3d для рисования в 2d лучше. OpenGL со своими текстурками лучше.
← →
miek © (2004-05-03 23:57) [10]>Не самый нижний.
Реально - без кшмарного гемора - самый нижний.
>Кроме того, DirectDraw претендует на роль графической панацеи
Не то, чтобы он претендовал. Делаешь вокруг негообертку - вот и будет панацея. К тому же, от него, как ты помнишь, уже отказались насовсем.
>Direct3d для рисования в 2d лучше
Субъективное мнение. А про ОпенГЛ лучше и не говори - смешно.
← →
Mihey © (2004-05-04 00:37) [11]>Субъективное мнение. А про ОпенГЛ лучше и не говори - смешно.
А я и не смешу. Обёртка, естественно, в обёртке. Обёртка под Direct3d просто быстрее, чем обёртка под DirectDraw, потому что в первом случае все навороченные фичи поддерживаются ускорителем. OpenGL крут и жив, часто вижу в нете, что программерские комманды отказываются от Direct3d в пользу него (для проектов стратегических не3d игр), было 2-3 случая таких.
← →
VMcL © (2004-05-04 02:48) [12]>>Mihey © (02.05.04 23:27) [7]
>Любая обёртка 3D для работы с 2D справляется лучше и гораздо продуманнее...
1. Запусти "обертку 3D" на видеокарте, не поддерживающей 3D акселерацию, и сравни с "великий и ужасный механизм блиттинга на соплях".
2. Запусти 3D движок БЕЗ двойной (а то и тройной) буферизации и посмотри, как всё будет "красиво".
← →
Думкин © (2004-05-04 13:10) [13]OpenGL - он и в Африке таков, по сути, хотя в Виндоус все одно к Директу приходит.
А 3Д - оно лучше и круче, только карточки как и сказано надо иметь соответствующие, что есть плохо. И простую 2Д игру(в кульном 3Д) вы вынуждены писать задействуя многия метры и т.п.
По сабжу:
Если у тебя такие вопросы. Пиши с использованием канвы. Поверь тебе ее потенциала еще долго хватит. Только не будем сразу Дуум3 писать. Хорошо?
← →
Sapersky © (2004-05-04 14:34) [14]Любая обёртка 3D для работы с 2D справляется лучше и гораздо продуманнее, чем великий и ужасный механизм блиттинга на соплях, в неудобнейшей реализации, с кучей глюков и даже без простой поддержки блендинга. Извините, но это издевательство.
В те времена, когда появился DDraw, как издевательство звучало предложение делать 2D через 3D. Какими словами вы обзывали бы Starcraft, если бы он требовал 3D-ускоритель? :)
Так что DDraw не плохой - просто слегка (хм :)) устаревший.
Помимо отсутствия спецэффектов, есть ещё проблема - DDraw плохо переваривает большое кол-во спрайтов (частицы и пр.), даже если рисовать самым что ни на есть аппаратным блиттингом. D3D и OGL в этом случае работают значительно лучше - они как раз рассчитаны на вывод больших объёмов данных.
Запусти "обертку 3D" на видеокарте, не поддерживающей 3D акселерацию
У D3D7 и OGL есть программная эмуляция... Опять же, даже встроенные видеокарты начиная с i810 - ускорители, хотя не шибко мощные, но для 2D должно хватить.
Хотя чисто эмоционально меня раздражает, когда какой-нибудь игродел заявляет, что ему для 2D-движка нужен GeForce. За NVidi"ю обидно - что используют их микроскопы для забивания гвоздей.
← →
Mantic0re © (2004-05-05 11:13) [15]"Страсти наколялись с каждой минутой.."
2 NewOldMan-NOM:
Я что-то подобное переживал в свое время. Пробовал стандартные средства - канва, VCL.. Но результаты, как ты и сам понимаешь были не очень, засел за изучение системы сообщений и объектов синхронизации Windows, WinAPI, DirectDraw..
И, стало все ок :)
Если говорить о простейшем 2Д движке, то для него действительно можно обойтись и без DDraw, как и сказал VMcL, можно пользовать что-то набодобии TWinControl.DoubleBuffered, я лично "говорил" системе не обрабатывать сообщение WM_ERASEBKGND, и рисовал что нужно в WM_PAINT - получалось и быстро и без мерцаний..
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.035 c