| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > отрисовка 2D графики |
| Автор: chipset 4.11.2004, 14:46 |
| GDI: Плюсы: 1. Поддержка виндовс, не возникнет проблем несовместимости. 2. Направленность на 2D. Минусы: 1. Офигенная тормознутость. 2. Отсутствие поддержки 3D 3. Нема кроссплатформенности GDI+ Плюсы: 1.Поддержка большого кол-ва граф. форматов Минусы: 1.Необходимо таскать DLL. 2. Те же что у GDI DirectDraw Плюсы: 1. Быстрота 2. Если что можно вызвать Direct3D. 3. Поддержка Microsoft 4. Если что можно перенестись на .NET c managed DirectX Минусы: 1. Нема кроссплатформенности 2. Отсутствует опыт в нём. OpenGL Плюсы: 1. Быстрота 2. Встроенная поддержка 3D 3. Как бы кроссплатформенность граф. движка Минусы 1. Отсуствие шейдеров (а на кой они мне? 2. Возможно не потребующаяся лишняя трёх-мерность. 3. Сложнее уйти на .NET 4. ? Java(AWT,Swing, etc.. Плюсы: 1. Кроссплатформенность, это очень полезно поскольку мою прогу можно будет безгемморойно запустить на Mac OS. Минусы: 1. Полное отсутствие любого опыта (Java форумы, держитесь!) 2. Нету минусов из-за первого пункта... Пока лидером намечается DirectDraw. Очень жду комментариев, новых вариантов и плюсов/минусов в текущие Благодарю за внимание. ЗЫ. Очень сильный аргумент "%s sux, %s rullezzzzzzzz!!!" не принимается по причине своей неотразимой силы. |
| Автор: Elfet 5.11.2004, 12:57 |
| OpenGL chipset, а АктивХ ? |
| Автор: chipset 6.11.2004, 17:28 | ||
ActiveX - технология отрисовки 2D графики? |
| Автор: chipset 7.11.2004, 04:34 |
| Да по всей видимости буду использовать DirectDraw, спасибо всем за комментарии.. |
| Автор: Elfet 7.11.2004, 17:27 | ||
ой, ошибся |
| Автор: S.A.P. 8.11.2004, 02:04 | ||
Это все зависит от того, что ты собираешся делать. Если тебе надо всего лишь, например построить какой - нибудь график функции, на плоскости, то не стоит париться и юзать OpenGL Во- первых в любом случае (если конечно проект серьезный) ты так или иначе будешь использовать библиотеки DirectX. Как минимум Direct Input, а то и Direct Sound (что уж там мелочиться |
| Автор: chipset 10.11.2004, 16:56 | ||
| Perchilla в граф. редакторе DirectInput'a и DirectSound'a не будет.
Векторная графика? Боюсь GDI будет зверски тормозить... На линух врядли а вот на Macintosh'и кто знает.. |
| Автор: S.A.P. 10.11.2004, 17:15 |
| chipset ты бы хоть сразу сказал, что ты графический редактор пишешь, а то из твоего поста ничего не ясно. Яж думал, что вопрос звучит типа: "какия из технологий отрисовки 2D графики лучше?". Вот и выставили полным идиотом Ладно проехали. Поскольку я не совсем понимаю навороченности будущего графического редактора и совсем не знаю, что такое GDI+, то единственное, что могу посоветовать - DitectDraw. |
| Автор: Mad 10.11.2004, 17:19 |
| chipset Эсли речь идет о векторной графике, то DirectDraw тебе не поможет (он о такой просто не знает Кстати, такие проекты как Photoshop, Corel вполне обходятся GDI (да на слабых тачках иногда видны промежуточные перерисовки, но это мелочь) Если говорить о кроссплатформенности, то тут тока OGL (ставиш орто проекцию и у перед |
| Автор: chipset 11.11.2004, 01:31 | ||||||||
Понимаю но всё ж GDI отрисовывает медленее графику.
Извини Правда в заголовке темы "отрисовка 2D графики, граф. редакторе". Добавлено @ 01:35
Или Java+ихние_либы если пойти на компромисс с скоростью. Получается GDI вообще вылетает из игры: 1. Если жертвовать переносимостью остается DirectDraw 2. За те же "деньги" можно получить кроссплатформенность используя Java.
Вот поэтому я и затеял голосование собссна... Добавлено @ 01:35 Типа не пойму преимуществ GDI, зачем его использовать гигантам... |
| Автор: manu 11.11.2004, 01:56 |
| Имхо -- нужно самому рисовать на растре а потом передавать на скрин с помощью чего угодно. Иначе просто несерьезно получается... |
| Автор: Mad 11.11.2004, 12:42 |
| chipset и не мешалобы уточнить, о какой графике мы говорим растровой или векторной |
| Автор: chipset 11.11.2004, 15:08 | ||||
Туплю я, туплю.. Наверное сделаем так:
растр передается в виде текстуры DirectDraw а он уже и накладывает текстурку куда нибудь. Тогда существует возможность добавления эдакой небольшой 3D-мерности.. Добавлено @ 15:09 Суть в том что GDI будет тормозить при выводе этого растра. |
| Автор: Mad 11.11.2004, 15:24 | ||||||
Я еще вижу смысл давать выбор ползователю как работать (с векторами или с растром), но довать ему выбор как хранить внутренние данные это ...
В DirectDraw нема текстур На текстуры, между прочим, накладываються определенные ограничения (по размерам). В зависимосьти от выбранного метода хранения и следует выбирать API растр - GDI или анологичные крос-платформенные либы (кстати если ты оптимизированно подготовиш ВЕСЬ растр в памяти, то тормознотасть GDI сказываться не бедет так как будет тока один вызов GDI BitBlt на фрэйм) вектор - OGL
Потому что, выбери они тотже DirectDraw, и получилибы зависимость от комлектности операционки (а именно версий ентого самого DirectX. хоть мелкософтовцы и орут, что версии совместимы, на самом деле это не совсем так. |
| Автор: chipset 11.12.2004, 01:25 | ||
Спасибо за совет. Наверное так и буду делать... Разнесу граф. либу и интерфейс по разным модулям, и буду делать вызовы к ней. Я уже и название придумал |
| Автор: [WoPR]@!!ex 10.1.2005, 08:04 |
| Если не хош особо заморачитваться, используй GDI. при правильном подходе никто не заметит его тормознутости. Сразу забудь о DX и OGL. У DX'а большие проблемы с совместимостью, а OGL - заточен под 3Д. Уточни задачу, тогда можно будет точно все описать. Я на написании редакторов собаку съел,... две. ;) |
| Автор: chipset 10.1.2005, 14:16 | ||||
http://gzip.rsdn.ru/forum/Message.aspx?mid=962451&only=1 Это к GDI+. Насчёт же GDI, я боюсь там не хватит возможностей.
Простой, двух-мерный (правда с небольшими 3Д фичами) векторный+растровый редактор. Больше ориентирован на обработку (выделения, оптимизации, и т.д.) чем на создание (кисти, и т.д..). |
| Автор: Guest 10.1.2005, 20:44 |
| Раз будет 3Д, значит юзай OGL, с DX в 3Д я не работал, поэтому сказать ничего не могу. Но растры в OGL выводятся довольно тормознуто... Не мог бы мне на мыл([email protected]) или на ICQ(228305662) кинуть подробное описание того, для чего нужен твой редактор и как он предполагается будет работать? А то какой-то бестолковый разговор получается. |
| Автор: zhgutov 5.2.2005, 01:48 |
| А как вы смотрите на отрисовку верторной графики в OpenGL? Быстро? Удобно? |
| Автор: chipset 5.2.2005, 02:05 |
| zhgutov, как решено на текущий момент изображение будет проецироваться на полигон в виде массива пикселей и выводиться посредством OpenGL. |
| Автор: Cheba 5.2.2005, 03:26 |
| http://www.opengl.org/documentation/opengl_current_version.html... |
| Автор: chipset 5.2.2005, 05:17 |
| Cheba и причем тут это? |
| Автор: Cheba 5.2.2005, 13:55 |
| Ты там что-то прошейдеры говорил... |
| Автор: chipset 5.2.2005, 17:07 | ||
Хм, использовать 3D фичи для ускорения 2D графики.... Интересно. |
| Автор: zhgutov 7.2.2005, 13:48 |
| А будет ли этот механизм работать быстрее в случае, если требуется «нарисовать» много-много коротких линий, чем с помощью GDI? |
| Автор: chipset 2.3.2005, 17:13 | ||
Какой? Пока решили использовать собственные библиотеки рисования и выводить пикселы на OpenGL'ную плоскость. |